IT男のアジャイルキャリア奮闘記

IT業界でキャリアを築きたい貴方にお役立ち情報を発信していきます

MENU

S3のアカウント間移行(オブジェクトコピー)

今週はAWSクラウドリソースのアカウント間移行をテーマに特定のサービスについて移行方法のTipsを発信していきます。

 

目次

 

背景

f:id:hungrycrazyman:20210621075537p:plain

リソースのアカウント間移行の背景ですが、元々2つのAWSアカウントで開発環境を運用しており、諸事情により1つのアカウントを削除することになったので削除アカウントで作成したリソースを一部もう一つのアカウントへ移行することになりました。

 

移行対象サービス

f:id:hungrycrazyman:20210625072150p:plain

AWSのオブジェクトストレージサービスであるAmazon Simple Storage Service (Amazon S3)です。

 

移行方法

S3のアカウント間移行については既に下記のサイトが参考になります。

qiita.com

 

今回は上記のサイトとは少し違った方法で移行手順を紹介したいと思います。

方法としては以下の通りです。

 

上記サイトでは移行先アカウントに移行操作を行うユーザーを立てて移行元アカウントのS3にユーザーのアクセス権限を設定しておりましたが、今回は移行元アカウントに移行操作を行うユーザーを立てて移行先アカウントのS3にユーザーのアクセス権限を設定する方法を取りたいと思います。

要するにアクセス権限の制御さえできれば、移行ユーザーをどちらのアカウント(移行元・移行先)で作成しても問題ないことを証明したいと思います。

 

移行手順

1.移行元のS3バケットを確認する

AWS管理コンソールを開き、S3のページでバケットを確認します。

※黒いマスキング部分がバケット名です。

f:id:hungrycrazyman:20210625080240p:plain

2.AWS CLIユーザを移行元に作成し、CLIコマンドの設定を実施する

CLIユーザの作成については以下のサイトが参考になります。

qiita.com

 

CLIコマンド実行の初期設定はコマンドライン上で以下のコマンドを実行します。

aws configure

f:id:hungrycrazyman:20210625081343p:plain

アクセスキー、シークレットキー、リージョン、ファイル形式を指定します。

 

3.移行先にS3バケットを作成し、バケットポリシーを付与する

バケットを新規作成する。

f:id:hungrycrazyman:20210625081404p:plain

バケットポリシーを以下のように設定する。

f:id:hungrycrazyman:20210625081419p:plain

 

4.CLIコマンドを実行してバケット内のオブジェクトをコピーする

S3のsyncコマンドを利用する。引数はS3のURIなど決められているのご注意。

f:id:hungrycrazyman:20210625082121p:plain

これでバケット間のオブジェクト移動ができましたね。

 

ではまた、会いましょう。