찾다
데이터 베이스MySQL 튜토리얼Amazon RDS로 마이그레이션
Amazon RDS로 마이그레이션Sep 18, 2024 pm 08:06 PM

Migrating to Amazon RDS

Amazon RDS로 마이그레이션하는 실습에는 일반적으로 기존 온프레미스 또는 클라우드 호스팅 데이터베이스를 Amazon RDS(관계형 데이터베이스 서비스)로 전송하는 과정이 포함됩니다. 목표는 자동화된 백업, 패치, 모니터링 및 확장을 위한 AWS의 관리형 서비스를 활용하여 데이터베이스 관리에 따른 운영 부담을 줄이는 것입니다.

목표:

  • AWS CLI를 사용하여 Amazon RDS MariaDB 인스턴스를 생성합니다.
  • EC2 인스턴스의 MariaDB 데이터베이스에서 Amazon RDS MariaDB 인스턴스로 데이터를 마이그레이션합니다.
  • Amazon CloudWatch 지표를 사용하여 Amazon RDS 인스턴스를 모니터링합니다.

요약:

  • AWS CLI를 사용하여 Amazon RDS 인스턴스 생성
  • Amazon RDS 인스턴스로 애플리케이션 데이터 마이그레이션
  • Amazon RDS 인스턴스를 사용하도록 웹사이트 구성
  • Amazon RDS 데이터베이스 모니터링

애플리케이션 데이터베이스는 애플리케이션 코드와 함께 Amazon Elastic Compute Cloud(Amazon EC2) Linux, Apache, MySQL 및 PHP(LAMP) 인스턴스에서 실행됩니다. 인스턴스는 T3 소형 인스턴스 유형을 가지며 인터넷 클라이언트가 웹 사이트에 액세스할 수 있도록 퍼블릭 서브넷에서 실행됩니다. CLI 호스트 인스턴스는 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 인스턴스 관리를 용이하게 하기 위해 동일한 서브넷에 상주합니다.

AWS CLI를 사용하여 Amazon RDS 인스턴스 생성:

  • AWS CLI를 구성합니다.
  • Amazon RDS 인스턴스를 구축하는 데 필요한 다음 필수 구성 요소를 생성합니다.
  • Amazon RDS 인스턴스용 보안 그룹 방화벽
  • 프라이빗 서브넷 2개와 데이터베이스 서브넷 그룹
  • Amazon RDS MariaDB 인스턴스를 생성합니다.
  • AWS Management Console의 검색 창에 EC2를 입력하고 선택하여 EC2 Management Console을 엽니다.
  • 탐색 창에서 인스턴스를 선택합니다.
  • 인스턴스 목록에서 CLI 호스트 인스턴스를 선택하세요.
  • 연결을 선택하세요.
  • EC2 인스턴스 연결 탭에서 연결을 선택합니다.
  • 자격 증명을 사용하여 AWS CLI 프로필을 설정하려면 EC2 Instance Connect 터미널에서 다음 명령을 실행합니다. 'aws 구성'
  • 사용자의 액세스 키와 비밀 액세스 키를 입력하세요.
  • 보안 그룹 생성: RDS 인스턴스를 보호하기 위해 CafeDatabaseSG를 설정합니다.
  • 인바운드 규칙 추가: CafeSecurityGroup의 인스턴스에서 MySQL 요청(TCP 프로토콜, 포트 3306)만 허용합니다.
  • 프라이빗 서브넷 생성: 프라이빗 서브넷 2개(CafeDB 프라이빗 서브넷 1, CafeDB 프라이빗 서브넷 2)를 구축합니다.
  • 데이터베이스 서브넷 그룹 생성: RDS용 CafeDB 서브넷 그룹을 정의하여 프라이빗 서브넷과 연결합니다.
  • CafeDatabaseSG 보안 그룹 생성: 실행 명령: AWS EC2 생성 보안 그룹 --그룹 이름 CafeDatabaseSG --description "Cafe 데이터베이스용 보안 그룹" --vpc-id

출력: 나중에 사용할 수 있도록 GroupId를 기록해 두세요.

  • CafeDatabaseSG에 대한 인바운드 규칙 생성:
    실행 명령:
    aws ec2 승인-보안-그룹-수신
    --그룹 ID
    --protocol tcp --port 3306
    --소스 그룹

  • 인바운드 규칙 확인:
    실행 명령:
    aws ec2 설명-보안-그룹
    --query "SecurityGroups[*].[GroupName,GroupId,IpPermissions]"
    --filters "이름=그룹 이름,값='CafeDatabaseSG'"

  • CafeDB 프라이빗 서브넷 1 생성
    실행 명령:
    aws ec2 생성-서브넷
    --vpc-id
    --cidr-block 10.200.2.0/23
    --가용성 영역

출력: 나중에 사용할 수 있도록 SubnetId를 기록해 두세요.

  • CafeDB 프라이빗 서브넷 2 생성
    실행 명령:
    aws ec2 생성-서브넷
    --vpc-id
    --cidr-block 10.200.10.0/23
    --가용성 영역
    출력: 나중에 사용할 수 있도록 SubnetId를 기록해 둡니다.

  • DB 서브넷 그룹 생성
    실행 명령:
    aws rds 생성-db-서브넷-그룹
    --db-subnet-group-name "CafeDB 서브넷 그룹"
    --db-subnet-group-description "카페용 DB 서브넷 그룹"
    --서브넷 ID
    --tags "키=이름,값= CafeDatabaseSubnetGroup"

  • CafeDBInstance 생성

다음 명령을 실행하여 지정된 구성으로 MariaDB 인스턴스를 생성합니다.
실행 명령:
aws rds 생성-db-인스턴스
--db-인스턴스-식별자 CafeDBInstance
--engine mariadb
--엔진 버전 10.5.13
--db-instance-class db.t3.micro
--할당된 저장 공간 20
--가용성 영역
--db-subnet-group-name "CafeDB 서브넷 그룹"
--vpc-보안-그룹-id
--공개적으로 접근 가능
--master-username root --master-user-password 'Re:Start!9'

주요 설정:

  • DB 인스턴스 식별자: CafeDBInstance
  • 엔진: MariaDB (버전 10.5.13)
  • 인스턴스 클래스: db.t3.micro
  • 할당된 저장공간: 20GB
  • 보안 그룹: CafeDatabaseSG
  • 사용자 이름: 루트
  • 비밀번호: Re:Start!9
    데이터베이스 인스턴스 생성에는 최대 10분이 소요될 수 있습니다.

  • DB 인스턴스 상태 모니터링

생성 명령을 실행한 후 다음 명령을 실행하여 데이터베이스 상태를 모니터링합니다.
실행 명령:

aws rds 설명-db-인스턴스
--db-인스턴스-식별자 CafeDBInstance
--query "DBInstances[*].[Endpoint.Address,AvailabilityZone,PreferredBackupWindow,BackupRetentionPeriod,DBInstanceStatus]"

주의할 사항: 이 명령은 엔드포인트 주소, 가용 영역, 백업 기간, 보존 기간, 인스턴스 상태 등의 정보를 반환합니다.
처음에는 생성 중으로 상태가 표시되고, 수정, 백업을 거쳐 최종적으로 사용 가능으로 진행됩니다.

  • 데이터베이스 상태가 사용 가능으로 표시될 때까지 몇 분마다 상태 명령을 계속 실행합니다. 실행 명령: aws rds 설명-db-인스턴스 --db-인스턴스-식별자 CafeDBInstance --query "DBInstances[*].[DBInstanceStatus]"

Amazon RDS 인스턴스로 애플리케이션 데이터 마이그레이션:

  • EC2 인스턴스(CafeInstance)에 연결
  • 터미널에서 다음 명령을 실행하여 로컬 Cafe_db 데이터베이스의 백업을 생성하세요.
    실행 명령:
    mysqldump --user=root --password='Re:Start!9'
    --데이터베이스 카페_db --추가-드롭-데이터베이스 > Cafedb-backup.sql

  • 백업 파일 검토
    less 명령을 사용하여 백업 내용을 검토할 수 있습니다.
    실행 명령:
    적은 Cafedb-backup.sql

탐색하려면 화살표 키나 Page Up/Down을 사용하고 종료하려면 q를 사용하세요.

  • Amazon RDS 데이터베이스에 백업 복원
    다음 명령을 실행하여 백업을 RDS 인스턴스로 복원합니다. 실제 RDS 인스턴스 엔드포인트로 바꾸세요.
    명령 실행
    mysql --user=root --password='Re:Start!9'
    --호스트=

  • 데이터 마이그레이션 확인
    RDS 인스턴스에 대한 대화형 MySQL 세션을 엽니다.
    실행 명령:
    mysql --user=root --password='Re:Start!9'
    --호스트=
    카페_DB

MySQL 세션 내부에서 다음 SQL 쿼리를 실행하여 제품 테이블의 데이터를 확인하세요.
SQL
실행 명령:
제품에서 *를 선택하세요.

반환된 데이터가 원본 데이터베이스와 일치하는지 확인하세요.

  • MySQL 세션 종료 데이터를 확인한 후 다음을 입력하여 MySQL 세션을 종료합니다. 명령 실행 나가세요

참고: 향후 작업을 위해 SSH 창을 열어두세요.

Amazon RDS 인스턴스를 사용하도록 웹사이트 구성

  • AWS 시스템 관리자 열기
    AWS Management Console의 검색창에서 Systems Manager를 검색하세요.
    시스템 관리자로 이동하세요.

  • 매개변수 저장소 액세스
    왼쪽 탐색 창에서 Parameter Store를 선택합니다.

  • /cafe/dbUrl 매개변수 편집
    내 매개변수 목록에서 /cafe/dbUrl을 선택하세요.
    매개변수 값을 수정하려면 편집을 선택하세요.

  • 데이터베이스 URL 업데이트
    매개변수 세부정보 페이지에서 기존 값을 RDS 인스턴스 데이터베이스 엔드포인트 주소로 바꿉니다.
    형식은 다음과 같아야 합니다.
    실행 명령:

cafedbinstance.xxxxxxx.us-west-2.rds.amazonaws.com

변경 사항 저장을 클릭하여 매개변수를 업데이트하세요.

  • 웹사이트 테스트

새 브라우저 창을 열고 앞서 저장한 CafeInstanceURL(예: http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com)을 붙여넣습니다.
카페 홈페이지가 로딩되어야 합니다.

  • 데이터베이스 연결 확인 홈페이지의 주문내역 탭으로 이동하세요. 표시된 주문 수를 확인하세요. 마이그레이션 전 로컬 데이터베이스의 번호와 일치해야 합니다.

Amazon RDS 데이터베이스 모니터링

  • Amazon RDS 콘솔 열기
    AWS Management Console에서 RDS를 검색하세요.
    RDS 관리 콘솔로 이동하세요.

  • 데이터베이스 선택
    왼쪽 탐색 창에서 데이터베이스를 선택합니다.
    목록에서 Cafedbinstance를 선택하세요.
    이제 데이터베이스에 대한 자세한 정보를 볼 수 있습니다.

  • 모니터링 지표 보기
    모니터링 탭을 클릭하세요.
    이 탭에는 다음을 포함한 주요 측정항목이 표시됩니다.

  1. CPU 사용률
  2. 데이터베이스 연결
  3. FreeStorageSpace
  4. FreeableMemory
  5. 쓰기IOPS
  6. 읽기IOPS
  • 데이터베이스 연결 지표 모니터링
    DatabaseConnections 그래프를 찾으세요. 필요한 경우 측정항목 차트의 2~3페이지로 이동하세요.
    이 그래프는 활성 데이터베이스 연결 수를 추적합니다.

  • RDS 데이터베이스에 연결
    CafeInstance 터미널 창에서 다음 명령을 실행하여 MySQL 세션을 엽니다.
    명령 실행
    mysql --user=root --password='Re:Start!9'
    --호스트=
    카페_DB

RDS 인스턴스 엔드포인트로 교체하세요.

  • SQL 쿼리 실행 MySQL 세션 내에서 다음 SQL 쿼리를 실행하여 제품 테이블에서 데이터를 검색합니다. SQL 실행 명령: 제품에서 *를 선택하세요.

쿼리는 제품 테이블의 데이터를 반환해야 합니다.

  • 데이터베이스 연결 그래프 확인
    RDS 콘솔에서 DatabaseConnections 그래프를 클릭합니다.
    이제 대화형 SQL 세션에서 1개의 활성 연결이 표시됩니다.
    그래프가 업데이트되지 않으면 1분 정도 기다린 후 새로고침을 클릭하세요.

  • MySQL 세션 닫기
    CafeInstance 터미널 창에서 MySQL 세션을 종료합니다:

명령 실행
나가세요

  • 연결 끊기 후 연결 모니터링
    1분 동안 기다린 후 RDS 콘솔에서 DatabaseConnections 그래프를 새로 고칩니다.
    이제 연결 수가 0으로 표시됩니다.

  • 다른 측정항목 살펴보기
    모니터링 탭에서 그래프를 검토하여 CPUUtilization, FreeStorageSpace, WriteIOPS 및 ReadIOPS와 같은 추가 지표를 탐색할 수 있습니다.

위 내용은 Amazon RDS로 마이그레이션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?Mar 19, 2025 pm 03:51 PM

이 기사는 MySQL의 Alter Table 문을 사용하여 열 추가/드롭 테이블/열 변경 및 열 데이터 유형 변경을 포함하여 테이블을 수정하는 것에 대해 설명합니다.

MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까?MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까?Mar 18, 2025 pm 12:01 PM

기사는 인증서 생성 및 확인을 포함하여 MySQL에 대한 SSL/TLS 암호화 구성에 대해 설명합니다. 주요 문제는 자체 서명 인증서의 보안 영향을 사용하는 것입니다. [문자 수 : 159]

MySQL에서 큰 데이터 세트를 어떻게 처리합니까?MySQL에서 큰 데이터 세트를 어떻게 처리합니까?Mar 21, 2025 pm 12:15 PM

기사는 MySQL에서 파티셔닝, 샤딩, 인덱싱 및 쿼리 최적화를 포함하여 대규모 데이터 세트를 처리하기위한 전략에 대해 설명합니다.

인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)?인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)?Mar 21, 2025 pm 06:28 PM

기사는 MySQL Workbench 및 Phpmyadmin과 같은 인기있는 MySQL GUI 도구에 대해 논의하여 초보자 및 고급 사용자를위한 기능과 적합성을 비교합니다. [159 자].

드롭 테이블 문을 사용하여 MySQL에서 테이블을 어떻게 드롭합니까?드롭 테이블 문을 사용하여 MySQL에서 테이블을 어떻게 드롭합니까?Mar 19, 2025 pm 03:52 PM

이 기사에서는 Drop Table 문을 사용하여 MySQL에서 테이블을 떨어 뜨리는 것에 대해 설명하여 예방 조치와 위험을 강조합니다. 백업 없이는 행동이 돌이킬 수 없으며 복구 방법 및 잠재적 생산 환경 위험을 상세하게합니다.

JSON 열에서 인덱스를 어떻게 생성합니까?JSON 열에서 인덱스를 어떻게 생성합니까?Mar 21, 2025 pm 12:13 PM

이 기사에서는 PostgreSQL, MySQL 및 MongoDB와 같은 다양한 데이터베이스에서 JSON 열에서 인덱스를 작성하여 쿼리 성능을 향상시킵니다. 특정 JSON 경로를 인덱싱하는 구문 및 이점을 설명하고 지원되는 데이터베이스 시스템을 나열합니다.

외국 키를 사용하여 관계를 어떻게 표현합니까?외국 키를 사용하여 관계를 어떻게 표현합니까?Mar 19, 2025 pm 03:48 PM

기사는 외국 열쇠를 사용하여 데이터베이스의 관계를 나타내고 모범 사례, 데이터 무결성 및 피할 수있는 일반적인 함정에 중점을 둡니다.

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까?일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까?Mar 18, 2025 pm 12:00 PM

기사는 준비된 명령문, 입력 검증 및 강력한 암호 정책을 사용하여 SQL 주입 및 무차별 적 공격에 대한 MySQL 보안에 대해 논의합니다 (159 자)

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기