

# Amazon S3 バケットへのアクセスを設定する
<a name="export-cluster-data.Setup"></a>

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

**Topics**
+ [エクスポート先の Amazon S3 バケットの特定](#export-cluster-data.SetupBucket)
+ [IAM ロールを使用した Amazon S3 バケットへのアクセスの提供](#export-cluster-data.SetupIAMRole)
+ [クロスアカウント Amazon S3 バケットを使用する](#export-cluster-data.Setup.XAcctBucket)

## エクスポート先の Amazon S3 バケットの特定
<a name="export-cluster-data.SetupBucket"></a>

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

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

Amazon S3 バケットの操作の詳細については、*Amazon Simple Storage Service ユーザーガイド*で次のトピックを参照してください。
+ [S3 バケットのプロパティを表示する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/view-bucket-properties.html)
+ [Amazon S3 バケットのデフォルト暗号化を有効にする方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html)
+ [S3 バケットを作成する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)

## IAM ロールを使用した Amazon S3 バケットへのアクセスの提供
<a name="export-cluster-data.SetupIAMRole"></a>

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

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

**重要**  
AWS マネジメントコンソール を使用して DB クラスターをエクスポートする予定がある場合は、DB クラスターをエクスポートするときに IAM ポリシーとロールを自動的に作成することもできます。手順については、「[DB クラスターのエクスポートタスクの作成](export-cluster-data.Exporting.md)」を参照してください。

**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 ポリシーの作成と使用](UsingWithRDS.IAMDBAuth.IAMPolicy.md)」を参照してください。*IAM ユーザーガイド*の「[チュートリアル: はじめてのカスタマー管理ポリシーの作成とアタッチ](https://docs.aws.amazon.com//IAM/latest/UserGuide/tutorial_managed-policies.html)」も参照してください。

   以下の 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/*"
               ]
           }
       ]
   }'
   ```

1. IAM ロールを作成して、Aurora がこの IAM ロールがユーザーに代わって Amazon S3 バケットにアクセスすると見なすことができるようにします。詳細については、*IAM ユーザーガイド*の「[IAM ユーザーにアクセス許可を委任するロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)」を参照してください。

   以下の例は、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"
          }
        ] 
      }'
   ```

1. 作成した 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 バケットを使用する
<a name="export-cluster-data.Setup.XAcctBucket"></a>

S3 バケットは AWS アカウント全体で使用できます。詳細については、「[クロスアカウント Amazon S3 バケットを使用する](aurora-export-snapshot.Setup.md#aurora-export-snapshot.Setup.XAcctBucket)」を参照してください。