AWS Database Migration Service의 사전 조건 - AWS Database Migration Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Database Migration Service의 사전 조건

이 단원에서는 소스 및 대상 데이터베이스 설정과 같은 AWS DMS 관련 사전 조건 작업에 대해 알아볼 수 있습니다. 이러한 작업의 일부로 Amazon VPC 서비스 기반의 Virtual Private Cloud(VPC)를 설정하여 리소스를 포함시킵니다. 또한 소스 데이터베이스를 채우고 대상 데이터베이스에서 복제를 확인하는 데 사용할 Amazon EC2 인스턴스를 설정합니다.

참고

소스 데이터베이스를 채우는 데 최대 45분이 걸립니다.

이 자습서에서는 MariaDB 데이터베이스를 소스로 생성하고 PostgreSQL 데이터베이스를 대상으로 생성합니다. 이 시나리오에서는 일반적으로 사용되는 저렴한 데이터베이스 엔진을 사용하여 복제를 시연합니다. 다양한 데이터베이스 엔진을 사용하면 이기종 플랫폼 간에 데이터를 마이그레이션하는 AWS DMS 기능을 시연할 수 있습니다.

이 자습서의 리소스에서는 미국 서부(오레곤) 리전을 사용합니다. 다른 AWS 리전을 사용하려면 미국 서부(오레곤)가 나타나는 위치에 대신 선택한 리전을 지정합니다.

참고

단순성을 위해 이 자습서에서 생성하는 데이터베이스는 암호화 또는 기타 고급 보안 기능을 사용하지 않습니다. 프로덕션 데이터베이스를 안전하게 보호하려면 보안 기능을 사용해야 합니다. 자세한 내용은 Amazon EC2의 보안을 참조하세요.

사전 조건 단계는 다음 항목을 참조하세요.

VPC 생성

이 단원에서는 AWS 리소스를 포함할 VPC를 생성합니다. AWS 리소스를 사용할 때는 VPC를 사용하는 것이 모범 사례입니다. 그러면 데이터베이스, Amazon EC2 인스턴스, 보안 그룹 등이 논리적으로 구성되고 안전하게 보호됩니다.

VPC를 자습서 리소스로 사용하면 자습서를 완료했을 때 사용한 모든 리소스도 삭제됩니다. VPC를 삭제하려면 먼저 VPC에 포함된 모든 리소스를 삭제해야 합니다.

AWS DMS에 사용할 VPC를 생성하려면
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 창에서 VPC 대시보드, 대시보드 생성을 차례로 선택합니다.

  3. VPC 생성 페이지에서 다음 옵션을 선택합니다.

    • 생성할 리소스: VPC 등

    • 이름 태그 자동 생성: 자동 생성을 선택하고 DMSVPC을 입력합니다.

    • IPv4 블록: 10.0.1.0/24

    • IPv6 CIDR 블록: IPv6 CIDR 블록 없음

    • 테넌시: 기본값

    • 가용 영역 수: 2

    • 퍼블릭 서브넷 수: 2

    • 프라이빗 서브넷 수: 2

    • NAT 게이트웨이($): 없음

    • VPC 엔드포인트: 없음

    VPC 생성을 선택합니다.

  4. 탐색 창에서 VPC를 선택합니다. DMSVPC의 VPC ID를 적어둡니다.

  5. 탐색 창에서 보안 그룹을 선택합니다.

  6. DMSVPC에 대해 적어둔 ID와 일치하는 VPC ID를 가진 default라는 그룹을 선택합니다.

  7. 인바운드 규칙 탭을 선택하고 인바운드 규칙 편집을 선택합니다.

  8. 규칙 추가를 선택합니다. MySQL/Aurora 유형의 규칙을 추가하고 소스Anywhere-IPv4를 선택합니다.

  9. 규칙 추가를 다시 선택합니다. PostgreSQL 유형의 규칙을 추가하고 소스Anywhere-IPv4를 선택합니다.

  10. 규칙 저장을 선택합니다.

Amazon RDS 파라미터 그룹 생성

AWS DMS용 소스 및 대상 데이터베이스의 설정을 지정하려면 Amazon RDS 파라미터 그룹을 사용합니다. 데이터베이스 간 초기 복제와 지속적 복제를 허용하려면 다음을 구성해야 합니다.

  • AWS DMS가 복제해야 할 증분 업데이트를 결정할 수 있도록 소스 데이터베이스의 이진 로그.

  • AWS DMS가 초기 데이터 전송 시 외래 키 제약 조건을 무시하도록 대상 데이터베이스의 복제 역할. 이 설정을 사용하면 AWS DMS가 데이터를 순서에 맞지 않게 마이그레이션할 수 있습니다.

AWS DMS에서 사용할 파라미터 그룹을 생성하려면
  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 파라미터 그룹을 선택합니다.

  3. 파라미터 그룹 페이지에서 파라미터 그룹 생성을 선택합니다.

  4. 파라미터 그룹 생성페이지에서 다음 설정을 입력합니다.

    • 파라미터 그룹 패밀리: mariadb10.6

    • 그룹 이름: dms-mariadb-parameters

    • 설명: Group for specifying binary log settings for replication

    생성을 선택하세요.

  5. 매개변수 그룹 페이지에서 dms-mariadb-parameters을 선택하고 dms-mariadb-parameters페이지에서 편집을 선택합니다.

  6. 다음 파라미터를 다음 값 중 하나로 설정합니다.

    • binlog_checksum: 없음

    • binlog_format:

    변경 사항 저장을 선택합니다.

  7. 파라미터 그룹 페이지에서 파라미터 그룹 생성을 다시 선택합니다.

  8. 파라미터 그룹 생성페이지에서 다음 설정을 입력합니다.

    • 파라미터 그룹 패밀리: postgres13

    • 그룹 이름: dms-postgresql-parameters

    • 설명: Group for specifying role setting for replication

    생성을 선택하세요.

  9. 파라미터 그룹 페이지에서 원하는 항목을 선택합니다 dms-postgresql-parameters.

  10. dms-postgresql-parameters페이지에서 편집을 선택하고 session_replication_role 매개변수를 복제본으로 설정합니다. 참고로, session_replication_role 파라미터는 파라미터의 첫 페이지에 없습니다. 페이지 매김 컨트롤 또는 검색 필드를 사용하여 이 파라미터를 찾으세요.

  11. 변경 사항 저장을 선택합니다.

소스 Amazon RDS 데이터베이스 생성

다음 절차에 따라 소스 Amazon RDS 데이터베이스를 생성합니다.

소스 Amazon RDS for MariaDB 데이터베이스를 생성하려면
  1. https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 대시보드 페이지의 데이터베이스 섹션에서 데이터베이스 생성을 선택합니다. 페이지 상단의 새로운 MySQL 및 PostgreSQL용 Amazon RDS 다중 AZ 배포 옵션 사용해 보기 섹션에서 데이터베이스 생성을 선택하지 마세요.

  3. 데이터베이스 생성 페이지에서 다음 옵션을 선택합니다.

    • 데이터베이스 생성 방법 선택: 표준 생성을 선택합니다.

    • 엔진 옵션: 엔진 유형에서 MariaDB를 선택합니다. 버전의에서 MariaDB 10.6.14를 선택한 상태로 둡니다.

    • 템플릿: 개발 및 테스트를 선택합니다.

    • 설정:

      • DB 인스턴스 식별자: dms-mariadb를 입력합니다.

      • 보안 인증 정보 설정 섹션에서 다음을 입력합니다.

        • 마스터 사용자 이름: admin을 그대로 둡니다.

        • AWS Secrets Manager에서 마스터 보안 인증 정보 관리를 선택하지 않은 상태로 둡니다.

        • 암호 자동 생성: 선택하지 않은 상태로 둡니다.

        • 마스터 암호: changeit을 입력합니다.

        • 암호 확인: changeit을 다시 입력합니다.

    • 인스턴스 구성:

      • DB 인스턴스 클래스: 표준 클래스가 선택된 상태로 둡니다.

      • DB 인스턴스 클래스에서 db.m5.large를 선택합니다.

    • 스토리지:

      • 스토리지 자동 조정 활성화 확인란의 선택을 취소합니다.

      • 나머지 설정은 그대로 둡니다.

    • 가용성 및 내구성: 대기 인스턴스를 생성하지 않음을 선택한 상태로 둡니다.

    • 연결:

      • 컴퓨팅 리소스 EC2 컴퓨팅 리소스에 연결하지 않음을 그대로 둡니다.

      • 네트워크 유형: IPv4를 선택한 상태로 둡니다.

      • Virtual Private Cloud: DMSVPC-vpc

      • 퍼블릭 액세스: AWS Schema Conversion Tool를 사용하려면 퍼블릭 액세스를 활성화해야 합니다.

      • 가용 영역: us-west-2a

      • 나머지 설정은 그대로 둡니다.

    • 데이터베이스 인증: 암호 인증을 선택한 상태로 둡니다.

    • 모니터링에서 Performance Insights 켜기 확인란의 선택을 취소합니다. 추가 구성 섹션을 확장하고 향상된 모니터링 활성화 확인란의 선택을 취소합니다.

    • 추가 구성을 확장합니다.

      • 데이터베이스 옵션에서 초기 데이터베이스 이름에 dms_sample을 입력합니다.

      • DB 파라미터 그룹에서 선택합니다. dms-mariadb-parameters

      • 옵션 그룹에서 default:mariadb-10-6을 선택한 상태로 둡니다.

      • 백업에서 다음을 수행합니다.

        • 자동 백업 활성화를 선택한 상태로 둡니다. 지속적 복제를 지원하려면 소스 데이터베이스에 자동 백업이 활성화되어 있어야 합니다.

        • 백업 보존 기간으로 1일을 선택합니다.

        • 백업 기간에서 기본 설정 없음을 선택된 상태로 둡니다.

        • 스냅샷에 태그 복사 확인란의 선택을 취소합니다.

        • 다른 AWS 리전에서 복제 활성화를 선택하지 않은 상태로 둡니다.

      • 암호화에서 암호화 활성화 확인란의 선택을 취소합니다.

      • 로그 내보내기 섹션은 그대로 둡니다.

      • 유지 관리에서 자동 마이너 버전 업그레이드 활성화 확인란의 선택을 취소하고 유지 관리 기간 설정을 기본 설정 없음으로 유지합니다.

      • 삭제 방지 활성화를 선택하지 않은 상태로 둡니다.

  4. 데이터베이스 생성를 선택합니다.

대상 Amazon RDS 데이터베이스 생성

이전 절차를 반복하되 다음과 같이 변경하여 대상 Amazon RDS 데이터베이스를 생성합니다.

대상 RDS for PostgreSQL 데이터베이스를 생성하려면
  1. 이전 절차의 1 및 2단계를 반복합니다.

  2. 데이터베이스 생성 페이지에서 다음을 제외하고 동일한 옵션을 설정합니다.

    1. 엔진 옵션에서 PostgreSQL을 선택합니다.

    2. 버전에서 PostgreSQL 13.7-R1을 선택합니다.

    3. DB 인스턴스 식별자dms-postgresql을 입력합니다.

    4. 마스터 사용자 이름postgres을 선택된 상태로 둡니다.

    5. DB 파라미터 그룹의 경우 선택합니다 dms-postgresql-parameters.

    6. 자동 백업 활성화 확인란의 선택을 취소합니다.

  3. 데이터베이스 생성을 선택합니다.

Amazon EC2 클라이언트 생성

이 단원에서는 Amazon EC2 클라이언트를 생성합니다. 이 클라이언트를 사용하여 복제할 데이터로 소스 데이터베이스를 채웁니다. 또한 이 클라이언트를 사용하여 대상 데이터베이스에서 쿼리를 실행하여 복제를 확인할 수 있습니다.

Amazon EC2 클라이언트를 사용하여 데이터베이스에 액세스하면 인터넷을 통해 데이터베이스에 액세스하는 것에 비해 다음과 같은 이점이 있습니다.

  • 데이터베이스에 대한 액세스를 동일한 VPC에 있는 클라이언트로만 제한할 수 있습니다.

  • 이 자습서에서 사용하는 도구는 Amazon Linux 2023에서 작동하고 설치하기도 쉽다는 것을 확인했으므로 이 자습서에서는 이 도구를 권장합니다.

  • VPC의 구성 요소 간 데이터 작업은 일반적으로 인터넷을 통한 작업보다 성능이 좋습니다.

Amazon EC2 클라이언트를 생성 및 구성하여 소스 데이터베이스를 채우려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 대시보드에서 인스턴스 시작을 선택합니다.

  3. 인스턴스 시작 페이지에서 다음 값을 입력합니다.

    1. 이름 및 태그 섹션에서 이름DMSClient를 입력합니다.

    2. 애플리케이션 및 OS 이미지(Amazon Machine Image) 섹션에서 설정을 그대로 유지합니다.

    3. 인스턴스 유형 섹션에서 t2.xlarge를 선택합니다.

    4. 키 페어(로그인) 섹션에서 새 키 페어 생성을 선택합니다.

    5. 키 페어 생성 페이지에서 다음을 입력합니다.

      • Key pair name: DMSKeyPair

      • 키 페어 유형: RSA를 그대로 둡니다.

      • 프라이빗 키 파일 형식: macOS 또는 Linux의 OpenSSH에는 pem을 선택하고, Windows의 PuTTY에는 ppk를 선택합니다.

      메시지가 표시되면 키 파일을 저장합니다.

      참고

      새 키 페어를 생성하는 대신 기존 Amazon EC2 키 페어를 사용할 수도 있습니다.

    6. 네트워크 설정 섹션에서 편집을 선택합니다. 다음 설정을 선택합니다.

      • VPC - 필수: DMSVPC-vpc VPC에 대해 적어둔 ID가 있는 VPC를 선택합니다.

      • 서브넷에서 첫 번째 퍼블릭 서브넷을 선택합니다.

      • 퍼블릭 IP 자동 할당: 활성화를 선택합니다.

      나머지 설정은 그대로 두고 인스턴스 시작을 선택합니다.

소스 데이터베이스 채우기

이 단원에서는 나중에 사용할 소스 및 대상 데이터베이스의 엔드포인트를 찾고 다음 도구를 사용하여 소스 데이터베이스를 채웁니다.

  • Git - 소스 데이터베이스를 채우는 스크립트를 다운로드합니다.

  • MariaDB 클라이언트 - 이 스크립트를 실행합니다.

엔드포인트 가져오기

나중에 사용할 수 있도록 MariaDB용 RDS와 PostgreSQL DB 인스턴스용 RDS의 엔드포인트를 찾아 기록해 둡니다.

DB 인스턴스 엔드포인트를 찾으려면
  1. https://console.aws.amazon.com/rds/에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택합니다.

  3. dms-mariadb 데이터베이스를 선택하고 데이터베이스의 엔드포인트 값을 적어둡니다.

  4. dms-postgresql 데이터베이스에 대해 이전 단계를 반복합니다.

소스 데이터베이스 채우기

다음으로 클라이언트 인스턴스에 연결하고, 필요한 소프트웨어를 설치하고, Git에서 AWS 샘플 데이터베이스 스크립트를 다운로드하고, 스크립트를 실행하여 소스 데이터베이스를 채웁니다.

소스 데이터베이스를 채우려면
  1. 이전 단계에서 저장한 호스트 이름 및 퍼블릭 키를 사용하여 클라이언트 인스턴스에 연결합니다.

    Amazon EC2 인스턴스에 연결하는 방법에 대한 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 액세스를 참조하세요.

    참고

    PuTTY를 사용하는 경우 비활성 상태로 인해 연결이 시간 초과되지 않도록 연결 설정 페이지에서 TCP keepalive를 활성화합니다.

  2. Git, MariaDB 및 PostgreSQL을 설치합니다. 필요에 따라 설치를 확인합니다.

    $ sudo yum install git $ sudo dnf install mariadb105 $ sudo dnf install postgresql15
  3. 다음 명령을 실행하여 에서 데이터베이스 생성 스크립트를 다운로드합니다. GitHub

    git clone https://github.com/aws-samples/aws-database-migration-samples.git
  4. 디렉터리를 aws-database-migration-samples/mysql/sampledb/v1/로 변경합니다.

  5. 다음 명령을 실행합니다. 이전에 적어둔 소스 RDS 인스턴스의 엔드포인트를 제공합니다(예: dms-mariadb.cdv5fbeyiy4e.us-east-1.rds.amazonaws.com).

    mysql -h dms-mariadb.abcdefghij01.us-east-1.rds.amazonaws.com -P 3306 -u admin -p dms_sample < ~/aws-database-migration-samples/mysql/sampledb/v1/install-rds.sql
  6. 데이터베이스 생성 스크립트를 실행합니다. 이 스크립트가 스키마를 생성하고 데이터를 채우는 데 최대 45분이 걸립니다. 스크립트에 표시되는 오류 및 경고는 무시해도 됩니다.