DB 클러스터 내보내기 작업 생성 - Amazon Aurora

DB 클러스터 내보내기 작업 생성

내보내기 작업을 생성하여 Aurora DB 클러스터의 데이터를 Amazon S3 버킷으로 내보냅니다. AWS 계정당 최대 5개의 DB 클러스터 내보내기 작업을 동시에 수행할 수 있습니다.

참고

DB 클러스터 데이터 내보내기는 데이터베이스 유형 및 크기에 따라 다소 시간이 걸릴 수 있습니다. 내보내기 작업은 먼저 전체 데이터베이스를 복제하고 크기를 조정한 다음 Amazon S3로 데이터를 추출합니다. 이 단계 동안의 작업 진행 상황은 Starting으로 표시됩니다. 작업이 S3로 데이터 내보내기로 전환되면 진행 상황이 진행 중(In progress)으로 표시됩니다.

내보내기를 완료하는 데 걸리는 시간은 데이터베이스에 저장된 데이터에 따라 다릅니다. 예를 들어 숫자로 된 기본 키 또는 인덱스 열이 잘 분산되어 있는 테이블은 가장 빠르게 내보냅니다. 분할에 적합한 열을 포함하지 않는 테이블과 문자열 기반 열에 인덱스가 하나만 있는 테이블은 내보내기가 더 느린 단일 스레드 프로세스를 사용하기 때문에 더 오래 걸립니다.

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 DB 클러스터 데이터를 Amazon S3로 내보낼 수 있습니다.

Lambda 함수를 사용하여 DB 클러스터를 내보내는 경우 Lambda 함수 정책에 kms:DescribeKey 작업을 추가합니다. 자세한 내용은 AWS Lambda 권한을 참조하세요.

Amazon S3로 내보내기 콘솔 옵션은 Amazon S3로 내보낼 수 있는 DB 클러스터에만 나타납니다. 다음과 같은 이유로 DB 클러스터를 내보내기에 사용하지 못할 수 있습니다.

  • DB 엔진이 S3 내보내기를 지원하지 않습니다.

  • DB 클러스터 버전이 S3 내보내기에 지원되지 않습니다.

  • DB 클러스터가 생성된 AWS 리전에서 S3 내보내기가 지원되지 않습니다.

DB 클러스터 데이터를 내보내는 방법
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

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

  3. 데이터를 내보낼 DB 클러스터를 선택합니다.

  4. 작업에서 Export to Amazon S3(Amazon S3로 내보내기)를 선택합니다.

    Export to Amazon S3(Amazon S3로 내보내기) 창이 나타납니다.

  5. Export identifier(내보내기 식별자)에 내보내기 작업을 식별할 이름을 입력합니다. 이 값은 S3 버킷에 생성된 파일의 이름에도 사용됩니다.

  6. 내보낼 데이터를 선택합니다.

    • DB 클러스터의 모든 데이터를 내보내려면 All(모두)을 선택합니다.

    • DB 클러스터의 특정 부분을 내보내려면 Partial(부분)을 선택합니다. 클러스터에서 내보낼 부분을 식별하려면 Identifiers(식별자)에 공백으로 구분된 하나 이상의 데이터베이스, 스키마 또는 테이블을 입력합니다.

      다음 형식을 사용합니다.

      database[.schema][.table] database2[.schema2][.table2] ... databasen[.scheman][.tablen]

      예:

      mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
  7. S3 버킷에서 내보낼 버킷을 선택합니다.

    내보낸 데이터를 S3 버킷의 폴더 경로에 할당하려면 S3 prefix(S3 접두사)에 선택적 경로를 입력합니다.

  8. IAM 역할에서 선택한 S3 버킷에 대한 쓰기 액세스 권한을 부여하는 역할을 선택하거나 새 역할을 생성합니다.

    • IAM 역할을 사용하여 Amazon S3 버킷에 대한 액세스 권한 제공의 단계에 따라 역할을 생성한 경우에는 해당 역할을 선택합니다.

    • 선택한 S3 버킷에 대한 쓰기 액세스 권한을 부여하는 역할을 생성하지 않은 경우 Create a new role(새 역할 생성)을 선택하여 역할을 자동으로 생성합니다. 그런 다음 IAM 역할 이름에 해당 역할의 이름을 입력합니다.

  9. KMS key(KMS 키)에 내보낸 데이터를 암호화하는 데 사용할 키의 ARN을 입력합니다.

  10. Amazon S3로 내보내기를 선택합니다.

AWS CLI를 사용하여 DB 클러스터 데이터를 Amazon S3로 내보내려면 start-export-task 명령을 다음과 같은 필수 옵션과 함께 사용합니다.

  • --export-task-identifier

  • --source-arn – DB 클러스터의 Amazon 리소스 이름(ARN)입니다.

  • --s3-bucket-name

  • --iam-role-arn

  • --kms-key-id

다음 예에서 내보내기 작업의 이름은 my_cluster_export이고, 이 작업은 데이터를 amzn-s3-demo-destination-bucket이라는 S3 버킷으로 내보냅니다.

대상 LinuxmacOS, 또는Unix:

aws rds start-export-task \ --export-task-identifier my-cluster-export \ --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster \ --s3-bucket-name amzn-s3-demo-destination-bucket \ --iam-role-arn iam-role \ --kms-key-id my-key

Windows의 경우:

aws rds start-export-task ^ --export-task-identifier my-DB-cluster-export ^ --source-arn arn:aws:rds:us-west-2:123456789012:cluster:my-cluster ^ --s3-bucket-name amzn-s3-demo-destination-bucket ^ --iam-role-arn iam-role ^ --kms-key-id my-key

샘플 출력은 다음과 같습니다.

{ "ExportTaskIdentifier": "my-cluster-export", "SourceArn": "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster", "S3Bucket": "amzn-s3-demo-destination-bucket", "IamRoleArn": "arn:aws:iam:123456789012:role/ExportTest", "KmsKeyId": "my-key", "Status": "STARTING", "PercentProgress": 0, "TotalExtractedDataInGB": 0, }

DB 클러스터 내보내기를 위해 S3 버킷에 폴더 경로를 제공하려면 start-export-task 명령에 --s3-prefix 옵션을 포함합니다.

Amazon RDS API를 사용하여 DB 클러스터 데이터를 Amazon S3로 내보내려면 다음 필수 파라미터와 함께 StartExportTask 작업을 사용합니다.

  • ExportTaskIdentifier

  • SourceArn – DB 클러스터의 ARN입니다.

  • S3BucketName

  • IamRoleArn

  • KmsKeyId