

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon S3 を使用した AWS DataSync 転送の設定
<a name="create-s3-location"></a>

Amazon S3 バケットとの間でデータを転送するには、 AWS DataSync 転送*場所*を作成します。DataSync では、このロケーションをデータ転送元あるいは転送先として利用することができます。

## DataSync に対する S3 バケットへのアクセス許可の付与
<a name="create-s3-location-access"></a>

DataSync には、転送先または転送元となる S3 バケットへのアクセス許可が必要です。これを行うには、DataSync がバケットへのアクセスに必要なアクセス許可で引き受ける AWS Identity and Access Management (IAM) ロールを作成する必要があります。その後、[DataSync 用の Amazon S3 のロケーションを作成](#create-s3-location-how-to)するときにこのロールを指定します。

**Contents**
+ [必要なアクセス許可](#create-s3-location-required-permissions)
+ [DataSync が Amazon S3 ロケーションにアクセスするために必要な IAM ロールの作成](#create-role-manually)
+ [サーバー側の暗号化を使用して S3 バケットにアクセスする](#create-s3-location-encryption)
+ [制限のある S3 バケットへのアクセス](#denying-s3-access)
+ [VPC アクセスが制限された S3 バケットへのアクセス](#create-s3-location-restricted-vpc)

### 必要なアクセス許可
<a name="create-s3-location-required-permissions"></a>

IAM ロールに必要なアクセス許可は、バケットが DataSync の送信元のロケーションか送信先のロケーションかによって異なります。Amazon S3 on Outposts には異なるアクセス許可のセットが必要です。

------
#### [ Amazon S3 (source location) ]

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
        },
        {
            "Action": [
                "s3:GetObject",
                "s3:GetObjectTagging",
                "s3:GetObjectVersion",
                "s3:GetObjectVersionTagging",
                "s3:ListMultipartUploadParts"
              ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------
#### [ Amazon S3 (destination location) ]

```
{
 "Version": "2012-10-17",		 	 	 
 "Statement": [
     {
         "Action": [
             "s3:GetBucketLocation",
             "s3:ListBucket",
             "s3:ListBucketMultipartUploads"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition": {
             "StringEquals": {
                 "aws:ResourceAccount": "123456789012"
             }
         }
     },
     {
         "Action": [
             "s3:AbortMultipartUpload",
             "s3:DeleteObject",
             "s3:GetObject",
             "s3:GetObjectTagging",
             "s3:GetObjectVersion",
             "s3:GetObjectVersionTagging",
             "s3:ListMultipartUploadParts",
             "s3:PutObject",
             "s3:PutObjectTagging"
           ],
         "Effect": "Allow",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
         "Condition": {
             "StringEquals": {
                 "aws:ResourceAccount": "123456789012"
             }
         }
     }
 ]
}
```

------
#### [ Amazon S3 on Outposts ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3-outposts:ListBucket",
                "s3-outposts:ListBucketMultipartUploads"
            ],
            "Effect": "Allow",
            "Resource": [
            "arn:aws:s3-outposts:us-east-1:123456789012:outpost/outpost-id/bucket/amzn-s3-demo-bucket",
    "arn:aws:s3-outposts:us-east-1:123456789012:outpost/outpost-id/accesspoint/bucket-access-point-name"
            ]
        },
        {
            "Action": [
                "s3-outposts:AbortMultipartUpload",
                "s3-outposts:DeleteObject",
                "s3-outposts:GetObject",
                "s3-outposts:GetObjectTagging",
                "s3-outposts:GetObjectVersion",
                "s3-outposts:GetObjectVersionTagging",
                "s3-outposts:ListMultipartUploadParts",
                "s3-outposts:PutObject",
                "s3-outposts:PutObjectTagging"
            ],
            "Effect": "Allow",
            "Resource": [
            "arn:aws:s3-outposts:us-east-1:123456789012:outpost/outpost-id/bucket/amzn-s3-demo-bucket/*",
    "arn:aws:s3-outposts:us-east-1:123456789012:outpost/outpost-id/accesspoint/bucket-access-point-name/*"
            ]
        },
        {
            "Action": "s3-outposts:GetAccessPoint",
            "Effect": "Allow",
            "Resource": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/outpost-id/accesspoint/bucket-access-point-name"
        }
    ]
}
```

------

### DataSync が Amazon S3 ロケーションにアクセスするために必要な IAM ロールの作成
<a name="create-role-manually"></a>

[コンソールで Amazon S3 ロケーションを作成する](#create-s3-location-how-to)とき、S3 バケットにアクセスするための適切なアクセス許可を持つ通常の IAM ロールを、DataSync が自動的に作成し引き受けることができます。

状況によっては、このロールを手動で作成する必要がある場合があります (たとえば、追加のセキュリティレイヤーを持つバケットへのアクセスや、別の のバケットとの間での転送など AWS アカウント)。

#### DataSync の IAM ロールの手動作成
<a name="create-role-manually-steps"></a>

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. 左側のナビゲーションペインの **[アクセス管理]** で、**[ロール]** を選択し、**[ロールの作成]** を選択します。

1. **[信頼されたエンティティを選択]** ページで、**[信頼されたエンティティタイプ]** に **[AWS のサービス]** を選択します。

1. **[ユースケース]** では、ドロップダウンリストから **[DataSync]** を選び、**[DataSync]** を選択します。**[次へ]** をクリックします。

1. **[アクセス許可を追加]** ページで **[次へ]** を選択してください。ロール名を入力し、**[ロールの作成]** を選択します。

1. **[ロール]** ページで、作成したロールを検索し、その名前を選択します。

1. [データセットの詳細] ページが開くので、**[アクセス許可]** タブを選択します。**[アクセス許可の追加]** を選択し、次いで **[インラインポリシーの作成]** を選択します。

1. **[JSON]** タブを選択し、ポリシーエディタに、バケットへのアクセスに[必要なアクセス許可を追加](#create-s3-location-required-permissions)します。

1. [**次へ**] を選択します。ポリシーの名前を入力し、**[ポリシーの作成]** を選択します。

1. (推奨) [サービス間の混乱による代理問題の発生](cross-service-confused-deputy-prevention.md)を防ぐには、次の操作を行います。

   1. ロールの詳細ページで **[信頼関係]** タブを選択します。**[信頼ポリシーを編集]** を選択します。

   1. `aws:SourceArn` と `aws:SourceAccount` グローバル条件コンテキストキーを含む次の例で信頼ポリシーを更新します。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                  "Service": "datasync.amazonaws.com"
              },
              "Action": "sts:AssumeRole",
              "Condition": {
                  "StringEquals": {
                  "aws:SourceAccount": "444455556666"
                  },
                  "ArnLike": {
                  "aws:SourceArn": "arn:aws:datasync:us-east-1:444455556666:*"
                  }
              }
            }
        ]
      }
      ```

------

   1. [**ポリシーの更新**] を選択してください。

Amazon S3 のロケーションを作成するときに、このロールを指定できます。

### サーバー側の暗号化を使用して S3 バケットにアクセスする
<a name="create-s3-location-encryption"></a>

DataSync は、[サーバー側の暗号化を使用する S3 バケット](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)との間でデータを転送することができます。DataSync によるバケットへのアクセスを許可するカスタム ポリシーが必要かどうかはバケットが使用する暗号化キーのタイプによって決められます。

サーバー側で暗号化を使用する S3 バケットで DataSync を使用する場合は、次の点に注意してください。
+ ** AWS マネージドキーでS3 バケットが暗号化されている場合** — すべてのリソースが同じ AWS アカウントにあれば、DataSync はデフォルトでバケットのオブジェクトにアクセスできます。
+ **S3 バケットがカスタマーマネージド AWS Key Management Service (AWS KMS) キー (SSE-KMS) で暗号化**されている場合 – [キーのポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)には、DataSync がバケットへのアクセスに使用する IAM ロールが含まれている必要があります。
+ **S3 バケットがカスタマーマネージド SSE-KMS キーと別の で暗号化 AWS アカウント**されている場合 – DataSync には、他の のバケットにアクセスするためのアクセス許可が必要です AWS アカウント。これを行うには、次を実行します。
  + DataSync が使用する IAM ロールで、キーの完全修飾 Amazon リソースネーム (ARN) を使用してクロスアカウントバケットの SSE-KMS キーを指定します。これは、バケットの[デフォルトの暗号化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-bucket-encryption.html)の設定に使用するキー ARN と同じものです。この状況では、キー ID、エイリアス名、エイリアス ARN を指定することはできません。

    こちらはキー ARN の例です。

    `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`

    IAM ポリシーステートメントで KMS キーを指定する方法の詳細については、「*[AWS Key Management Service デベロッパーガイド](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html)*」を参照してください。
  + SSE-KMS キーポリシーで、DataSync が使用する [IAM ロールを指定します](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)。
+ **S3 バケットが二層式サーバー側の暗号化のためにカスタマーマネージド AWS KMS キー (DSSE-KMS) で暗号化**されている場合 – [キーのポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)には、DataSync がバケットにアクセスするために使用する IAM ロールが含まれている必要があります。(DSSE-KMS は [S3 バケットキー](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html)をサポートしていないため、 AWS KMS リクエストコストを削減できることに注意してください）。
+ **S3 バケットが顧客提供の暗号化キー (SSE-C) で暗号化されている場合** — DataSync はこのバケットにアクセスできません。

#### 例:DataSync の SSE-KMS キーポリシー
<a name="create-s3-location-encryption-example"></a>

次の例は、顧客管理の SSE-KMS キーの[キーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)です。ポリシーは、サーバー側で暗号化を使用する S3 バケットに関連付けられます。

こちらの例を使用する場合は、以下の値をユーザー独自の値に置き換えます。
+ *アカウント ID* – あなたの AWS アカウント。
+ *admin-role-name* — キーを管理できる IAM ロールの名前。
+ *datasync-role-name* — DataSync がバケットにアクセスするときに、キーを使用することを許可する IAM ロールの名前。

------
#### [ JSON ]

****  

```
{
    "Id": "key-consolepolicy-3",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable IAM Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/admin-role-name"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/datasync-role-name"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### 制限のある S3 バケットへのアクセス
<a name="denying-s3-access"></a>

通常はすべてのアクセスを拒否する S3 バケットとの間で転送を行う必要がある場合は、バケットポリシーを編集することで DataSync が転送のためにのみバケットにアクセスできるようにすることができます。

#### 例: IAM ロールに基づいてアクセスを許可する
<a name="denying-s3-access-example"></a>

1. 次の S3 バケットポリシーをコピーします。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "Deny-access-to-bucket",
           "Effect": "Deny",
           "Principal": "*",
           "Action": "s3:*",
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ],
           "Condition": {
               "StringNotLike": {
                   "aws:userid": [
                       "datasync-iam-role-id:*",
                       "your-iam-role-id"
                   ]
               }
           }
       }]
   }
   ```

------

1. ポリシーの以下の値を置き換えます。
   + `amzn-s3-demo-bucket` – 制限のある S3 バケットの名前を指定します。
   + `datasync-iam-role-id` – バケットにアクセスするため [DataSync が使用する IAM ロール](#create-s3-location-access)の ID を指定します。

     次の AWS CLI コマンドを実行して、IAM ロール ID を取得します。

     `aws iam get-role --role-name datasync-iam-role-name`

     出力で、`RoleId` の値を探します。

     `"RoleId": "ANPAJ2UCCR6DPCEXAMPLE"`
   + `your-iam-role-id` – バケットに DataSync のロケーションを作成する際に使用する IAM ロールの ID を指定します。

     次のコマンドを実行して、IAM ロール ID を取得します。

     `aws iam get-role --role-name your-iam-role-name`

     出力で、`RoleId` の値を探します。

     `"RoleId": "AIDACKCEVSQ6C2EXAMPLE"`

1. S3 バケットポリシー[このポリシーを追加します](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html)。

1. 制限のあるバケットで DataSync を使用したら、バケットポリシーから両方の IAM ロールの条件を削除します。

### VPC アクセスが制限された S3 バケットへのアクセス
<a name="create-s3-location-restricted-vpc"></a>

[特定の仮想プライベートクラウド (VPC) エンドポイントまたは複数の VPC へのアクセスを制限している](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html) Amazon S3 バケットは、DataSync がそのバケットとの間で転送を行うことを拒否します。このような状況で転送を可能にするには、[DataSync のロケーションで指定した](#create-s3-location-how-to) IAM ロールを含むようにバケットのポリシーを更新します。

------
#### [ Option 1: Allowing access based on DataSync location role ARN ]

S3 バケットポリシーでは、DataSync ロケーションの IAM ロールの Amazon リソースネーム (ARN) を指定することができます。

以下に示すのは、2 つの VPC (`vpc-1234567890abcdef0` と `vpc-abcdef01234567890`) 以外の VPC からのアクセスを拒否する S3 バケットポリシーの例です。ただしこのポリシーには [ArnNotLikeIfExists](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 条件と [aws:PrincipalArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalarn) 条件キーも含まれています。これらは DataSync ロケーションのロールの ARN がバケットにアクセスすることを許可します。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Access-to-specific-VPCs-only",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringNotEqualsIfExists": {
                    "aws:SourceVpc": [
                        "vpc-1234567890abcdef0",
                        "vpc-abcdef01234567890"
                    ]
                },
                "ArnNotLikeIfExists": {
                    "aws:PrincipalArn": [
                        "arn:aws:iam::111122223333:role/datasync-location-role-name"
                    ]
                }
            }
        }
    ]
}
```

------
#### [ Option 2: Allowing access based on DataSync location role tag ]

S3 バケットポリシーでは、DataSync ロケーションの IAM ロールにアタッチされたタグを指定することができます。

以下に示すのは、2 つの VPC (`vpc-1234567890abcdef0` と `vpc-abcdef01234567890`) 以外の VPC からのアクセスを拒否する S3 バケットポリシーの例です。ただしこのポリシーには [StringNotEqualsIfExists](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 条件と [aws:PrincipalTag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltag) 条件キーも含まれています。これらは、タグキー `exclude-from-vpc-restriction` と値 `true` を持つプリンシパルを許可します。DataSync ロケーションのロールにアタッチされたタグを指定することで、バケットポリシーに同様の方法を試すことができます。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Access-to-specific-VPCs-only",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringNotEqualsIfExists": {
                    "aws:SourceVpc": [
                        "vpc-1234567890abcdef0",
                        "vpc-abcdef01234567890"
                    ],
                    "aws:PrincipalTag/exclude-from-vpc-restriction": "true"
                }
            }
        }
    ]
}
```

------

## Amazon S3 転送におけるストレージクラスに関する考慮事項
<a name="using-storage-classes"></a>

Amazon S3 が送信先ロケーションである場合、DataSync はデータを特定の [Amazon S3 ストレージクラス](https://aws.amazon.com/s3/storage-classes/)に直接転送できます。

一部のストレージクラスの動作は、Amazon S3 のストレージコストに影響する場合があります。オブジェクトの上書き、削除、取得に対して追加料金が発生する可能性があるストレージクラスを使用する場合、オブジェクトデータまたはメタデータを変更すると利用料金ががかかります。詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)」を参照してください。

**重要**  
Amazon S3 の送信先のロケーションに転送した新しいオブジェクトは、[ロケーションを作成する](#create-s3-location-how-to)ときに指定したストレージクラスを使用して保存されます。  
デフォルトでは、[すべてのデータを転送する](configure-metadata.md#task-option-transfer-mode)ようにタスクを設定しない限り、DataSync は既存のオブジェクトのストレージクラスを送信先のロケーションに保持します。このような状況では、ロケーションの作成時に指定したストレージクラスがすべてのオブジェクトに使用されます。


| Amazon S3 ストレージクラス | 考慮事項 | 
| --- | --- | 
| S3 Standard | アクセスが頻繁なファイルを、地理的に分散した複数のアベイラビリティーゾーンに冗長的に保存するには、[S3 Standard] を選択します。これは、ストレージクラスを指定しない場合のデフォルトです。 | 
| S3 Intelligent-Tiering |  [S3 Intelligent-Tiering] を選択すると、最もコスト効率の高いストレージアクセス階層に自動的にデータを移動して、ストレージコストを最適化できます。 S3 Intelligent-Tiering ストレージクラスに保存されたオブジェクトごとに月額料金を支払います。この Amazon S3 の料金には、データアクセスパターンのモニタリングと階層間のオブジェクトの移動が含まれます。  | 
| S3 Standard – IA |  アクセスが頻繁ではないオブジェクトを地理的に離れた複数のアベイラビリティーゾーンに冗長的に保存するには、S3 Standard-IA を選択します。 S3 Standard – IA ストレージクラスにオブジェクトを保存すると、上書き、削除、または取得に対して追加料金が発生する可能性があります。これらのオブジェクトを変更する頻度、これらのオブジェクトを保持する期間、およびオブジェクトへの必要なアクセス頻度を検討します。オブジェクトデータまたはメタデータの変更は、オブジェクトを削除して置き換える新しいオブジェクトを作成することと同じです。これにより、S3 Standard — IA ストレージクラスに保存されているオブジェクトに対して追加料金が発生します。 128 KB 未満のオブジェクトは、S3 Standard – IA ストレージアクセスのオブジェクトあたりの最小容量料金より小さくなります。これらのオブジェクトは S3 Standardストレージクラスに保存されます。  | 
| S3 1 ゾーン - IA  |  アクセスが頻繁ではないオブジェクトデータを、単一のアベイラビリティーゾーンに保存するには、[S3 1 ゾーン-IA] を選択します。 S3 1 ゾーン – IA ストレージクラスにオブジェクトを保存すると、上書き、削除、または取得に対して追加料金が発生する可能性があります。これらのオブジェクトを変更する頻度、これらのオブジェクトを保持する期間、およびオブジェクトへの必要なアクセス頻度を検討します。オブジェクトデータまたはメタデータの変更は、オブジェクトを削除して置き換える新しいオブジェクトを作成することと同じです。これにより、S3 1 ゾーン – IA ストレージクラスに保存されているオブジェクトに対して追加料金が発生します。 128 KB 未満のオブジェクトは、S3 1 ゾーン – IA 低頻度アクセスストレージクラスのオブジェクトあたりの最小容量料金より小さくなります。これらのオブジェクトは S3 Standardストレージクラスに保存されます。  | 
| S3 Glacier Instant Retrieval |  ほとんどアクセスされないがミリ秒単位で検索が必要なオブジェクトをアーカイブするには、S3 Glacier Instant Retrieval を選択します。 S3 Glacier Instant Retrieval ストレージクラスに格納されたデータは、同じレイテンシーとスループット パフォーマンスを持つ S3 Standard-IA ストレージ クラスと比較してコスト削減を実現します。S3 Glacier Instant Retrieval は、S3 Standard – IAよりもデータアクセスコストは高くなります。 S3 Glacier Instant Retrieval にオブジェクトを保存すると、上書き、削除、取得に対して追加料金が発生する場合があります。これらのオブジェクトを変更する頻度、これらのオブジェクトを保持する期間、およびオブジェクトへの必要なアクセス頻度を検討します。オブジェクトデータまたはメタデータの変更は、オブジェクトを削除して置き換える新しいオブジェクトを作成することと同じです。これにより、S3 Glacier Instant Retrieval ストレージ クラスに保存されたオブジェクトに対して追加料金が発生します。 128 KB 未満のオブジェクトは、S3 Glacier Instant Retrieval ストレージクラスのオブジェクトあたりの最小容量料金よりも小さくなります。これらのオブジェクトは S3 Standardストレージクラスに保存されます。  | 
| S3 Glacier Flexible Retrieval | よりアクティブなアーカイブには、S3 Glacier Flexible Retrieval を選択してください。S3 Glacier Flexible Retrievalにオブジェクトを保存すると、上書き、削除、取得に対して追加料金が発生する場合があります。これらのオブジェクトを変更する頻度、これらのオブジェクトを保持する期間、およびオブジェクトへの必要なアクセス頻度を検討します。オブジェクトデータまたはメタデータの変更は、オブジェクトを削除して置き換える新しいオブジェクトを作成することと同じです。これにより、S3 Glacier Flexible Retrievalストレージクラスに保存されているオブジェクトに対して追加料金が発生します。S3 Glacier Flexible Retrieval ストレージクラスには、アーカイブしたオブジェクトごとに 40 KB のメタデータが追加で必要になります。DataSync は、40 KB 未満のオブジェクトを S3 STANDARD のストレージクラスに配置します。このストレージクラスにアーカイブされたオブジェクトは、DataSync が読み取る前にリストアする必要があります。詳細については、「Amazon S3 ユーザーガイド」の「[アーカイブされたオブジェクトの復元](https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html)」を参照してください。S3 Glacier Flexible Retrieval を使用する場合は、**[転送されたデータのみを検証]** を選択して、転送の終了時にデータとメタデータのチェックサムを比較します。**[送信先のすべてのデータを検証]** は、このストレージクラスで使用できるオプションではありません。これは、送信先からすべての既存のオブジェクトを取得する必要があるためです。 | 
| S3 Glacier Deep Archive |  長期のデータ保持、およびデータのアクセス回数が年 1、2 回のデジタル保存のためのファイルのアーカイブには、[S3 Glacier Deep Archive] を選択します。 S3 Glacier Deep Archive にオブジェクトを保存すると、上書き、削除、取得に対して追加料金が発生する場合があります。これらのオブジェクトを変更する頻度、これらのオブジェクトを保持する期間、およびオブジェクトへの必要なアクセス頻度を検討します。オブジェクトデータまたはメタデータの変更は、オブジェクトを削除して置き換える新しいオブジェクトを作成することと同じです。これにより、S3 Glacier Deep Archive ストレージクラスに保存されているオブジェクトに対して追加料金が発生します。 S3 Glacier Deep Archive ストレージクラスには、アーカイブしたオブジェクトごとに 40 KB の追加メタデータが必要です。DataSync は、40 KB 未満のオブジェクトを S3 STANDARD のストレージクラスに配置します。 このストレージクラスにアーカイブされたオブジェクトは、DataSync が読み取る前にリストアする必要があります。詳細については、「*Amazon S3 ユーザーガイド*」の「[アーカイブされたオブジェクトの復元](https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html)」を参照してください。 S3 Glacier Deep Archive を Amazon S3 ストレージクラスとして使用する場合は、**[転送したデータのみを検証]** を選択して、転送の終了時にデータとメタデータのチェックサムを比較します。**[送信先のすべてのデータを検証]** は、このストレージクラスで使用できるオプションではありません。これは、送信先からすべての既存のオブジェクトを取得する必要があるためです。  | 
|  S3 Outposts  |  Outposts の Amazon S3 のストレージクラス  | 

## DataSync を使用する場合の S3 リクエストコストの評価
<a name="create-s3-location-s3-requests"></a>

Amazon S3 ロケーションでは、DataSync による S3 API リクエストに関連するコストが発生します。このセクションは、DataSync がこれらのリクエストをどのように使用するか、またそれらが [Amazon S3](https://aws.amazon.com/s3/pricing/) のコストにどのように影響するかを理解するのに役立ちます。

**Topics**
+ [DataSync による S3 リクエスト](#create-s3-location-s3-requests-made)
+ [コストに関する考慮事項](#create-s3-location-s3-requests-cost)

### DataSync による S3 リクエスト
<a name="create-s3-location-s3-requests-made"></a>

次の表は、Amazon S3 ロケーションとの間でデータをコピーするときに DataSync が実行できる S3 リクエストについて説明しています。


| S3 リクエスト | DataSync がこれを使用する方法 | 
| --- | --- | 
|  [リストオブジェクト V2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)  |  DataSync は、フォワードスラッシュ (`/`) で終わるすべてのオブジェクトに対して、そのプレフィックスで始まるオブジェクトのリストを少なくとも一つの `LIST` リクエストを作成します。このリクエストはタスクの[準備](run-task.md#understand-task-execution-statuses)段階で呼び出されます。  | 
|  [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)  | DataSync は、タスクの[準備](run-task.md#understand-task-execution-statuses)フェーズと[検証](run-task.md#understand-task-execution-statuses)フェーズで、オブジェクトメタデータを取得するために `HEAD` リクエストを作成します。DataSync が[転送するデータの整合性を検証する方法](configure-data-verification-options.md)によって、オブジェクトごとに複数の `HEAD` リクエストが発生する可能性があります。 | 
|  [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)  |  DataSync は、[タスクの転送](run-task.md#understand-task-execution-statuses)フェーズ中にオブジェクトからのデータを読み取る `GET` リクエストを作成します。ラージオブジェクトには複数の `GET` リクエストが存在する可能性があります。  | 
|  [GetObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)  |  [オブジェクトタグをコピーする](configure-metadata.md)ようにタスクを設定すると、DataSync はタスクの[準備](run-task.md#understand-task-execution-statuses)フェーズと[転送](run-task.md#understand-task-execution-statuses)フェーズでオブジェクトタグを確認するようにこれらの `GET` リクエストを行います。  | 
|  [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)  |  DataSync は、タスクの[転送](run-task.md#understand-task-execution-statuses)フェーズ中に、宛先 S3 バケットにオブジェクトとプレフィックスを作成するように `PUT` リクエストを作成します。DataSync は [Amazon S3 マルチパートアップロード機能](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html)を使用するため、ラージオブジェクトに対して複数の `PUT` リクエストが発生する可能性があります。ストレージコストを最小限に抑えるには、[ライフサイクル設定]()を使用して不完全なマルチパートアップロードを停止することをお勧めします。  | 
|  [PutObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)  | ソースオブジェクトにタグがあり、[オブジェクトタグ](configure-metadata.md)をコピーするようにタスクを設定した場合、DataSync はそれらのタグを[転送する](run-task.md#understand-task-execution-statuses)ときにこれらの `PUT` リクエストを行います。 | 
|  [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)  |  DataSync は、オブジェクトのメタデータが変更された場合にのみ、オブジェクトのコピーの作成を `COPY` リクエストします。これは、メタデータを引き継がない別のサービスまたはツールを使用して S3 バケットに最初にデータをコピーした場合に発生する可能性があります。  | 

### コストに関する考慮事項
<a name="create-s3-location-s3-requests-cost"></a>

DataSync は、タスクを実行するたびに S3 バケットで S3 リクエストを行います。このため、状況によっては料金がかさむ可能性がある。例えば、次のようになります。
+ S3 バケットとの間でオブジェクトを頻繁に転送しています。
+ 転送するデータはそれほど多くないかもしれませんが、S3 バケットには多数のオブジェクトがあります。DataSync はバケットの各オブジェクトに対して S3 リクエストを行うため、このシナリオでも高額な料金が発生する可能性があります。
+ S3 バケット間で転送しているため、DataSync は転送元と転送先で S3 リクエストを行っています。

DataSync に関連する S3 リクエストのコストを最小限に抑えるには、次の点を考慮してください。

**Topics**
+ [どの S3 ストレージクラスを使用していますか。](#create-s3-location-s3-requests-storage-classes)
+ [どのくらいの頻度でデータを転送する必要がありますか?](#create-s3-location-s3-requests-recurring-transfers)

#### どの S3 ストレージクラスを使用していますか。
<a name="create-s3-location-s3-requests-storage-classes"></a>

S3 リクエスト料金は、オブジェクトが使用している Amazon S3 ストレージクラス、特に、オブジェクトをアーカイブするクラスによって異なる場合があります。（例えば、S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval, and S3 Glacier Deep Archive などです）

DataSync を使用するときに、ストレージクラスが S3 リクエストの料金に影響するシナリオをいくつか紹介します。
+ タスクを実行するたびに、DataSync はオブジェクトメタデータを取得する `HEAD` リクエストを行います。これらのリクエストは、オブジェクトを移動していない場合でも料金が発生します。これらのリクエストが請求書にどの程度影響するかは、オブジェクトが使用しているストレージクラスと、DataSync がスキャンするオブジェクトの数に依存します。
+ オブジェクトを S3 Glacier Instant Retrieval ストレージクラスに (直接またはバケットライフサイクル設定を通じて) 移動した場合、このクラスのオブジェクトに対するリクエストは、他のストレージクラスのオブジェクトよりもコストがかかります。
+ [ソースとデスティネーションの場所が完全に同期していることを確認する](configure-data-verification-options.md)ように DataSync タスクを設定すると、すべてのストレージクラス（S3 Glacier フレキシブルリトリーブと S3 GS3 Glacier Deep Archive を除く）で各オブジェクトに対する `GET` リクエストが発生します。
+ `GET` リクエストに加えて、S3 Standard – IA、S3 1 ゾーン — IA、S3 Glacier Instant Retrieval ストレージクラスのオブジェクトに対してデータ取得コストが発生します。

詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)」を参照してください。

#### どのくらいの頻度でデータを転送する必要がありますか?
<a name="create-s3-location-s3-requests-recurring-transfers"></a>

定期的にデータを移動する必要がある場合は、必要以上のタスクを実行しない[スケジュール](task-scheduling.md)を考えてみてください。

また、転送の範囲を限定することも検討してください。たとえば、特定のプレフィックスのオブジェクトに焦点を当てたり、[転送されるデータをフィルタリングしたりする](filtering.md)ように DataSync を設定できます。これらのオプションは、DataSync タスクを実行するたびに行われる S3 リクエストの数を減らすのに役立ちます。

## Amazon S3 の転送に関するその他の考慮事項
<a name="create-s3-location-considerations"></a>
+ S3 バケットから転送を行う場合は、[S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_basics_metrics_recommendations.html) を使用して、移動させるオブジェクトの数を計算します。
+ S3 バケット間で転送する場合は、DataSync タスク[クォータ](datasync-limits.md)の対象ではないため、[拡張タスクモード](choosing-task-mode.md)を使用することをお勧めします。
+ DataSync は、名前に外字が含まれているオブジェクトを転送しない場合があります。詳細については、「*Amazon S3 ユーザーガイド」*の「[オブジェクトキー命名ガイドライン](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines)」を参照してください。
+ [バージョニング](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)を使用している S3 バケットで DataSync を使用する場合は、次の点に注意してください。
  + S3 バケットへの転送の際に、送信元でオブジェクトが変更されている場合、DataSync はそのオブジェクトの新しいバージョンを作成します。これにより追加料金が発生します。
  + オブジェクトは、送信元のバケットと送信先のバケットでバージョン ID が異なります。
  + 各オブジェクトの最新バージョンのみがソースバケットから転送されます。以前のバージョンは転送先にコピーされません。
+ 最初にS3 バケットからファイルシステム (NFS や Amazon FSx など) にデータを転送した後、同じ DataSync タスクの後続の実行には、変更されたオブジェが含まれません。最初の転送時と同じサイズのオブジェクトを除きます。

## Amazon S3 汎用バケットの転送場所の作成
<a name="create-s3-location-how-to"></a>

転送用にロケーションを作成するには、既存の S3 汎用バケットが必要です。汎用バケットがない場合は、「[https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html)」を参照してください。

**重要**  
場所を作成する前に、以下のセクションを必ずお読みください。  
[Amazon S3 転送におけるストレージクラスに関する考慮事項](#using-storage-classes)
[DataSync を使用する場合の S3 リクエストコストの評価](#create-s3-location-s3-requests)

### DataSync コンソールの使用
<a name="create-s3-location-how-to-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) で AWS DataSync コンソールを開きます。

1. 左側のナビゲーションペインで **[データ転送]** を展開し、**[ロケーション]** と **[ロケーションの作成]** を選択します。

1. **[ロケーションタイプ]** で、**[Amazon S3]** を選択し、**[汎用バケット]** を選択します。

1. **[S3 URI]** で、ロケーションに使用するバケットとプレフィックスを入力または選択します。
**警告**  
DataSync は、スラッシュ (`/`) で始まるプレフィックス、または `//`、`/./`、または `/../` パターンを含むプレフィックスを持つオブジェクトを転送できません。例えば、次のようになります。  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. **[S3 ストレージクラス (転送先として使用する場合)]** で、Amazon S3 が転送先の場合にオブジェクトが使用するストレージクラスを選択します。

   詳細については、「[Amazon S3 転送におけるストレージクラスに関する考慮事項](#using-storage-classes)」を参照してください。

1. **[IAM role]** (IAM ロール) で、次のいずれかを実行します。
   + DataSync の **[自動生成]** を DataSync に選択して、S3 バケットへのアクセスに必要なアクセス許可を持つ IAM ロールを自動的に作成します。

     DataSync が以前にこの S3 バケット用 IAM ロール を作成した場合、そのロールがデフォルトで選択されます。
   + 作成したカスタム IAM ロールを選択します。詳細については、「[DataSync が Amazon S3 ロケーションにアクセスするために必要な IAM ロールの作成](#create-role-manually)」を参照してください。

1. (オプション) **[新しいタグを追加]** を選択して Amazon S3 ロケーションに新しいタグを付けます。

   タグは、リソースの管理、フィルタリング、検索に役立ちます。場所の名前タグを作成することを推奨します。

1. **[ロケーションを作成]** を選択します。

### の使用 AWS CLI
<a name="create-location-s3-cli"></a>

1. 次の `create-location-s3` コマンドをコピーします。

   ```
   aws datasync create-location-s3 \
       --s3-bucket-arn 'arn:aws:s3:::amzn-s3-demo-bucket' \
       --s3-storage-class 'your-S3-storage-class' \
       --s3-config 'BucketAccessRoleArn=arn:aws:iam::account-id:role/role-allowing-datasync-operations' \
       --subdirectory /your-prefix-name
   ```

1. `--s3-bucket-arn` で、ロケーションとして使用する S3 バケットの ARN を指定します。

1. `--s3-storage-class` で、Amazon S3 が転送先となる場合にオブジェクトで使用するストレージクラスを指定します。

1. `--s3-config` で、DataSync がバケットにアクセスするために必要な IAM ロールの ARN を指定します。

   詳細については、「[DataSync が Amazon S3 ロケーションにアクセスするために必要な IAM ロールの作成](#create-role-manually)」を参照してください。

1. `--subdirectory` で、DataSync が読み取りと書き込みを行う S3 バケットのプレフィックスを指定します (バケットが送信元のロケーションか送信先のロケーションかに応じて異なります)。
**警告**  
DataSync は、スラッシュ (`/`) で始まるプレフィックス、または `//`、`/./`、または `/../` パターンを含むプレフィックスを持つオブジェクトを転送できません。例えば、次のようになります。  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. `create-location-s3` コマンドを実行します。

   コマンドが成功すると、作成した場所の ARN を示す応答が返されます。例えば、次のようになります。

   ```
   {
       "LocationArn": "arn:aws:datasync:us-east-1:111222333444:location/loc-0b3017fc4ba4a2d8d"
   }
   ```

ユーザーはこのロケーションを DataSync タスクの送信元または送信先として使用できます。

## S3 on Outposts バケットの転送場所の作成
<a name="create-s3-location-outposts-how-to"></a>

転送用にロケーションを作成するには、既存の Amazon S3 on Outposts バケットが必要です。Amazon S3 on Outposts バケットがない場合は、「[https://docs.aws.amazon.com/AmazonS3/latest/s3-outposts/S3onOutposts.html](https://docs.aws.amazon.com/AmazonS3/latest/s3-outposts/S3onOutposts.html)」を参照してください。

DataSync エージェントも必要です。詳細については、「[にベーシックモードエージェントをデプロイする AWS Outposts](deploy-agents.md#outposts-agent)」を参照してください。

大規模なデータセット (数十万～数百万件のオブジェクトなど) を含む S3 on Outposts バケットプレフィックスから転送を行うと、DataSync タスクがタイムアウトする可能性があります。これを避けるには、[DataSync マニフェスト](transferring-with-manifest.md) の使用を検討します。マニフェストでは、転送すべきオブジェクトの数を厳密に指定できます。

### DataSync コンソールの使用
<a name="create-s3-location-how-to-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) で AWS DataSync コンソールを開きます。

1. 左側のナビゲーションペインで **[データ転送]** を展開し、**[ロケーション]** と **[ロケーションの作成]** を選択します。

1. **[ロケーションタイプ]** で、**[Amazon S3]** を選択し、**[Outposts バケット]** を選択します。

1. **[S3 バケット]** で、S3 on Outposts バケットにアクセスできる Amazon S3 アクセスポイントを選択します。

   詳細については、「[https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)」を参照してください。

1. **[S3 ストレージクラス (転送先として使用する場合)]** で、Amazon S3 が転送先の場合にオブジェクトが使用するストレージクラスを選択します。

   詳細については、「[Amazon S3 転送におけるストレージクラスに関する考慮事項](#using-storage-classes)」を参照してください。DataSync は、デフォルトで Amazon S3 on Outposts の S3 Outposts ストレージ クラスを使用します。

1. **[エージェント]** で、Outpost 上の DataSync エージェントの Amazon リソースネーム (ARN) を指定します。

1. **[フォルダー]** で、DataSync が読み書きする S3 バケットのプレフィックスを入力します (バケットが送信元または送信先の場所であるかどうかに応じて)。
**警告**  
DataSync は、スラッシュ (`/`) で始まるプレフィックス、または `//`、`/./`、または `/../` パターンを含むプレフィックスを持つオブジェクトを転送できません。例えば、次のようになります。  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. **[IAM role]** (IAM ロール) で、次のいずれかを実行します。
   + DataSync の **[自動生成]** を DataSync に選択して、S3 バケットへのアクセスに必要なアクセス許可を持つ IAM ロールを自動的に作成します。

     DataSync が以前にこの S3 バケット用 IAM ロール を作成した場合、そのロールがデフォルトで選択されます。
   + 作成したカスタム IAM ロールを選択します。詳細については、「[DataSync が Amazon S3 ロケーションにアクセスするために必要な IAM ロールの作成](#create-role-manually)」を参照してください。

1. (オプション) **[新しいタグを追加]** を選択して Amazon S3 ロケーションに新しいタグを付けます。

   タグは、リソースの管理、フィルタリング、検索に役立ちます。場所の名前タグを作成することを推奨します。

1. **[ロケーションを作成]** を選択します。

### の使用 AWS CLI
<a name="create-location-s3-cli"></a>

1. 次の `create-location-s3` コマンドをコピーします。

   ```
   aws datasync create-location-s3 \
       --s3-bucket-arn 'bucket-access-point' \
       --s3-storage-class 'your-S3-storage-class' \
       --s3-config 'BucketAccessRoleArn=arn:aws:iam::account-id:role/role-allowing-datasync-operations' \
       --subdirectory /your-folder \
       --agent-arns 'arn:aws:datasync:your-region:account-id::agent/agent-agent-id'
   ```

1. [`--s3-bucket-arn`] で、S3 on Outposts バケットにアクセスできる Amazon S3 アクセスポイントの ARN を指定します。

   詳細については、「[https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)」を参照してください。

1. `--s3-storage-class` で、Amazon S3 が転送先となる場合にオブジェクトで使用するストレージクラスを指定します。

   詳細については、「[Amazon S3 転送におけるストレージクラスに関する考慮事項](#using-storage-classes)」を参照してください。DataSync は、デフォルトで S3 on Outposts の S3 Outposts ストレージクラスを使用します。

1. `--s3-config` で、DataSync がバケットにアクセスするために必要な IAM ロールの ARN を指定します。

   詳細については、「[DataSync が Amazon S3 ロケーションにアクセスするために必要な IAM ロールの作成](#create-role-manually)」を参照してください。

1. `--subdirectory` で、DataSync が読み取りと書き込みを行う S3 バケットのプレフィックスを指定します (バケットが送信元のロケーションか送信先のロケーションかに応じて異なります)。
**警告**  
DataSync は、スラッシュ (`/`) で始まるプレフィックス、または `//`、`/./`、または `/../` パターンを含むプレフィックスを持つオブジェクトを転送できません。例えば、次のようになります。  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. [`--agent-arns`] で、Outpost の DataSync エージェントの ARN を指定します。

1. `create-location-s3` コマンドを実行します。

   コマンドが成功すると、作成した場所の ARN を示す応答が返されます。例えば、次のようになります。

   ```
   {
       "LocationArn": "arn:aws:datasync:us-east-1:111222333444:location/loc-0b3017fc4ba4a2d8d"
   }
   ```

ユーザーはこのロケーションを DataSync タスクの送信元または送信先として使用できます。

## 間の Amazon S3 転送 AWS アカウント
<a name="create-s3-location-cross-transfers"></a>

DataSync を使用すると、[異なる AWS アカウント](working-with-locations.md#working-with-locations-across-accounts)の S3 バケット間でデータを移動できます。詳細については、以下のチュートリアルを参照してください。
+ [間でオンプレミスストレージから Amazon S3 にデータを転送する AWS アカウント](s3-cross-account-transfer.md)
+ [間で Amazon S3 から Amazon S3 にデータを転送する AWS アカウント](tutorial_s3-s3-cross-account-transfer.md)

## 商用 と 間の Amazon S3 転送 AWS GovCloud (US) Regions
<a name="create-s3-location-govcloud"></a>

DataSync は、デフォルトでは商用リージョンの S3 バケットと AWS GovCloud (US) Regionsの S3 バケットとの間の転送を行いません。ただし、転送時に S3 バケットの 1 つにオブジェクトストレージのロケーションを作成することでこのタイプの転送を行うことができます。このタイプの転送は、エージェントの有無にかかわらず実行できます。エージェントを使用する場合は、タスクを**基本**モードに設定する必要があります。エージェントなしで転送するには、**拡張**モードを使用する必要があります。

**開始する前に**: リージョン間での転送によるコストへの影響を理解しておきます。詳細については、[AWS DataSync の料金](https://aws.amazon.com/datasync/pricing/)を参照してください。

**Contents**
+ [DataSync に対するオブジェクトストレージのロケーションのバケットへのアクセス許可の付与](#create-s3-location-govcloud-iam)
+ [DataSync エージェントの作成 (オプション)](#create-s3-location-govcloud-create-agent)
+ [S3 バケットのオブジェクトストレージロケーションの作成](#create-s3-location-govcloud-how-to)

### DataSync に対するオブジェクトストレージのロケーションのバケットへのアクセス許可の付与
<a name="create-s3-location-govcloud-iam"></a>

転送用のオブジェクトストレージのロケーションを作成するときは、ロケーションにある S3 バケットにアクセスするためのアクセス許可を持つ、IAM ユーザーの認証情報を DataSync に付与する必要があります。詳細については、「[必要なアクセス許可](#create-s3-location-required-permissions)」を参照してください。

**警告**  
IAM ユーザーは長期認証情報を保有するため、セキュリティ上のリスクが生じます。このリスクを軽減するために、これらのユーザーにはタスクの実行に必要な権限のみを付与し、不要になったユーザーは削除することをお勧めします。

### DataSync エージェントの作成 (オプション)
<a name="create-s3-location-govcloud-create-agent"></a>

**基本**モードを使用して転送を実行する場合は、エージェントを使用する必要があります。商用 と の間で転送するため AWS GovCloud (US) Region、DataSync エージェントを Amazon EC2 インスタンスとしていずれかのリージョンにデプロイします。パブリックインターネットでデータ転送料金が発生しないよう、エージェントが VPC サービスエンドポイントを使用することをお勧めします。詳細については、「[Amazon EC2 Data Transfer pricing](https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer)」を参照してください。

DataSync タスクを実行するリージョンに基づいてエージェントを作成する方法を説明した、以下のシナリオの中から 1 つ選択します。

#### 商用リージョンで DataSync タスクを実行する場合
<a name="using-datasync-in-commercial"></a>

以下の図は、DataSync タスクとエージェントが商用リージョンにある場合の転送を示したものです。

![\[AWS GovCloud (US) Regionにある S3 バケットへのクロスリージョン転送のために、商用リージョンにデプロイされた DataSync エージェント。\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/images/s3-task-in-commercial.png)



| リファレンス | 説明 | 
| --- | --- | 
| 1 | DataSync タスクを実行している商用リージョンでは、データは送信元の S3 バケットから転送されます。送信元のバケットは、商用リージョンで [Amazon S3 のロケーション](#create-s3-location-how-to)として設定されます。 | 
| 2 | DataSync エージェントを介したデータ転送です。DataSync エージェントは VPC サービスエンドポイントおよび[ネットワークインターフェイス](required-network-interfaces.md)が配置されている場所と同じ VPC およびサブネットにあります。 | 
| 3 |  AWS GovCloud (US) Regionの送信先 S3 バケットへのデータ転送。送信先バケットは商用リージョンの[オブジェクトストレージロケーション](#create-s3-location-govcloud-how-to)として設定されます。 | 

この同じ設定を使用して、 から商用リージョン AWS GovCloud (US) Region に反対方向も転送できます。

**DataSync エージェントを作成するには**

1. 商用リージョンに [Amazon EC2 エージェントをデプロイします](deploy-agents.md#ec2-deploy-agent-how-to)。

1. [VPC サービスエンドポイント](choose-service-endpoint.md#datasync-in-vpc)を使用するようにエージェントを設定します。

1. [エージェントをアクティブ化します](activate-agent.md)。

#### GovCloud (米国) リージョンで DataSync タスクを実行する場合
<a name="using-datasync-in-govcloud-1"></a>

以下の図は、DataSync タスクとエージェントが AWS GovCloud (US) Regionにある場合の転送を示したものです。

![\[にデプロイされた DataSync エージェント、 AWS GovCloud (US) Region または同じ 内の S3 バケットへのクロスリージョン転送 AWS GovCloud (US) Region。\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/images/s3-task-in-govcloud-1.png)



| リファレンス | 説明 | 
| --- | --- | 
| 1 | 商用リージョンのソース S3 バケットから DataSync タスクを実行 AWS GovCloud (US) Region している へのデータ転送。送信元のバケットは、 AWS GovCloud (US) Regionに[オブジェクトストレージロケーション](#create-s3-location-govcloud-how-to)として設定されます。 | 
| 2 | では AWS GovCloud (US) Region、VPC サービスエンドポイントと[ネットワークインターフェイス](required-network-interfaces.md)があるのと同じ VPC とサブネット内の DataSync エージェントを介してデータ転送が行われます。 | 
| 3 |  AWS GovCloud (US) Regionの送信先 S3 バケットへのデータ転送。送信先のバケットは、 AWS GovCloud (US) Regionの [Amazon S3 ロケーション](#create-s3-location-how-to)として設定されます。 | 

この同じ設定を使用して、 から商用リージョン AWS GovCloud (US) Region に反対方向も転送できます。

**DataSync エージェントを作成するには**

1. に[ Amazon EC2 エージェントをデプロイ](deploy-agents.md#ec2-deploy-agent-how-to)します AWS GovCloud (US) Region。

1. [VPC サービスエンドポイント](choose-service-endpoint.md#datasync-in-vpc)を使用するようにエージェントを設定します。

1. [エージェントをアクティブ化します](activate-agent.md)。

データセットの圧縮性が高い場合、 AWS GovCloud (US) Regionでタスクを実行しながら商用リージョンにエージェントを作成することでコストを削減できる可能性があります。このエージェントの作成には通常より多くの設定が必要になります (商用リージョンで使用するためのエージェントの準備など)。この設定用のエージェントの作成については、ブログの[「Move data in and out of AWS GovCloud (US)AWS DataSync](https://aws.amazon.com/blogs/publicsector/move-data-in-out-aws-govcloud-datasync/)」を参照してください。

### S3 バケットのオブジェクトストレージロケーションの作成
<a name="create-s3-location-govcloud-how-to"></a>

DataSync タスクを実行していないリージョンにある S3 バケットには、オブジェクトストレージのロケーションが必要です。

#### DataSync コンソールの使用
<a name="create-s3-location-govcloud-how-to-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) で AWS DataSync コンソールを開きます。

1. タスクを実行する予定のリージョンと同じリージョンにいることを確認します。

1. 左側のナビゲーションペインで **[データ転送]** を展開し、[場所] と **[場所を作成する]** を選択します。

1. **場所タイプ**で、**オブジェクトストレージ**を選択します。

1. **[エージェント]** で、転送用に作成した DataSync エージェントを選択します。

1. **[サーバー]** で、次のいずれかの形式を使用して、バケット用の Amazon S3 エンドポイントを入力します。
   + **商用リージョンバケット:** `s3.your-region.amazonaws.com`
   + **AWS GovCloud (US) Region バケット**: `s3.your-gov-region.amazonaws.com`

   Amazon S3 エンドポイントのリストについては、「*[AWS 全般のリファレンス](https://docs.aws.amazon.com/general/latest/gr/s3.html)*」を参照してください。

1. **[バケット]** の名前に、S3 バケットの名前を入力します。

1. **[フォルダー]** で、DataSync が読み書きする S3 バケットのプレフィックスを入力します (バケットが送信元または送信先の場所であるかどうかに応じて)。
**警告**  
DataSync は、スラッシュ (`/`) で始まるプレフィックス、または `//`、`/./`、または `/../` パターンを含むプレフィックスを持つオブジェクトを転送できません。例えば、次のようになります。  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. **[認証情報が必要です]** を選択し、以下を実行します。
   + **[アクセスキー]** に、そのバケットにアクセスできる [IAM ユーザー](#create-s3-location-govcloud-iam)のアクセスキーを入力します。
   + **[シークレットキー]** に、上と同じ IAM ユーザーのシークレットキーを入力します。

1. (オプション)**[タグを追加]** を選択して場所にタグを付けます。

   タグは、リソースの管理、フィルタリング、検索に役立ちます。場所の名前タグを作成することを推奨します。

1. **[ロケーションを作成]** を選択します。

#### の使用 AWS CLI
<a name="create-s3-location-govcloud-how-to-cli"></a>

1. 次の `create-location-object-storage` コマンドをコピーします。

   ```
   aws datasync create-location-object-storage \
       --server-hostname s3-endpoint \
       --bucket-name amzn-s3-demo-bucket \
       --agent-arns arn:aws:datasync:your-region:123456789012:agent/agent-01234567890deadfb
   ```

1. `--server-hostname` パラメータで、次のいずれかの形式を使用して、バケットの Amazon S3 エンドポイントを指定します。
   + **商用リージョンバケット:** `s3.your-region.amazonaws.com`
   + **AWS GovCloud (US) Region バケット**: `s3.your-gov-region.amazonaws.com`

   エンドポイントのリージョンで、タスクを実行する予定のリージョンと同じリージョンを指定していることを確認します。

   Amazon S3 エンドポイントのリストについては、「*[AWS 全般のリファレンス](https://docs.aws.amazon.com/general/latest/gr/s3.html)*」を参照してください。

1. `--bucket-name` パラメータで、S3 バケットの名前を指定します。

1. `--agent-arns` パラメータで、この転送用に作成した DataSync エージェントを指定します。

1. `--access-key` パラメータで、このバケットにアクセスできる [IAM ユーザー](#create-s3-location-govcloud-iam)のアクセスキーを指定します。

1. `--secret-key` パラメータで、上と同じ IAM ユーザーのシークレットキーを入力します。

1. (オプション) `--subdirectory` パラメータで、DataSync が読み取りと書き込みを行う S3 バケットのプレフィックスを指定します (バケットが送信元のロケーションか送信先のロケーションかに応じて異なります)。
**警告**  
DataSync は、スラッシュ (`/`) で始まるプレフィックス、または `//`、`/./`、または `/../` パターンを含むプレフィックスを持つオブジェクトを転送できません。例えば、次のようになります。  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. (オプション) `--tags` パラメータで、ロケーションリソースのタグを表すキーと値のペアを指定します。

   タグは、リソースの管理、フィルタリング、検索に役立ちます。場所の名前タグを作成することを推奨します。

1. `create-location-object-storage` コマンドを実行します。

   先ほど作成した場所の ARN を示す応答が表示されます。

   ```
   {
       "LocationArn": "arn:aws:datasync:us-east-1:123456789012:location/loc-01234567890abcdef"
   }
   ```

ユーザーはこのロケーションを DataSync タスクの送信元または送信先として使用できます。この転送の他の S3 バケットで、[Amazon S3 のロケーションを作成します](#create-s3-location-how-to)。

## 次の手順
<a name="create-s3-location-next-steps"></a>

取りうる次のステップには、以下のようなものがあります。

1. 必要に応じて他のロケーションを作成します。詳細については、[でデータを転送できる場所 AWS DataSync](working-with-locations.md)を参照してください。

1. [DataSync タスクの設定を設定します](task-options.md)。例えば、転送するファイルやメタデータの処理方法などを設定します。

1. DataSync タスクの[スケジュールを設定します](task-scheduling.md)。

1. DataSync タスクの[モニタリングを設定します](monitoring-overview.md)。

1. タスクを[開始します](run-task.md)。