Amazon Aurora
Aurora 사용 설명서 (API 버전 2014-10-31)

외부 MySQL 데이터베이스의 데이터를 Amazon Aurora MySQL DB 클러스터로 마이그레이션

InnoDB 또는 MyISAM 테이블스페이스를 지원하는 데이터베이스인 경우 다음과 같은 옵션으로 데이터를 Amazon Aurora MySQL DB 클러스터로 마이그레이션할 수 있습니다.

Amazon S3 버킷을 사용하여 MySQL에서 데이터 마이그레이션

소스 MySQL 버전 5.5, 5.6 또는 5.7 데이터베이스에서 Amazon S3 버킷으로 전체 및 증분 백업 파일을 복사한 다음, 이 파일에서 Amazon Aurora MySQL DB 클러스터를 복원할 수 있습니다.

mysqldump를 사용하여 데이터를 마이그레이션하는 것보다 이 옵션이 훨씬 더 빠를 것입니다. mysqldump를 사용하면 명령을 모두 다시 실행하여 소스 데이터베이스의 데이터와 스키마를 새 Aurora MySQL DB 클러스터에 다시 만들기 때문입니다. Aurora MySQL에서는 원본 MySQL 데이터 파일을 복사하는 즉시 해당 파일을 Aurora MySQL DB 클러스터의 데이터로 사용할 수 있습니다.

참고

Amazon S3 버킷과 Amazon Aurora MySQL DB 클러스터는 같은 AWS 리전에 있어야 합니다.

Aurora MySQL이 데이터베이스에서 모든 것을 복원하는 것은 아닙니다. 소스 MySQL 데이터베이스에서 다음 항목의 데이터베이스 스키마와 값을 저장한 다음, 복원한 DB 클러스터가 생성되면 여기에 추가해야 합니다

  • 사용자 계정

  • 함수

  • 저장 프로시저

  • 시간대 정보. 시간대 정보는 Amazon Aurora MySQL DB 클러스터의 로컬 운영 체제에서 로드됩니다. 자세한 내용은 Amazon AuroraDB 클러스터의 로컬 시간대 단원을 참조하십시오.

마이그레이션 프로세스 동안 데이터를 암호화하지 않은 상태로 남겨 두거나, 마이그레이션할 데이터를 암호화할 수 있습니다.

또 마이그레이션 프로세스 동안 이진수 로그 복제를 사용, 가동 중지를 최소화할지 여부를 결정합니다. 이진수 로그 복제를 사용하면, 외부 MySQL 데이터베이스는 데이터가 Aurora MySQL DB 클러스터로 마이그레이션 되는 동안 트랜젝션에 개방된 상태를 유지합니다. Aurora MySQL DB 클러스터를 생성한 후, 이진수 로그 복제를 사용하여 Aurora MySQL DB 클러스터와 백업 이후 발생한 트랜젝션을 동기화합니다. Aurora MySQL DB 클러스터가 MySQL 데이터베이스를 따라 잡았을 때, 새 트랜젝션에 대한 Aurora MySQL DB 클러스터로 완전히 전환해 마이그레이션을 완료합니다.

시작하기 전에

데이터를 Amazon S3 버킷으로 복사하고 해당 파일로 DB 클러스터를 복원하려면 먼저 다음과 같이 해야 합니다.

  • 로컬 서버에 Percona XtraBackup을 설치합니다.

  • Aurora MySQL이 Amazon S3 버킷에 대신 액세스하도록 허용합니다.

Percona XtraBackup 설치

Amazon Aurora는 Percona XtraBackup을 사용하여 만든 파일로 DB 클러스터를 복원할 수 있습니다. Percona XtraBackup은 Download Percona XtraBackup에서 설치할 수 있습니다.

참고

MySQL 5.7 마이그레이션을 위해서는 Percona XtraBackup 2.4를 사용해야 합니다. 그 이전에 출시된 MySQL 버전인 경우 Percona XtraBackup 2.3 또는 2.4를 사용하십시오.

필요한 권한

MySQL 데이터를 Amazon Aurora MySQL DB 클러스터로 마이그레이션하려면 몇 가지 권한이 필요합니다.

  • Amazon RDS에서 Amazon S3 버킷으로 새 클러스터를 생성하도록 요청하는 사용자는 AWS 계정의 버킷을 나열할 권한이 있어야 합니다. AWS Identity and Access Management(IAM) 정책을 사용하여 사용자에게 이 권한을 부여합니다.

  • Amazon RDS는 Amazon Aurora MySQL DB 클러스터를 생성하기 위해 사용된 파일을 저장하는 Amazon S3 버킷에 대신 액세스할 수 있는 권한을 요구합니다. IAM 서비스 역할을 사용하여 Amazon RDS에 필요한 권한을 부여합니다.

  • 요청한 사용자에게는 AWS 계정의 IAM 역할을 나열할 권한도 있어야 합니다.

  • 요청한 사용자가 IAM 서비스 역할을 만들거나 Amazon RDS에 IAM 서비스 역할 생성(콘솔 사용)을 요청하기 위해서는 AWS 계정의 IAM 역할을 만들 권한이 그 사용자에게 있어야 합니다.

  • 마이그레이션 프로세스 동안 데이터를 암호화할 계획이면, 마이그레이션을 수행할 사용자에 대한 IAM 정책을 업데이트, 백업 암호화에 사용하는 KMS 키에 대한 RDS 액세스 권한을 부여합니다. 지침은 AWS KMS 리소스에 액세스할 수 있는 IAM 정책 생성을 참조하십시오.

예를 들어, 다음 IAM 정책은 콘솔을 사용하여 IAM 역할을 나열하고, IAM 역할을 만들고, 해당 계정의 Amazon S3 버킷을 나열하고, KMS 키를 나열하는 데 필요한 최소한의 권한을 사용자에게 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:ListRoles", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "s3:ListBucket", "s3:ListObjects" "kms:ListKeys" ], "Resource": "*" } ] }

또한 사용자가 IAM 역할을 Amazon S3 버킷과 연결하려는 경우, IAM 사용자에게 해당 IAM 역할에 대한 iam:PassRole 권한이 있어야 합니다. 관리자는 이 권한으로 사용자가 Amazon S3 버킷에 연결할 수 있는 IAM 역할을 제한하게 됩니다.

예를 들어 다음 IAM 정책은 사용자가 S3Access라는 역할을 Amazon S3 버킷과 연결할 수 있도록 허용합니다.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowS3AccessRole", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::123456789012:role/S3Access" } ] }

IAM 사용자 권한에 대한 자세한 내용은 Amazon RDS에 대한 자격 증명 기반 정책(IAM 정책) 사용 단원을 참조하십시오.

IAM 서비스 역할 생성

새 역할 생성 옵션을 선택하여 AWS Management 콘솔에서 역할을 생성할 수 있습니다(이 주제 후반부에서 설명). 이 옵션을 선택하고 새 역할의 이름을 지정하면 Amazon RDS는 Amazon RDS가 그 이름으로 Amazon S3 버킷에 액세스하는 데 필요한 IAM 서비스 역할을 생성합니다.

또는 다음 절차에 따라 수동으로 역할을 만들 수도 있습니다.

Amazon RDS가 Amazon S3에 액세스할 수 있도록 IAM 역할을 만들려면

  1. Amazon S3 리소스에 액세스할 수 있는 IAM 정책 생성의 단계를 수행합니다.

  2. Amazon Aurora에서 AWS 서비스에 액세스하도록 허용하는 IAM 역할 생성의 단계를 수행합니다.

  3. IAM 역할을 Amazon Aurora MySQL DB 클러스터와 연결의 단계를 수행합니다.

Amazon Aurora MySQL DB 클러스터로 복원할 파일 백업

Percona XtraBackup을 사용하여 MySQL 데이터베이스 파일의 전체 백업을 만들고 백업 파일을 Amazon S3 버킷으로 업로드할 수 있습니다. 또는 이미 Percona XtraBackup을 사용하여 MySQL 데이터베이스 파일을 백업 중인 경우 기존의 전체 및 증분 백업 디렉터리 및 파일을 Amazon S3 버킷으로 업로드할 수 있습니다.

Percona XtraBackup을 사용하여 전체 백업 만들기

Amazon S3에서 복원하여 Amazon Aurora MySQL DB 클러스터를 생성할 수 있는 MySQL 데이터베이스 파일의 전체 백업을 만들려면 Percona XtraBackup 유틸리티(xtrabackup)를 사용하여 데이터베이스를 백업하십시오.

예를 들어, 다음 명령을 실행하면 MySQL 데이터베이스 백업을 만들고 /on-premises/s3-restore/backup 폴더에 백업 파일을 저장합니다.

xtrabackup --backup --user=<myuser> --password=<password> --target-dir=</on-premises/s3-restore/backup>

백업을 파일 하나로 압축하려면(필요하면 분할 가능) --stream 옵션을 사용하여 다음 형식 중 하나로 백업을 저장하면 됩니다.

  • Gzip(.gz)

  • tar(.tar)

  • Percona xbstream(.xbstream)

다음 명령을 실행하면 Gzip 파일 여러 개로 된 MySQL 데이터베이스 백업이 만들어집니다.

xtrabackup --backup --user=<myuser> --password=<password> --stream=tar \ --target-dir=</on-premises/s3-restore/backup> | gzip - | split -d --bytes=500MB \ - </on-premises/s3-restore/backup/backup>.tar.gz

다음 명령을 실행하면 tar 파일 여러 개로 된 MySQL 데이터베이스 백업이 만들어집니다.

xtrabackup --backup --user=<myuser> --password=<password> --stream=tar \ --target-dir=</on-premises/s3-restore/backup> | split -d --bytes=500MB \ - </on-premises/s3-restore/backup/backup>.tar

다음 명령을 실행하면 xbstream 파일 여러 개로 된 MySQL 데이터베이스 백업이 만들어집니다.

xtrabackup --backup --user=<myuser> --password=<password> --stream=xbstream \ --target-dir=</on-premises/s3-restore/backup> | split -d --bytes=500MB \ - </on-premises/s3-restore/backup/backup>.xbstream

Percona XtraBackup 유틸리티를 사용하여 MySQL 데이터베이스를 백업한 뒤에는 백업 디렉터리 및 파일을 Amazon S3 버킷으로 복사할 수 있습니다.

파일을 만들고 Amazon S3 버킷에 업로드하는 방법에 대한 자세한 내용은 Amazon S3 시작 안내서Amazon Simple Storage Service 시작하기를 참조하십시오.

Percona XtraBackup을 사용한 증분 백업 사용

Amazon Aurora MySQL은 Percona XtraBackup을 사용하여 만든 전체 및 증분 백업을 모두 지원합니다. 이미 Percona XtraBackup을 사용하여 MySQL 데이터베이스 파일의 전체 및 증분 백업을 수행 중인 경우 전체 백업을 만들고 백업 파일을 Amazon S3로 업로드할 필요가 없습니다. 대신, 전체 및 증분 백업에 대한 기존 백업 디렉터리 및 파일을 버킷으로 복사하여 시간을 크게 절약할 수 있습니다. Percona XtraBackup을 사용한 증분 백업 만들기에 대한 자세한 내용은 Incremental Backup을 참조하십시오.

기존의 전체 및 증분 백업 파일을 Amazon S3 버킷으로 복사할 때 기본 디렉터리의 콘텐츠를 반복적으로 복사해야 합니다. 이러한 콘텐츠에는 전체 백업이 포함되며 모든 증분 백업 디렉터리 및 파일도 포함됩니다. 이 복사본은 Amazon S3 버킷의 디렉터리 구조를 보존해야 합니다. Aurora는 모든 파일과 디렉터리를 반복합니다. Aurora는 각 증분 백업에 포함된 xtrabackup-checkpoints 파일을 사용하여 기본 디렉터리를 식별하고 로그 시퀀스 번호(LSN) 범위를 기준으로 증분 백업의 순서를 정렬합니다.

파일을 만들고 Amazon S3 버킷에 업로드하는 방법에 대한 자세한 내용은 Amazon S3 시작 안내서Amazon Simple Storage Service 시작하기를 참조하십시오.

백업 고려 사항

파일을 Amazon S3 버킷으로 업로드할 때, 서버 측 암호화를 사용해 데이터를 암호화할 수 있습니다. 이어서 이 암호화된 파일에서 Amazon Aurora MySQL DB 클러스터를 복원할 수 있습니다. Amazon Aurora MySQL은 다음 서버 측 암호화 유형을 사용하여 암호화된 파일로 DB 클러스터를 복원할 수 있습니다.

  • Amazon S3 관리형 키(SSE-S3)를 이용한 서버 측 암호화 – 각 객체가 강력한 멀티 팩터 암호화를 사용하는 고유 키로 암호화 됩니다.

  • AWS KMS 관리형 키(SSE-KMS)를 이용한 서버 측 암호화 - SSE-S3와 유사하지만, 스스로 암호화 키를 생성해 관리하는 옵션이 있으며 그 외 다른 점도 있습니다.

파일을 Amazon S3 버킷에 업로드할 때 서버 측 암호화를 사용하는 방법에 대한 자세한 내용은 Amazon S3 개발자 안내서서버 측 암호화를 사용하여 데이터 보호를 참조하십시오.

Amazon S3는 Amazon S3 버킷에 업로드되는 파일 크기를 5TB로 제한합니다. 데이터베이스의 백업 데이터가 5TB를 초과하는 경우, split 명령을 사용하여 백업 파일을 각각 5TB 미만의 파일 여러 개로 나누어야 합니다.

Amazon RDS는 Amazon S3 버킷에 업로드되는 소스 파일을 100만 개로 제한합니다. 일부 경우, 모든 전체 및 증분 백업을 포함하고 있는 데이터베이스의 백업 데이터가 아주 많은 수의 파일로 구성되어 있을 수 있습니다. 이 경우에는 tarball(.tar.gz) 파일을 사용하여 Amazon S3 버킷에 전체 및 증분 백업 파일을 저장하십시오.

Aurora은 파일 이름을 기준으로 백업 파일을 사용합니다. 파일 형식에 따라 백업 파일에 적절한 파일 확장명을 지정해야 합니다. 예를 들어, Percona xbstream 형식을 사용하여 저장한 파일에는 .xbstream을 지정합니다.

Aurora는 알파벳 순서뿐 아니라 자연수 순서로도 백업 파일을 사용합니다. xtrabackup 명령을 실행할 때는 항상 split 옵션을 사용하여 적절한 순서로 백업 파일을 작성하고 이름을 붙여야 합니다.

Aurora는 Percona XtraBackup을 사용하여 생성되는 부분 백업을 지원하지 않습니다. 데이터베이스의 소스 파일을 백업할 때 --tables, --tables-exclude, --tables-file, --databases, --databases-exclude 또는 --databases-file 옵션을 사용하여 부분 백업을 만들 수 없습니다.

Percona XtraBackup을 사용한 데이터베이스 백업에 대한 자세한 내용은 Percona 웹 사이트의 Percona XtraBackup - DocumentationThe xtrabackup Binary를 참조하십시오.

Aurora에서는 Percona XtraBackup을 사용한 증분 백업을 지원합니다. Percona XtraBackup을 사용한 증분 백업 만들기에 대한 자세한 내용은 Incremental Backup을 참조하십시오.

Amazon S3 버킷에서 Amazon Aurora MySQL DB 클러스터를 복원하려면

Amazon RDS 콘솔에서 Amazon S3 버킷의 백업 파일을 복원하여 새 Amazon Aurora MySQL DB 클러스터를 만들 수 있습니다.

Amazon S3 버킷의 파일에서 Amazon Aurora MySQL DB 클러스터를 복원하려면

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. Amazon S3 콘솔의 오른쪽 위 모서리에서 DB 클러스터를 생성할 AWS 리전을 선택합니다. 데이터베이스 백업이 포함된 Amazon S3 버킷과 동일한 AWS 리전을 선택합니다.

  3. 탐색 창에서 Databases(데이터베이스)를 선택한 다음 S3에서 복원을 선택합니다.

  4. 엔진 선택 페이지에서 Amazon Aurora를 선택하고 MySQL 호환성 에디션을 선택한 후 다음을 선택합니다.

    [Specify source backup details] 페이지가 나타납니다.

    
                                Amazon S3 버킷에서 Amazon Aurora 마이그레이션
  5. [Specify source backup details]에서 다음을 지정합니다.

    옵션 수행할 작업

    [Source engine]

    Aurora MySQL은 현재 mysql 데이터베이스 엔진의 백업 파일에서만 복원하도록 지원합니다.

    [Source engine version]

    원본 데이터베이스의 MySQL 버전을 선택합니다.

    S3 버킷

    백업 파일이 포함된 Amazon S3 버킷을 선택합니다.

    [S3 folder path prefix (optional)]

    Amazon S3 버킷에 저장된 파일의 파일 경로 접두사를 지정합니다. [S3 Bucket Prefix]는 선택 사항입니다. 접두사를 지정하지 않는 경우, Aurora MySQL은 Amazon S3 버킷의 루트 폴더에 있는 모든 파일과 폴더를 사용하여 DB 클러스터를 생성합니다. 접두사를 지정하는 경우, Aurora MySQL은 Amazon S3 버킷에서 지정된 접두사로 전체 경로가 시작되는 파일과 폴더를 사용하여 DB 클러스터를 생성합니다.

    Aurora는 백업 파일을 찾기 위해 Amazon S3 버킷의 다른 하위 폴더를 탐색하지 않습니다. [S3 버킷 접두사]로 확인된 폴더의 파일만 사용합니다. Amazon S3 버킷의 하위 폴더에 백업 파일을 저장하는 경우, 파일이 저장되어 있는 폴더의 전체 경로를 나타내는 접두사를 지정해야 합니다.

    예를 들어, backups라는 이름의 Amazon S3 버킷 하위 폴더에 백업 파일을 저장한다고 가정해 보십시오. 또 gzip_backup1, gzip_backup2 식으로 각 디렉터리에 여러 백업 파일 세트가 각각 존재한다고 가정해 보십시오. 이 경우 gzip_backup1 폴더의 파일로 복원하려면 backups/gzip_backup1을 접두사로 지정합니다.

    새 역할 생성

    를 선택하여 새 IAM 역할을 생성하거나 아니요를 선택하여 기존 IAM 역할을 생성하여 사용자 대신 Aurora에 Amazon S3에 대한 액세스 권한을 부여하십시오. 자세한 내용은 필요한 권한 단원을 참조하십시오.

    [IAM role name]

    이 옵션은 [Create a new role]을 [Yes]로 설정한 경우에만 사용할 수 있습니다.

    생성할 새 IAM 역할의 이름을 입력하십시오. 새 역할은 Amazon Aurora이 사용자 대신 Amazon S3에 액세스하도록 권한을 부여하는 데 사용됩니다. 자세한 내용은 필요한 권한 단원을 참조하십시오.

    IAM 역할

    이 옵션은 Create a new role(새 역할 생성)아니요로 설정한 경우에만 사용할 수 있습니다.

    사용자 대신 Aurora에 Amazon S3에 대한 액세스 권한을 부여하기 위해 생성한 IAM 역할을 선택합니다. IAM 역할을 아직 생성하지 않은 경우 새 역할 생성로 설정하여 하나를 생성할 수 있습니다. 자세한 내용은 필요한 권한 단원을 참조하십시오.

    Allow access to KMS key

    이 옵션은 [Create a new role]을 [Yes]로 설정한 경우에만 사용할 수 있습니다.

    백업 파일을 암호화하지 않았다면 [No]를 선택합니다.

    Amazon S3으로 백업 파일을 업로드할 때 AES-256(SSE-S3)로 암호화를 했다면 아니오를 선택합니다. 이 경우, 데이터가 자동으로 복호화됩니다.

    Amazon S3으로 백업 파일을 업로드할 때 AWS-KMS (SSE-KMS) 서버 측 암호화로 암호화를 했다면 를 선택합니다. 다음은 [Master key]에 대한 올바른 마스터 키를 선택합니다. AWS Management 콘솔은 Amazon RDS를 활성화하여 데이터를 복호화하는 IAM 정책을 생성합니다.

    자세한 내용은 Amazon S3 개발자 안내서서버 측 암호화를 사용하여 데이터 보호 단원을 참조하십시오.

  6. [Next]를 선택합니다.

  7. DB 세부 정보 지정 페이지에서 DB 클러스터 정보를 지정합니다.

    일반적인 [Specify DB details] 페이지는 다음과 같습니다.

    
                                Amazon Aurora세부 정보

    다음 표는 DB 인스턴스 설정을 나타냅니다.

    옵션 수행할 작업

    용량 유형

    DB 인스턴스에 대한 용량을 수동으로 관리하려면 프로비저닝됨을 선택합니다. 워크로드가 변경된 경우 인스턴스에 대한 DB 인스턴스 클래스를 변경해야 할 수 있습니다.

    DB 인스턴스의 용량을 수동으로 관리하려면 Provisioned with Aurora parallel query enabled(Aurora 병렬 쿼리가 활성화된 상태에서 프로비저닝됨)를 선택합니다. 이 옵션을 통해 Aurora는 처리를 Aurora 스토리지 계층으로 하향 푸시하여 분석 쿼리의 성능을 향상시킵니다(현재 Aurora MySQL 5.6에 사용 가능). 자세한 내용은 Amazon Aurora MySQL용 Parallel Query 처리 단원을 참조하십시오.

    Aurora에서 DB 인스턴스에 사용 가능한 용량을 자동으로 관리하려면 서버리스를 선택합니다. 자세한 내용은 Amazon Aurora Serverless 사용 단원을 참조하십시오.

    DB 엔진 버전

    프로비저닝된 용량 유형에만 적용됩니다. DB 엔진의 버전 번호를 선택합니다.

    DB 인스턴스 클래스

    DB 클러스터의 각 인스턴스 처리 및 메모리 요건을 정의한 DB 인스턴스 클래스를 선택합니다. DB 인스턴스 클래스에 대한 자세한 내용은 DB 인스턴스 클래스 선택 단원을 참조하십시오.

    다중 AZ 배포

    장애 조치 지원을 위해 다른 가용 영역에 Aurora 복제본을 생성할지 여부를 결정합니다. 다른 영역에 복제본 생성을 선택한 경우 Amazon RDS가 DB 클러스터를 위한 기본 인스턴스보다는 다른 가용 영역의 DB 클러스터에 Aurora Replica를 생성합니다. 다중 가용 영역에 대한 자세한 내용은 리전 및 가용 영역 선택 단원을 참조하십시오.

    DB 인스턴스 식별자

    DB 클러스터의 기본 인스턴스 이름을 입력합니다. 이 식별자는 DB 클러스터의 기본 인스턴스에 대한 엔드포인트 주소로 사용됩니다.

    DB 인스턴스 식별자는 다음과 같은 제약 조건이 있습니다.

    • 1~63자의 영숫자 문자 또는 하이픈으로 구성되어야 합니다.

    • 첫 번째 문자는 글자이어야 합니다.

    • 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다.

    • AWS 리전별로 AWS 계정 하나당 모든 DB 인스턴스는 고유해야 합니다.

    Master username

    영숫자 문자를 사용해 DB 클러스터에 로그온하기 위해 마스터 사용자 이름으로 사용할 이름을 입력합니다.

    Master password

    마스터 사용자 암호로 인쇄 가능한 ASCII 문자(/, " 및 @ 제외) 8-41자를 포함하는 암호를 입력합니다.

  8. [Next]를 선택합니다.

  9. 고급 설정 구성 페이지에서 Aurora MySQL DB 클러스터 설정을 추가로 사용자 지정할 수 있습니다. 다음 표는 DB 클러스터의 고급 설정을 나타냅니다.

    옵션 수행할 작업

    Virtual Private Cloud(VPC)

    DB 클러스터를 호스팅할 VPC를 선택합니다. Amazon RDS에서 VPC를 생성하도록 하려면 [Create a New VPC]를 선택합니다. 자세한 내용은 이번 주제에서 전반부 DB 클러스터 사전 요구사항 단원을 참조하십시오.

    Subnet Group

    DB 클러스터에 사용할 DB 서브넷 그룹을 선택합니다. 자세한 내용은 이번 주제에서 전반부 DB 클러스터 사전 요구사항 단원을 참조하십시오.

    퍼블릭 액세스 가능성

    DB 클러스터에 퍼블릭 IP 주소를 할당하려면 Yes를 선택하고, 그렇지 않으면 No를 선택합니다. DB 클러스터의 인스턴스는 퍼블릭과 프라이빗 DB 인스턴스를 모두 혼합하여 사용할 수 있습니다. 모든 사용자의 액세스에서 인스턴스를 숨기는 방법에 대한 자세한 내용은 VPC에 있는 DB 인스턴스를 인터넷에서 숨기기 단원을 참조하십시오.

    [Availability zone]

    특정 가용 영역의 지정 여부를 결정합니다. 가용 영역에 대한 자세한 내용은 리전 및 가용 영역 선택 단원을 참조하십시오.

    VPC 보안 그룹

    Amazon RDS가 자동으로 VPC 보안 그룹을 생성하도록 하려면 Create new VPC security group(새 VPC 보안 그룹 생성)을 선택합니다. 또는 [Select existing VPC security groups]를 선택하고 하나 이상의 VPC 보안 그룹을 지정하여 DB 클러스터에 대한 네트워크 액세스에 보안을 적용합니다. 자세한 내용은 이번 주제에서 전반부 DB 클러스터 사전 요구사항 단원을 참조하십시오.

    DB Cluster Identifier

    선택한 AWS 리전에 속한 계정 고유의 DB 클러스터 이름을 입력합니다. 이 식별자는 DB 클러스터에 대한 클러스터 엔드포인트 주소로 사용됩니다. 클러스터 엔드포인트에 대한 자세한 정보는 Amazon Aurora 연결 관리 단원을 참조하십시오.

    DB 클러스터 식별자는 다음과 같은 제약 조건이 있습니다.

    • 1~63자의 영숫자 문자 또는 하이픈으로 구성되어야 합니다.

    • 첫 번째 문자는 글자이어야 합니다.

    • 하이픈으로 끝나거나 하이픈이 2개 연속으로 이어져서는 안 됩니다.

    • AWS 리전별로 모든 DB 클러스터에 대해 AWS 계정당 고유해야 합니다.

    데이터베이스 이름

    기본 데이터베이스의 이름을 최대 64자의 영숫자 문자로 입력합니다. 이름을 입력하지 않으면 Amazon RDS가 DB 클러스터에서 생성하려고 하는 데이터베이스를 생성하지 않습니다.

    추가 데이터베이스를 생성하려면, DB 클러스터에 연결한 다음 SQL 명령어 CREATE DATABASE를 사용하십시오. DB 클러스터 연결에 대한 자세한 내용은 Amazon Aurora DB 클러스터 연결 단원을 참조하십시오.

    데이터베이스 포트

    애플리케이션과 유틸리티가 데이터베이스에 액세스할 때 사용할 포트를 지정합니다. Aurora MySQL DB 클러스터는 기본 MySQL 포트(3306)으로, 그리고 Aurora PostgreSQL DB 클러스터는 기본 PostgreSQL 포트(5432)로 기본 설정됩니다. 일부 기업에서는 방화벽이 이러한 기본 포트 연결을 차단하는 경우도 있습니다. 이처럼 기업 방화벽이 기본 포트를 차단할 경우 새로운 DB 클러스터에 다른 포트를 선택해야 합니다.

    DB 파라미터 그룹

    파라미터 그룹을 선택합니다. Aurora에 사용할 수 있는 기본 파라미터 그룹이 포함되어 있거나, 직접 파라미터 그룹을 생성할 수 있습니다. 파라미터 그룹에 대한 자세한 내용은 DB 파라미터 그룹 및 DB 클러스터 파라미터 그룹 작업 단원을 참조하십시오.

    DB 클러스터 파라미터 그룹

    DB 클러스터 파라미터 그룹을 선택합니다. Aurora는 기본값 DB 클러스터 파라미터 그룹을 제공하며, 자체 DB 클러스터 파라미터 그룹을 생성할 수도 있습니다. DB 클러스터 파라미터 그룹에 대한 자세한 내용은 DB 파라미터 그룹 및 DB 클러스터 파라미터 그룹 작업 단원을 참조하십시오.

    옵션 그룹

    Aurora은 기본값 옵션 그룹을 포함합니다.

    암호화

    이 DB 클러스터에 대해 비활성화되어 있는 암호화를 활성화하려면 Enable Encryption을 선택합니다. 자세한 내용은 Amazon RDS 리소스 암호화 단원을 참조하십시오.

    마스터 키

    [Encryption]을 [Enable Encryption]으로 설정한 경우에만 사용할 수 있습니다. 현재 DB 클러스터를 암호화하는 데 사용할 마스터 키를 선택합니다. 자세한 내용은 Amazon RDS 리소스 암호화 단원을 참조하십시오.

    Priority

    인스턴스의 장애 조치 우선 순위를 선택합니다. 값을 선택하지 않을 경우 기본값은 tier-1입니다. 기본 인스턴스 장애로부터 복원할 때 이 우선 순위에 따라 승격할 Aurora Replicas 순서가 결정됩니다. 자세한 내용은 Aurora DB 클러스터의 내결함성 단원을 참조하십시오.

    백업 보존 기간

    Aurora가 데이터베이스 백업 사본을 보존하는 기간을 1~35일로 선택합니다. 백업 사본은 데이터베이스를 마지막 특정 시점으로 복구(PITR)하는 데 사용됩니다.

    역추적

    역추적을 활성화하려면 역추적 활성화를 선택하고 역추적을 비활성화하려면 역추적 비활성화를 선택합니다. 역추적을 이용하면 새 DB 클러스터를 만들지 않고 특정 시점으로 DB 클러스터를 되감을 수 있습니다. 기본적으로는 비활성화되어 있습니다. 역추적을 활성화할 경우 DB 클러스터를 역추적할 수 있는 기간(대상 역추적 기간)도 함께 지정하십시오. 자세한 내용은 Aurora DB 클러스터 역추적 단원을 참조하십시오.

    확장 모니터링

    DB 클러스터가 실행되는 운영 체제에 대한 실시간 지표 수집을 활성화하려면 [Enable enhanced monitoring]을 선택합니다. 자세한 내용은 확장 모니터링 단원을 참조하십시오.

    역할 모니터링

    [Enhanced Monitoring]을 [Enable enhanced monitoring]으로 설정한 경우에만 사용할 수 있습니다. Amazon RDS가 Amazon CloudWatch Logs와 통신할 수 있도록 생성한 IAM 역할을 선택하거나 RDS가 rds-monitoring-role라는 이름의 역할을 생성하도록 기본값을 선택합니다. 자세한 내용은 확장 모니터링 단원을 참조하십시오.

    Granularity

    [Enhanced Monitoring]을 [Enable enhanced monitoring]으로 설정한 경우에만 사용할 수 있습니다. DB 클러스터에 대해 지표를 수집하는 간격(초)을 설정하십시오.

    로그 내보내기

    Amazon CloudWatch Logs에 게시를 시작할 로그를 선택합니다. CloudWatch Logs로의 게시에 대한 자세한 내용은 Amazon CloudWatch Logs에 Amazon Aurora MySQL 로그 게시 단원을 참조하십시오.

    Auto minor version upgrade

    이 설정은 Aurora MySQL DB 클러스터에 적용되지 않습니다.

    Aurora MySQL의 엔진 업데이트에 대한 자세한 내용은 Amazon Aurora MySQL 데이터베이스 엔진 업데이트 단원을 참조하십시오.

    유지 관리 기간

    [Select window]를 선택하고 시스템 유지 관리를 실행할 수 있는 주 단위 기간을 지정합니다. 또는 Amazon RDS가 임의로 기간을 지정하도록 하려면 기본 설정 없음을 선택합니다.

    삭제 방지 활성화 DB 클러스터가 삭제되지 않도록 방지하려면, 삭제 방지 활성화를 선택합니다. 콘솔을 사용하여 프로덕션 DB 클러스터를 생성할 경우 기본값으로 삭제 방지가 활성화됩니다.
  10. 데이터베이스 생성을 선택하여 Aurora DB 인스턴스를 시작한 다음 닫기를 선택하여 마법사를 닫으십시오.

Amazon RDS 콘솔의 DB 인스턴스 목록에 새로운 DB 인스턴스가 나타납니다. DB 인스턴스를 만들고 사용할 준비가 될 때까지 DB 인스턴스의 상태는 [creating]입니다. 상태가 [available]로 변경되면 DB 클러스터의 기본 인스턴스에 연결할 수 있습니다. DB 인스턴스 클래스와 할당된 저장소에 따라 새 인스턴스를 사용할 수 있을 때까지 몇 분 정도 걸릴 수 있습니다.

새로 생성된 클러스터를 보려면 Amazon RDS 콘솔에서 Databases(데이터베이스) 보기를 선택하고 DB 클러스터를 선택합니다. 자세한 내용은 Amazon Aurora DB 클러스터 보기 단원을 참조하십시오.


                        Amazon Aurora DB 인스턴스 목록

DB 클러스터의 포트와 라이터 엔드포인트를 기록합니다. 쓰기 또는 읽기 작업을 수행하는 애플리케이션은 모두 JDBC 및 ODBC 연결 문자열에 이 DB 클러스터의 라이터 엔드포인트와 포트를 사용합니다.

복제를 사용하여 Amazon Aurora MySQL DB 클러스터와 MySQL 데이터베이스를 동기화

마이그레이션 동안 가동 정지가 거의 없도록 만들기 위해, MySQL 데이터베이스에 커밋된 트랜젝션을 Aurora MySQL DB 클러스터로 복제할 수 있습니다. 복제를 사용하여 DB 클러스터가 마이그레이션 동안 발생한 MySQL 데이터베이스의 트랜젝션을 따라 잡을 수 있도록 만들 수 있습니다. DB 클러스터가 완전히 따라 잡았을 때, 복제를 중지하고 Aurora MySQL로 마이그레이션을 완료할 수 있습니다.

외부 MySQL 데이터베이스와 Aurora MySQL DB 클러스터의 암호화된 복제 구성

데이터를 안전하게 복제하기 위해 암호화된 복제를 사용할 수 있습니다.

참고

암호화된 복제를 사용할 필요가 없다면 이 단계를 건너 뛰고 복제를 사용하여 Amazon Aurora MySQL DB 클러스터와 외부 MySQL 데이터베이스를 동기화의 지시로 이동합니다.

다음은 암호화된 복제를 사용하기 위한 사전 조건입니다.

  • 외부 MySQL 마스터 데이터베이스에서 SSL(Secure Socket Layer)를 활성화 시켜야 합니다.

  • Aurora MySQL DB 클러스터에 대해 클라이언트 키와 클라이언트 인증서를 준비해야 합니다.

암호화 복제 중, Aurora MySQL DB 클러스터는 MySQL 데이터베이스 서버의 클라이언트 역할을 합니다. 클라이언트 인증서와 키는 .pem 형식의 파일입니다.

참고

현재 외부 MySQL 데이터베이스로 암호화된 복제는 ​Aurora MySQL 버전 5.6에만 지원됩니다.

외부 MySQL 데이터베이스와 Aurora MySQL DB 클러스터에 암호화된 복제를 구성하려면,

  1. 암호화 복제를 준비해야 합니다.

    • 외부 MySQL 마스터 데이터베이스에서 SSL을 활성화 시키지 않았고 클라이언트 키와 인증서가 준비되지 않았다면, MySQL 데이터베이스 서버의 SSL을 활성화 하고, 필요한 클라이언트 키와 인증서를 생성합니다.

    • 외부 마스터에 SSL이 활성화되어 있다면, Aurora MySQL DB 클러스터에 클라이언트 키와 인증서를 제공합니다. 인증서와 키가 없다면, Aurora MySQL DB 클러스터에 대해 새 키와 인증서를 생성합니다. 클라이언트 인증서에 서명하려면, 외부 MySQL 마스터 데이터베이스의 SSL을 구성할 때 사용하는 인증 기관(CA) 키가 있어야 합니다.

    자세한 정보는 MySQL 문서의 Creating SSL Certificates and Keys Using openssl을 참조하십시오.

    인증 기관(CA) 인증서, 클라이언트 키, 클라이언트 인증서가 필요합니다.

  2. SSL을 사용하여 마스터 사용자로 Aurora MySQL DB 클러스터에 연결하십시오.

    SSL을 이용한 Aurora MySQL DB 클러스터 연결에 대한 자세한 정보는 Aurora MySQL DB 클러스터에 SSL 사용를 참조하십시오.

  3. mysql.rds_import_binlog_ssl_material 저장 프로시저를 실행하여 Aurora MySQL DB 클러스터로 SSL 정보를 가져오십시오.

    ssl_material_value 파라미터에서, Aurora MySQL DB 클러스터의 정보를 올바른 JSON 페이로드에 삽입하십시오.

    다음은 Aurora MySQL DB 클러스터에 SSL 정보를 가져오는 예제입니다. .pem 형식 파일은 본문 코드의 길이가 일반적으로 예제의 본문 코드 길이보다 깁니다.

    call mysql.rds_import_binlog_ssl_material( '{"ssl_ca":"-----BEGIN CERTIFICATE----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY----- AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE -----END RSA PRIVATE KEY-----\n"}');

    자세한 내용은 mysql_rds_import_binlog_ssl_materialAurora MySQL DB 클러스터에 SSL 사용 단원을 참조하십시오.

    참고

    프로시저를 실행한 후 파일에 암호를 저장합니다. 이 파일을 나중에 삭제하려면 mysql_rds_remove_binlog_ssl_material 저장 프로시저를 실행할 수 있습니다.

복제를 사용하여 Amazon Aurora MySQL DB 클러스터와 외부 MySQL 데이터베이스를 동기화

복제를 사용하여 Amazon Aurora MySQL DB 클러스터와 MySQL 데이터베이스를 동기화할 수 있습니다.

복제를 사용하여 Aurora MySQL DB 클러스터와 MySQL 데이터베이스를 동기화하려면,

  1. 외부 MySQL 데이터베이스의 /etc/my.cnf 파일에 관련 항목이 있어야 합니다.

    암호화된 복제가 필요 없다면, 이진수 로그(binlogs)를 활성화 시키고 SSL을 비활성화 시켜 외부 MySQL 데이터베이스를 시작합니다. 다음은 암호화된 데이터와 관련된 /etc/my.cnf 파일 항목들입니다.

    log-bin=mysql-bin server-id=2133421 innodb_flush_log_at_trx_commit=1 sync_binlog=1

    암호화된 복제가 필요하다면, SSL과 binlogs를 활성화시켜 외부 MySQL 데이터베이스를 시작합니다. /etc/my.cnf 파일 항목에는 MySQL 데이터베이스 서버의 .pem 파일 위치가 포함되어 있습니다.

    log-bin=mysql-bin server-id=2133421 innodb_flush_log_at_trx_commit=1 sync_binlog=1 # Setup SSL. ssl-ca=/home/sslcerts/ca.pem ssl-cert=/home/sslcerts/server-cert.pem ssl-key=/home/sslcerts/server-key.pem

    다음 명령을 사용하여 SSL이 활성화되었는지 확인할 수 있습니다.

    mysql> show variables like 'have_ssl';

    다음과 유사하게 출력되어야 합니다.

    +~-~-~-~-~-~-~-~-~-~-~-~-~-~--+~-~-~-~-~-~--+ | Variable_name | Value | +~-~-~-~-~-~-~-~-~-~-~-~-~-~--+~-~-~-~-~-~--+ | have_ssl | YES | +~-~-~-~-~-~-~-~-~-~-~-~-~-~--+~-~-~-~-~-~--+ 1 row in set (0.00 sec)
  2. 복제에서 시작 이진수 로그 위치를 결정합니다.

    1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

    2. 탐색 창에서 [Events]를 선택합니다.

    3. [Events] 목록에서 [Recovered from Binary log filename] 이벤트의 위치를 확인합니다.

      
                                        MySQL 마스터 보기

      다음 단계에서 복제를 시작할 위치를 지정합니다.

  3. 외부 MySQL 데이터베이스에 연결되어 있는 동안 복제에 사용할 사용자를 만듭니다. 이 계정은 오직 복제용으로만 사용되며 보안 향상을 위해 사용자의 도메인으로 제한되어야 합니다. 다음은 예제입니다.

    mysql> CREATE USER '<user_name>'@'<domain_name>' IDENTIFIED BY '<password>';

    사용자에게 REPLICATION CLIENTREPLICATION SLAVE 권한이 필요합니다. 해당 사용자에게 이 권한을 부여합니다.

    GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO '<user_name>'@'<domain_name>';

    암호화된 복제를 사용해야 한다면, 복제 사용자에게 SSL 연결이 반드시 필요합니다. 예를 들어, 다음 문을 사용하여 사용자 계정 <user_name>.

    GRANT USAGE ON *.* TO '<user_name>'@'<domain_name>' REQUIRE SSL;

    참고

    REQUIRE SSL이 포함되어 있지 않다면, 복제 연결이 자동으로 암호화되지 않은 연결로 돌아갈 수 있습니다.

  4. Amazon RDS Management Console에서 외부 MySQL 데이터베이스를 호스팅하는 서버의 IP 주소를 Aurora MySQL DB 클러스터용 VPC 보안 그룹에 추가하십시오. VPC 보안 그룹 수정에 대한 자세한 내용은 Amazon Virtual Private Cloud 사용 설명서VPC용 보안 그룹을 참조하십시오.

    Aurora MySQL DB 클러스터의 IP 주소에서의 연결을 허용하도록 로컬 네트워크를 구성하여 외부 MySQL 데이터베이스와 통신할 수 있도록 만들어야 할 수도 있습니다. Aurora MySQL DB 클러스터의 IP 주소를 검색하려면 host 명령을 사용하십시오.

    host RDS_MySQL_DB_<host_name>

    호스트 이름은 Aurora MySQL DB 클러스터 엔드포인트의 DNS 이름입니다.

  5. mysql.rds_set_external_master 저장 프로시저를 실행해 이진수 로그 복제를 활성화 합니다. 저장 프로시저에는 다음과 같은 구문이 있습니다.

    CALL mysql.rds_set_external_master ( host_name , host_port , replication_user_name , replication_user_password , mysql_binary_log_file_name , mysql_binary_log_file_location , ssl_encryption );

    파라미터에 대한 자세한 내용은 mysql_rds_set_external_master를 참조하십시오.

    mysql_binary_log_file_namemysql_binary_log_file_location의 경우, 앞에서 확인한 [Recovered from Binary log filename] 이벤트의 위치를 사용합니다.

    Aurora MySQL DB 클러스터의 데이터가 암호화되어 있지 않다면, ssl_encryption 파라미터를 0으로 설정해야 합니다. 데이터가 암호화되어 있으면 ssl_encryption 파라미터를 1로 설정합니다.

    다음은 암호화된 데이터가 있는 Aurora MySQL DB 클러스터에 대해 프로시저를 실행하는 예제입니다.

    CALL mysql.rds_set_external_master( 'Externaldb.some.com', 3306, 'repl_user'@'mydomain.com', 'password', 'mysql-bin.000010', 120, 1);

    이 저장 프로시저는 Aurora MySQL DB 클러스터가 외부 MySQL 데이터베이스를 연결하고 이진수 로그를 읽을 때 사용하는 파라미터를 설정합니다. 또한 데이터가 암호화되어 있다면, 로컬 디스크에 대한 SSL 인증 기관(CA) 인증서, 클라이언트 인증서, 클라이언트 키를 다운로드합니다.

  6. mysql.rds_start_replication 저장 프로시저를 실행해 이진수 로그 복제를 시작합니다.

    CALL mysql.rds_start_replication;
  7. Aurora MySQL DB 클러스터가 MySQL 복제 마스터 데이터베이스보다 얼마나 지연되어 있는지 모니터링하십시오. 이렇게 하려면 Aurora MySQL DB 클러스터에 연결하고 다음 명령을 실행하십시오.

    SHOW SLAVE STATUS;

    명령 출력의 Seconds Behind Master 필드는 Aurora MySQL DB 클러스터가 MySQL 마스터보다 얼마나 지연되었는지 보여줍니다. 이 값이 0인 경우, Aurora MySQL DB 클러스터는 마스터를 따라 잡습니다. 그러면 다음 단계로 이동해 복제를 중지할 수 있습니다.

  8. MySQL 복제 마스터 데이터베이스를 연결하고, 복제를 중지합니다. 이렇게 하려면 다음 명령을 실행합니다.

    CALL mysql.rds_stop_replication;

mysqldump를 사용하여 MySQL에서 Amazon Aurora로 마이그레이션

Amazon Aurora MySQL은 MySQL 호환 데이터베이스이므로 mysqldump 유틸리티를 사용하여 MySQL 또는 MariaDB 데이터베이스에서 기존의 Aurora MySQL DB 클러스터로 데이터를 복사할 수 있습니다.

초대형 MySQL 데이터베이스를 사용하는 방법은 가동 중지 시간을 단축하여 Amazon RDS MySQL 또는 MariaDB DB 인스턴스로 데이터 가져오기를 참조하십시오. 소량의 데이터를 갖는 MySQL 데이터베이스는 MySQL 또는 MariaDB DB 데이터를 Amazon RDS MySQL 또는 MariaDB DB 인스턴스로 가져오기를 참조하십시오.