2023 年 12 月 7 日より、バージョン 1 DataSync のエージェントは廃止されます。 DataSync コンソールの [エージェント] ページをチェックして、影響を受けるエージェントがいないか確認してください。その場合は、データ転送やストレージ検出の中断を避けるため、その前にそれらのエージェントを交換してください。さらにサポートが必要な場合は、お問い合わせくださいAWS サポート
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon S3 バケットとの間でデータを転送するには、AWS DataSync転送場所を作成します。 DataSync この場所をデータ転送のソースまたは宛先として使用できます。
重要
ロケーションを作成する前に、以下のセクションを必ずお読みください。
S3 バケットへのアクセス
DataSync S3 バケットへのアクセスが必要です。そのために、は、 DataSync そのロールが実行できるアクションを決定する IAM ポリシーを持つ AWS Identity and Access Management (IAM) ロールを引き受けます。
S3 バケットにアクセスするための IAM ロールを作成します DataSync 。
コンソールでは、通常 S3 バケットにアクセスするための適切な権限を持つ IAM DataSync ロールを自動的に作成して引き受けることができます。ただし、セキュリティレイヤーが強化されたバケットの場合は、このロールを手動で作成する必要がある場合があります。
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
左側のナビゲーションペインの [アクセス管理] で [ロール] を選択し、[ロールの作成] を選択します。
-
「信頼されるエンティティの選択」 ページの「信頼されたエンティティタイプ」で、を選択しますAWS のサービス。
-
[ユースケース] DataSyncでは、ドロップダウンリストから選択してを選択しますDataSync。[次へ] をクリックします。
-
[Add permissions] (アクセス許可を追加する) ページで Next (次へ) を選択します。ロールに名前を付け、[ロールを作成] を選択します。
-
「ロール」ページで、作成したロールを検索して名前を選択します。
-
ロールの詳細ページで、「権限」タブを選択します。[権限の追加] を選択し、[インラインポリシーの作成] を選択します。
-
JSON タブを選択し、以下のサンプルポリシーのいずれかをポリシーエディターに貼り付けます。
-
[次へ] をクリックします。ポリシーに名前を付け、[ポリシーの作成] を選択します。
-
(推奨) サービス間での代理の混乱を防ぐには、次のことを行ってください。
-
ロールの詳細ページで、「信頼関係」タブを選択します。[Edit trust policy] (信頼ポリシーを編集) を選択します。
-
aws:SourceArn
aws:SourceAccount
とグローバル条件コンテキストキーを含む次の例を使用して信頼ポリシーを更新します。{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "StringLike": { "aws:SourceArn": "arn:aws:datasync:region
:account-id
:*" } } }] } -
[ポリシーの更新] を選択します。
-
Amazon S3 ロケーションを作成するときに、このロールを指定できます。
サーバー側の暗号化を使用して S3 バケットにアクセスする
DataSync サーバー側の暗号化を使用する S3 バケットにデータをコピーしたり、S3 バケットからデータをコピーしたりできます。バケットが使用する暗号化キーの種類によって、 DataSync バケットへのアクセスを許可するカスタムポリシーが必要かどうかが決まります。
DataSync サーバー側の暗号化を使用する S3 バケットで使用する場合は、次の点に注意してください。
-
S3 AWS バケットがマネージドキーで暗号化されている場合、リソースがすべて同じであれば、デフォルトでバケットのオブジェクトにアクセスできます。 DataSync AWS アカウント
-
S3 バケットが顧客管理 AWS Key Management Service (AWS KMS) キー (SSE-KMS) で暗号化されている場合 — キーのポリシーには、バケットへのアクセスに使用する IAM DataSync ロールが含まれている必要があります。
-
S3 バケットが顧客管理の SSE-KMS キーで暗号化されていて、AWS アカウント別のキーにある場合は、もう一方のバケットにアクセスする権限が必要です。 DataSync AWS アカウントこれを設定するには、次の操作を行います。
-
が使用する IAM ロールで DataSync、宛先バケットに関連付けられた SSE-KMS キーを指定します。
-
-
S3 バケットが顧客提供の暗号化キー (SSE-C) で暗号化されている場合、このバケットにはアクセスできません。 DataSync
次の例は、顧客管理の SSE-KMS キーのキーポリシーです。このポリシーは、サーバー側の暗号化を使用する S3 バケットに関連付けられています。以下の値は設定によって異なります。
-
アカウント ID — あなたの
. AWS アカウント -
your-admin-role
— キーを管理できる IAM ロール。 -
your-datasync-role
— バケットにアクセスする際にキーを使用できる DataSync IAM ロール。
{
"Id": "key-consolepolicy-3",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Enable IAM Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::account-id
:root"
},
"Action": "kms:*",
"Resource": "*"
},
{
"Sid": "Allow access for Key Administrators",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::account-id
:role/your-admin-role
"
},
"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::account-id
:role/your-datasync-role
"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*"
],
"Resource": "*"
},
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::account-id
:role/your-datasync-role
"
},
"Action": [
"kms:CreateGrant",
"kms:ListGrants",
"kms:RevokeGrant"
],
"Resource": "*",
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": "true"
}
}
}
]
}
Amazon S3 転送に関するストレージクラスに関する考慮事項
Amazon S3 が転送先の場合、データを特定の Amazon S3 DataSync ストレージクラスに直接転送できます
重要
S3 バケットにコピーされた新しいオブジェクトは、Amazon S3 の転送場所を作成するときに指定したストレージクラスを使用して保存されます。 DataSync バケット内の既存のオブジェクトのストレージクラスは変更されません (そのオブジェクトがソースロケーションで変更された場合でも)。
Amazon S3 ストレージクラス | 考慮事項 |
---|---|
S3 Standard | アクセスが頻繁なファイルを、地理的に分散した複数のアベイラビリティーゾーンに冗長的に保存するには、[S3 Standard] を選択します。これは、ストレージクラスを指定しない場合のデフォルトです。 |
S3 Intelligent-Tiering |
[S3 Intelligent-Tiering] を選択すると、最もコスト効率の高いストレージアクセス階層に自動的にデータを移動して、ストレージコストを最適化できます。 S3 Intelligent-Tiering ストレージクラスに保存されているオブジェクトごとに月額料金を支払います。この Amazon S3 料金には、データアクセスパターンのモニタリングと階層間のオブジェクトの移動が含まれます。 |
S3 Standard – IA |
アクセス頻度の低いオブジェクトを、地理的に離れた複数のアベイラビリティーゾーンに冗長的に保存するには、S3 標準 — IA を選択してください。 S3 Standard – IA ストレージクラスにオブジェクトを保存すると、上書き、削除、または取得に対して追加料金が発生する可能性があります。これらのオブジェクトを変更する頻度、これらのオブジェクトを保持する期間、およびオブジェクトへの必要なアクセス頻度を検討します。オブジェクトデータまたはメタデータの変更は、オブジェクトを削除して置き換える新しいオブジェクトを作成することと同じです。これにより、S3 Standard — IA ストレージクラスに保存されているオブジェクトに対して追加料金が発生します。 128 KB 未満のオブジェクトは、S3 Standard – IA ストレージアクセスのオブジェクトあたりの最小容量料金より小さくなります。これらのオブジェクトは S3 Standardストレージクラスに保存されます。 |
S3 1 ゾーン - IA |
アクセス頻度の低いオブジェクトを 1 つのアベイラビリティーゾーンに保存するには、S3 One Zone-IA を選択してください。 S3 1 ゾーン – IA ストレージクラスにオブジェクトを保存すると、上書き、削除、または取得に対して追加料金が発生する可能性があります。これらのオブジェクトを変更する頻度、これらのオブジェクトを保持する期間、およびオブジェクトへの必要なアクセス頻度を検討します。オブジェクトデータまたはメタデータの変更は、オブジェクトを削除して置き換える新しいオブジェクトを作成することと同じです。これにより、S3 1 ゾーン – IA ストレージクラスに保存されているオブジェクトに対して追加料金が発生します。 128 KB 未満のオブジェクトは、S3 1 ゾーン – IA 低頻度アクセスストレージクラスのオブジェクトあたりの最小容量料金より小さくなります。これらのオブジェクトは S3 Standardストレージクラスに保存されます。 |
S3 Glacier Instant Retrieval |
S3 Glacier インスタント取得を選択すると、ほとんどアクセスされないが、ミリ秒単位での取得が必要なオブジェクトをアーカイブできます。 S3 Glacier Instant Retrieval ストレージクラスに保存されたデータは、同じレイテンシーとスループットパフォーマンスを備えた S3 標準 IA ストレージクラスと比較してコストを節約できます。ただし、S3 Glacier インスタント取得は S3 標準 IA よりもデータアクセスコストが高くなります。 S3 Glacier インスタント取得に保存されたオブジェクトは、上書き、削除、取得に追加料金が発生する可能性があります。これらのオブジェクトを変更する頻度、これらのオブジェクトを保持する期間、およびオブジェクトへの必要なアクセス頻度を検討します。オブジェクトデータまたはメタデータの変更は、オブジェクトを削除して置き換える新しいオブジェクトを作成することと同じです。その結果、S3 Glacier インスタント取得ストレージクラスに保存されたオブジェクトには追加料金がかかります。 128 KB 未満のオブジェクトは、S3 Glacier インスタント取得ストレージクラスのオブジェクトあたりの最小容量料金よりも小さくなります。これらのオブジェクトは S3 Standardストレージクラスに保存されます。 |
S3 Glacier Flexible Retrieval | よりアクティブなアーカイブには S3 Glacier フレキシブルリトリーブを選択してください。 S3 Glacier フレキシブル検索に保存されたオブジェクトは、上書き、削除、取得に追加料金がかかる場合があります。これらのオブジェクトを変更する頻度、これらのオブジェクトを保持する期間、およびオブジェクトへの必要なアクセス頻度を検討します。オブジェクトデータまたはメタデータの変更は、オブジェクトを削除して置き換える新しいオブジェクトを作成することと同じです。その結果、S3 Glacier フレキシブル検索ストレージクラスに保存されているオブジェクトには追加料金がかかります。 40 KB 未満のオブジェクトは、S3 Glacier Flexible Retrieval ストレージクラスのオブジェクトあたりの最小容量料金よりも小さくなります。これらのオブジェクトは S3 Standardストレージクラスに保存されます。 このストレージクラスにアーカイブされたオブジェクトは、 DataSync 読み取る前に復元する必要があります。詳細については、Amazon S3 ユーザーガイドの「アーカイブされたオブジェクトの使用」を参照してください。S3 Glacier Flexible Retrieval を使用するときは、「転送されたデータのみを確認する」タスクオプションを選択して、転送終了時にデータとメタデータのチェックサムを比較します。このストレージクラスでは [転送先のすべてのデータを確認] オプションは使用できません。転送先から既存のオブジェクトをすべて取得する必要があるためです。 |
S3 Glacier Deep Archive |
S3 Glacier Deep Archive を選択すると、長期間のデータ保持とデジタル保存のためにオブジェクトをアーカイブできます。データには、年に 1 ~ 2 回アクセスします。 S3 Glacier Deep Archive にオブジェクトを保存すると、上書き、削除、取得に対して追加料金が発生する場合があります。これらのオブジェクトを変更する頻度、これらのオブジェクトを保持する期間、およびオブジェクトへの必要なアクセス頻度を検討します。オブジェクトデータまたはメタデータの変更は、オブジェクトを削除して置き換える新しいオブジェクトを作成することと同じです。これにより、S3 Glacier Deep Archive ストレージクラスに保存されているオブジェクトに対して追加料金が発生します。 40 KB 未満のオブジェクトは、S3 Glacier Deep Archive ストレージクラスのオブジェクトあたりの最小容量料金より小さくなります。これらのオブジェクトは S3 Standardストレージクラスに保存されます。 このストレージクラスにアーカイブされたオブジェクトは、 DataSync 読み取る前に復元する必要があります。詳細については、Amazon S3 ユーザーガイドの「アーカイブされたオブジェクトの使用」を参照してください。 S3 Glacier Deep Archive を使用する場合、[転送されたデータのみを確認] タスクオプションを選択して、転送終了時にデータとメタデータのチェックサムを比較します。このストレージクラスでは [転送先のすべてのデータを確認] オプションは使用できません。転送先から既存のオブジェクトをすべて取得する必要があるためです。 |
S3 Outposts |
Outposts の Amazon S3 のストレージクラス |
使用時の S3 リクエストコストの評価 DataSync
Amazon S3 ロケーションでは、 DataSyncによって行われる S3 API リクエストに関連するコストが発生します。このセクションは、 DataSync これらのリクエストがどのように使用されるか、また Amazon S3 のコストにどのように影響するかを理解するのに役立ちます
によって行われた S3 リクエスト DataSync
次の表では、Amazon S3 DataSync ロケーションとの間でデータをコピーするときに実行できる S3 リクエストについて説明します。
S3 リクエスト | DataSync 使い方 |
---|---|
DataSync フォワードスラッシュ ( |
|
DataSync タスクの準備段階と検証段階で、 |
|
DataSync タスクの転送フェーズ中に、 |
|
オブジェクトタグをコピーするようにタスクを設定した場合、 DataSync タスクの準備段階と転送段階で、 |
|
DataSync タスクの転送フェーズ中に、送信先の S3 |
|
ソースオブジェクトにタグがあり、 DataSync オブジェクトタグをコピーするようにタスクを設定すると、PUTタグを転送するときにこれらのリクエストが実行されます。 |
|
DataSync オブジェクトのメタデータが変更された場合にのみ、 |
コストに関する考慮事項
DataSync タスクを実行するたびに S3 バケットに S3 リクエストを行います。これにより、特定の状況では料金が加算されることがあります。例:
-
S3 バケットとの間でオブジェクトを頻繁に転送している。
-
転送するデータはそれほど多くないかもしれませんが、S3 バケットには多数のオブジェクトがあります。このシナリオでは、バケットの各オブジェクトに対して S3 DataSync リクエストを行うため、依然として高額な料金が発生する可能性があります。
-
S3 バケット間の転送を行うため、送信元と送信先で S3 DataSync リクエストを行うことも同様です。
関連する S3 リクエストのコストを最小限に抑えるには DataSync、次の点を考慮してください。
どの S3 ストレージクラスを使用していますか?
S3 リクエストの料金は、オブジェクトが使用している Amazon S3 ストレージクラス、特にオブジェクトをアーカイブするクラス(S3 Glacier インスタント取得、S3 Glacier フレキシブル取得、S3 Glacier Deep Archive など)によって異なります。
以下のシナリオでは、ストレージクラスが使用時に S3 リクエストの料金に影響する可能性があります。 DataSync
-
タスクを実行するたびに、 DataSync
HEAD
オブジェクトメタデータの取得をリクエストします。これらのリクエストは、オブジェクトを移動していない場合でも料金が発生します。これらのリクエストが請求にどの程度影響するかは、オブジェクトが使用しているストレージクラスと、 DataSync スキャンするオブジェクトの数によって異なります。 -
オブジェクトを S3 Glacier Instant Retrieval ストレージクラスに (直接またはバケットライフサイクル設定を通じて) 移動した場合、このクラスのオブジェクトに対するリクエストは、他のストレージクラスのオブジェクトよりもコストがかかります。
-
DataSync ソースとターゲットのロケーションが完全に同期されていることを確認するようにタスクを設定すると、すべてのストレージクラス(S3 Glacier フレキシブルリトリーブと S3 GS3 Glacier Deep Archive を除く)
GET
の各オブジェクトに対するリクエストが発生します。 -
GET
リクエストに加えて、S3 標準 IA、S3 1 ゾーン IA、または S3 Glacier インスタント取り出しストレージクラスのオブジェクトのデータ取得コストが発生します。
詳細については、「Amazon S3 の料金
どのくらいの頻度でデータを転送する必要がありますか?
定期的にデータを移動する必要がある場合は、必要以上のタスクを実行しないスケジュールを考えてみてください。
また、転送の範囲を限定することも検討してください。たとえば、特定のプレフィックスのオブジェクトに焦点を当てたり、 DataSync 転送されるデータをフィルタリングしたりするように設定できます。これらのオプションは、 DataSync タスクを実行するたびに行われる S3 リクエストの数を減らすのに役立ちます。
Amazon S3 への転送に関するその他の考慮事項
で Amazon S3 を使用するときは DataSync、次の点に注意してください。
-
オブジェクトデータまたはメタデータを変更することは、オブジェクトを削除して置き換えることと同じです。これらの変更により、以下のシナリオでは追加料金が発生します。
-
オブジェクトのバージョニングを使用する場合 – オブジェクトデータまたはメタデータへの変更によってオブジェクトの新しいバージョンが作成されます。
-
オブジェクトの上書き、削除、または取得に追加料金が発生する可能性のあるストレージクラスを使用する場合 — オブジェクトデータまたはメタデータを変更すると、そのような料金が発生します。詳細については、「Amazon S3 転送に関するストレージクラスに関する考慮事項」を参照してください。
-
-
Amazon S3 でオブジェクトのバージョニングを使用する場合、 DataSync タスクを 1 回実行すると、Amazon S3 オブジェクトの複数のバージョンが作成されることがあります。
-
DataSync 名前に標準外の文字が含まれていると、オブジェクトを転送できない場合があります。詳細については、Amazon S3 ユーザーガイドのオブジェクトキー命名ガイドラインを参照してください。
-
Amazon S3 のストレージコストを最小限に抑えるため、ライフサイクル設定を使用して不完全なマルチパートアップロードを停止することをお勧めします。詳細については、Amazon S3 ユーザーガイドを参照してください。
-
S3 バケットからファイルシステム (NFS や Amazon FSx など) に最初にデータを転送した後、 DataSync 同じタスクを次に実行しても、変更されたが最初の転送時と同じサイズのオブジェクトは含まれません。
-
S3 バケットから転送する場合は、Amazon S3 Storage Lens を使用して、移動するオブジェクトの数を把握してください。
ヒント
S3 バケット間で転送する場合、転送タスクごとに 2,500 DataSync 万個を超えるオブジェクトをコピーすることはできません。バケットに 2,500 万個を超えるオブジェクトがある場合は、次の 2 つの方法をお勧めします。
-
2,500 万個以下のオブジェクトを含むプレフィックスを使用してオブジェクトを整理する。その後、 DataSync プレフィックスごとに個別のタスクを作成できます。
-
Amazon S3 の転送ロケーションの作成
ロケーションを作成するには、既存の S3 バケットが必要です。まだお持ちでない場合は、Amazon S3 ユーザーガイドの「Amazon S3 の使用開始」を参照してください。
ヒント
S3 バケットに異なるストレージクラスのオブジェクトがある場合は、DataSyncこれらのストレージクラスがどのように機能するか、AWSまたそれが請求にどのように影響するかを学んでください。
Amazon S3 の場所を作成するには
https://console.aws.amazon.com/datasync/ AWS DataSync
でコンソールを開きます。 -
左側のナビゲーションペインで [データ転送] を展開し、[ロケーション] と [ロケーションの作成] を選択します。
-
ロケーションタイプには Amazon S3 を選択します。
-
S3 バケットでは、ロケーションとして使用するバケットを選択します。( DataSync 後でタスクを作成するときに、このロケーションがソースロケーションかターゲットロケーションかを指定します)。
S3 AWS Outposts バケットがリソースにある場合は、Amazon S3 アクセスポイントを指定する必要があります。詳細については、Amazon S3 ユーザーガイドの「Amazon S3 アクセスポイントによるデータアクセスの管理」を参照してください。
-
S3 ストレージクラスでは、Amazon S3 が転送先の場合にオブジェクトが使用するストレージクラスを選択します。
詳細については、「」を参照してくださいAmazon S3 転送に関するストレージクラスに関する考慮事項。 DataSync デフォルトでは、Outposts の Amazon S3 の S3 Outposts ストレージクラスを使用します。
-
(Outposts の Amazon S3 のみ) エージェントの場合は、 DataSync アウトポストのエージェントの Amazon リソースネーム (ARN) を指定します。
詳細については、「AWS Outpostsのエージェントをデプロイする」を参照してください。
-
Folder には、(バケットがソースロケーションか宛先ロケーションかによって) DataSync 読み取りまたは書き込みを行う S3 バケットのプレフィックスを入力します。
注記
プレフィックスをスラッシュ (例:
/photos
) で始めることも、のように連続するスラッシュを含めることもできません。photos//2006/January
-
[IAM role] (IAM ロール) で、次のいずれかを実行します。
-
S3 バケットへのアクセスに必要な権限を持つ IAM DataSync ロールを自動的に作成するには、[自動生成] を選択します。
この S3 バケット用に IAM DataSync ロールを以前に作成した場合、そのロールがデフォルトで選択されます。
-
作成したカスタム IAM ロールを選択します。詳細については、「S3 バケットにアクセスするための IAM ロールを作成します DataSync 。」を参照してください。
-
-
(オプション) [タグを追加] を選択して Amazon S3 ロケーションにタグを付けます。
タグは、場所の管理、フィルタリング、検索に便利なキー値ペアです。
-
[ロケーションを作成] を選択します。
作成したら、この場所を転送元または転送先として使用できます。
S3 バケットへの転送、または S3 バケットからの転送 AWS アカウント
を使用すると DataSync、異なる S3 バケットとの間でデータを移動できます。AWS アカウント詳細については、以下のチュートリアルを参照してください。