Amazon S3 バケットへのアクセスを設定する - Amazon Aurora

Amazon S3 バケットへのアクセスを設定する

Amazon S3 バケットを特定したら、それにアクセスするアクセス許可を DB クラスターエクスポートタスクに与えます。

エクスポート先の Amazon S3 バケットの特定

DB クラスターデータをエクスポートする Amazon S3 バケットを特定します。既存の S3 バケットを使用するか、新しい S3 バケットを作成します。

注記

S3 バケットは DB クラスターと同じ AWS リージョンにある必要があります。

Amazon S3 バケットの操作の詳細については、Amazon Simple Storage Service ユーザーガイドで次のトピックを参照してください。

IAM ロールを使用した Amazon S3 バケットへのアクセスの提供

DB クラスターデータを Amazon S3 にエクスポートする前に、エクスポートタスクに対して Amazon S3 バケットへの書き込みアクセス許可を付与します。

このアクセス権限を付与するには、バケットへのアクセスを可能にする IAM ポリシーを作成し、次に IAM ロールを作成して、このロールにポリシーをアタッチします。後で IAM ロールを DB クラスターエクスポートタスクに割り当てることができます。

重要

AWS Management Console を使用して DB クラスターをエクスポートする予定がある場合は、DB クラスターをエクスポートするときに IAM ポリシーとロールを自動的に作成することもできます。手順については、DB クラスターのエクスポートタスクの作成 を参照してください。

Amazon S3 へのアクセス権をタスクに付与するには
  1. IAM ポリシーを作成します。このポリシーでバケットおよびオブジェクトへのアクセス許可を与えることにより、DB クラスターエクスポートタスクから Amazon S3 にアクセスできるようにします。

    Amazon Aurora から S3 バケットへのファイル転送を許可するために、以下の必須アクションをポリシーに含めます。

    • s3:PutObject*

    • s3:GetObject*

    • s3:ListBucket

    • s3:DeleteObject*

    • s3:GetBucketLocation

    ポリシーには、S3 バケットとバケット内のオブジェクトを識別するために、以下のリソースを含めます。次のリソースのリストは、Amazon S3 にアクセスするための Amazon リソースネーム (ARN) 形式を示しています。

    • arn:aws:s3:::amzn-s3-demo-bucket

    • arn:aws:s3:::amzn-s3-demo-bucket/*

    Amazon Aurora の IAM ポリシーの作成の詳細については、「IAM データベースアクセス用の IAM ポリシーの作成と使用」を参照してください。IAM ユーザーガイドの「チュートリアル: はじめてのカスタマー管理ポリシーの作成とアタッチ」も参照してください。

    以下の AWS CLI コマンドでは、これらのオプションを指定して、ExportPolicy という名前の IAM ポリシーを作成します。amzn-s3-demo-bucket という名前のバケットへのアクセスを許可します。

    注記

    ポリシーを作成したら、ポリシーの ARN を書き留めます。ポリシーを IAM ロールにアタッチする場合、後続のステップで ARN が必要です。

    aws iam create-policy --policy-name ExportPolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExportPolicy", "Effect": "Allow", "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'
  2. IAM ロールを作成して、Aurora がこの IAM ロールがユーザーに代わって Amazon S3 バケットにアクセスすると見なすことができるようにします。詳細については、IAM ユーザーガイドの「IAM ユーザーにアクセス許可を委任するロールの作成」を参照してください。

    以下の例は、AWS CLI コマンドを使用して、rds-s3-export-role という名前のロールを作成する例を示しています。

    aws iam create-role --role-name rds-s3-export-role --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "export.rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  3. 作成した IAM ポリシーを、作成した IAM ロールにアタッチします。

    次の AWS CLI コマンドでは、先ほど作成したポリシーを rds-s3-export-role という名前のロールにアタッチします。your-policy-arn は、以前のステップで書き留めたポリシー ARN に置き換えます。

    aws iam attach-role-policy --policy-arn your-policy-arn --role-name rds-s3-export-role

クロスアカウント Amazon S3 バケットを使用する

S3 バケットは AWS アカウント全体で使用できます。詳細については、「クロスアカウント Amazon S3 バケットを使用する」を参照してください。