LoginSignup
0
0

S3バケットのコピーを作る

Posted at

AWS Cloudfront のコンテンツのスナップショットを作るために、そのオリジンとしていたAWSのS3バケットのコピーのやり方を備忘として残しておきます。

AWS CLI for Windowsをインストールする

WebブラウザからアクセスできるAWSの管理コンソールでは、S3バケットをコピーする機能がないため、コマンドラインインタフェース(CLI)を使います。ここではWindows PowerShell から使うために、AWS CLI for Windows をインストールします。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html

AWSCLIV2.msi ファイルをダンロードしたら、手元のWindows 上で実行してインストールします。

インストールが済んだら、PowerShell を立ち上げて、インストールされたAWS CLI のバージョンを確認しておきましょう。

aws --version
aws-cli/2.15.53 Python/3.11.8 Windows/10 exe/AMD64

S3のコピーに使用するIAMユーザを追加する

AWS CLIで使用するAWSのIAMユーザ(ここではcli-user)を作ります。今回はS3にアクセスするので、AmazonS3FullAccess ポリシーをそのユーザの権限としてアタッチします。

WebブラウザからAWS マネジメントコンソールにアクセスして、IAM(Identity and Access management)でユーザcli-userを作ります。

作った cli-userの「許可ポリシー」にAmazonS3FullAccess ポリシーをアタッチ(追加)します。

また、「アクセスキーを作成」から、AWS CLIでアクセスする際に使用するアクセスキーを作っておきます。アクセスキーを作ると、「アクセスキー」と「シークレットアクセスキー」のペアが作られるので、Windows 上で使うために控えて置きます。ここでは説明のために、次のキーが作られたと仮定して進めます。
アクセスキー:abcd1234abcd
シークレットアクセスキー: ABCD1234ABCD

AWS CLIの環境設定

PowerShell上で、AWS CLIに必要な設定ファイルを作成します。
ホームディレクトリの直下に .awsディレクトリ(~/.aws)を作成して、この下にconfigファイル、credentials ファイルを作成します。

mkdir .aws

configファイルには、AWS CLIの出力フォーマット(output)と、使用するリージョン(region)を指定しておきます。

また、credentials ファイルにはアクセスキーとシークレットアクセスキーを指定します。

configファイルやcredentials ファイルには複数の設定を「プロファイル」として記載できるので、今回は「test」というプロファイル名で設定しておきます。

=====config=====

[test]
output = json
region = us-east-1

=====credentials=====

[test]
aws_access_key_id = abcd1234abcd 
aws_secret_access_key = ABCD1234ABCD

S3バケットをコピーする

S3バケット間で直接コピーする方法がないので、S3バケットの内容を一度Windows にコピーして、そのコピーを別のS3バケットに再度コピーします。

説明のために、コピー元のS3バケットを s3://original.foo.bar、コピー先のS3バケットを s3://copy.foo.bar とします。

まずは、AWS CLI を使ってS3バケット s3://original.foo.bar からPC上のs3backup フォルダにコピーします。

aws s3 cp s3://original.foo.bar ./s3backup --recursive --profile test

続いて、PC上のs3backup フォルダのファイルをS3バケット s3://copy.foo.bar にコピーします。

aws s3 cp ./s3backup s3://easy.sawabe.jp --recursive --profile test
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