0
0

【AWS備忘】S3バケット内のオブジェクトを別アカウントのS3にコピー【バッチオペレーション】

Posted at

目的

アカウント①のS3バケット内のオブジェクトをアカウント②のS3バケットにコピーする

使い道の例

アカウント①で利用していたElastiCacheサービスのバックアップファイルをアカウント①のS3からアカウント②のS3 にコピーし、アカウント②内でコピーされたバックアップファイルを用いてElastiCacheをリストアする

手順

バッチオペレーションを利用する
   

移行先S3バケットの設定

移行先に指定するS3バケットの**[プロパティ]>[バケットのバージョニング]>[編集]からバージョニングを[有効]**に変更し保存する
   
image.png
image.png
image.png
image.png

同バケットの**[管理]>[レプリケーションルール]>[アクション]>[レプリケートされたオブジェクトの受信]**をクリックする
image.png

[レプリケートされたオブジェクトの受信]画面が開くので、[ソースバケットアカウント設定]>**[ソースバケットアカウントID]に移行元のAWSアカウントIDを入力し[ポリシーの生成]**をクリックする
image.png

   
**[バケットポリシーの表示]をクリックして展開し、[オブジェクト所有者を送信先バケット所有者に変更するアクセス許可を含める]を有効に変更し、[設定の適用]**をクリックする
image.png
    

移行元S3バケットの設定

移行元に指定するS3バケットの**[プロパティ]>[バケットのバージョニング]>[編集]からバージョニングを[有効]**に変更し保存する
  
image.png

image.png
image.png

image.png

同バケットの**[管理]>[レプリケーションルールを作成]**をクリックする
   
image.png

  
**[レプリケーションルールを作成]ページが開くので、以下のように必要事項を設定して[保存]**をクリックする(記載がないものはデフォルトのままでOK)
・レプリケーションルール名:任意のルール名
・ルールスコープを選択:バケット内のすべてのオブジェクトに適用(バケット内全てをコピーしたいので)
・送信先:別のアカウントのバケットを指定する
・アカウントID:移行先アカウントのアカウントID
・バケット名:移行先S3バケットのバケット名
・オブジェクト所有者を送信先バケット所有者に変更:チェックをつける(アクセス許可を移行先アカウントに変更)
・IAMロール:既存のIAMロールから選択>新しいロールの作成

   
image.png
image.png
image.png

  
**[既存のオブジェクトをレプリケートしますか?]と問われるので、[はい]を選択し[送信]**をクリックする
image.png

  
**[バッチオペレーションジョブを作成します]ページに遷移するので、以下のように設定して[保存]**をクリックする
・ジョブ実行オプション:準備が出来たらジョブを自動的に実行します
・完了レポート:なし(必要ならチェックを付ける)
・IAMロール:既存のIAMロールから選択>新しいロールの作成

image.png

  
**[ステータス][新規]**でジョブが生成される
image.png

   
**[ステータス][完了済み]になればジョブは完了となり、[失敗した合計]**が0であれば成功している
image.png

  
移行先バケットを確認すると、移行元バケットの内容がコピーされていることが確認できる
image.png

   

後処理

これまでの作業完了時点でコピーは完了されているが、レプリケーションの設定は維持されてしまっているためレプリケーションの無効化を行う

移行元S3バケットで作成したレプリケーションルールを削除する
image.png

image.png

移行先S3バケットのバケットポリシーを削除し、移行元からのレプリケーションを受け付けないようにする
image.png

   
image.png

結果

バッチオペレーションを用いてアカウント①のS3バケット内のオブジェクトをアカウント②のS3バケットにコピーすることができました
   
おわり

   
   

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0