>데이터 베이스 >MySQL 튜토리얼 >Amazon RDS로 마이그레이션

Amazon RDS로 마이그레이션

DDD
DDD원래의
2024-09-18 20:06:37540검색

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'
    --호스트=
    < Cafedb-backup.sql

  • 데이터 마이그레이션 확인
    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으로 문의하세요.