目次
概要
AWS S3上に作成したバケットを別リージョンのバケットにレプリケーションし、データの冗長化する方法。
前提条件
・AWSのアカウントを所持していること。
・S3の操作が可能なこと。
S3のバケット作成
通常利用しているリージョンにS3バケットを作成
① AWSマネジメントコンソールのサービスを検索するから「S3」と検索し「S3」を選択します。
② 左メニュー「バケット」→「バケットの作成」をクリックします。
③ 「バケット名」を入力し、リージョンを通常利用するリージョンが選択していることを確認します。
④ 右下「バケットを作成」をクリックして、バケットを作成します。
⑤ 「作成バケット」→「概要」→「アップロード」からサンプルファイルをアップロードします。
⑥ 「プロパティ」→「バージョンニング」を選択し、「バージョニングの有効化」にチェックを入れ「保存」します。
レプリケーション先にS3バケットを作成
① 「S3」→「バケット」→「バケットの作成」をクリックします。バケット名を入力し、通常利用とは違うリージョンを選択します。(下記例はシンガポール リージョンを選択しています)
② 右下「バケットを作成」をクリックして、バケットを作成します。
③ 「プロパティ」→「バージョンニング」を選択し、「バージョニングの有効化」にチェックを入れ「保存」します。
レプリケーションの設定
① 「S3」→「バケット」→「レプリケーション元バケット」→「管理」→「レプリケーション」→「今すぐ始める」をクリックします。
② 「ソースの設定」「レプリケーション条件」の設定をして「次へ」をクリックします。
ソースの設定 | すべてのコンテンツ ・全てのデータをレプリケーションしますプレフィックスまたはタグ ・プレフィックスまたはタグを入力し、 対象のデータのみレプリケーションします |
レプリケーション条件 | AWS KMSを利用している場合は、KMSの暗号を利用することが可能です |
③ 送信先バケットは「レプリケーション先」のバケットを選択します。例では作成したS3バケット(シンガポールリージョン)を選択します。
④ レプリケーション先のストレージクラスを選択します。例ではバックアップとしてレプリケーションするため、料金の安い「Amazon Glacier」を選択しています。
⑤ オブジェクトの所有者を設定する場合は、対象ユーザーのアカウントIDを入力します。
⑥ レプリケーション時間のコントロール設定では、レプリケーション時間を早めたい場合に設定します。別途料金が発生するので注意です。選択後「次へ」をクリックします。
⑦ IAMロールを指定します。例ではレプリケーション用に新しいIAMロールを設定しております。指定後「次へ」をクリックします。
⑧ 確認画面が表示されるので、問題が無ければ「保存する」をクリックします。
レプリケーションの確認(手動)
レプリケーション元のバケットに既存にデータがあった場合、手動でレプリケーションする必要があります。
① AWS CLI上でS3のバケットの確認をします。
aws s3 ls
※ AWS CLIが未設定の場合、以下の記事を参照し設定してください。
AWS CLIの使用方法
② レプリケーションのコマンドを利用して手動実行します。
aws s3 cp --recursive s3://(レプリケーション元S3バケット名) s3://(レプリケーション先S3バケット名)
③ 正常完了すると以下の結果が表示されます。
(例)copy: s3://replication-tokyo-20200720/sample.jpg to s3://replication-singapore-20200720/sample.jpg
④ 対象のS3バケットの「概要」から、レプリケーションされたか確認をします。
レプリケーションの確認(自動)
① 別のサンプルファイルを「レプリケーション元のS3バケット」にアップロードします。
② 「レプリケーション先のS3バケット」にコピーされたか確認をします。