MEGAZONEブログ
グローバルなアプリケーションをサポートするために、複数のリージョンにAmazon S3を展開する
Deploying Amazon S3 in multiple Regions to support global applications
Pulisher : AI & Data Analytics Center チェ・スンヒョン Description : S3ではどのように各バケット間でデータを複製/移動させることができるかを紹介したWorkshopセッション
はじめに
グローバルサービスを提供している企業の要件を見て、マルチリージョン間の最小限の遅延時間でレプリケーションやデータ移動に対する関心が高まっていると感じました。 このような流れの中で、Data Lakeとして最も多く使われているS3ではどのように各バケット間でデータをレプリケーション/移動させることができるのか、実際のWorkshopを通じて体験するために当該セッションを申し込みました。
また、複製する過程でセキュリティ要件などの理由でInternetアクセスができない場合は、どのような方法でネットワークを構成して環境を構成するのか、そのセッションを通じて学びたいと思いました。
セッションの概略紹介
このセッションはWorkshopで行われ、一つのアカウントにある複数のリージョンのS3バケットを基本前提でHands-onが構成されていました。
まず、Workshopの進行過程とテーマであるS3 Multiple Region Replicationについての簡単な紹介から始まりました。
S3 Replicationは、双方向レプリケーション、一方向レプリケーション、他のリージョン間レプリケーションなど様々なタイプのレプリケーションを提供しています。単純にレプリケーションを提供するだけでなく、様々な指標を活用してレプリケーションされているオブジェクトの詳細な内容やモニタリングも可能です。
5つのレプリケーションタイプは以下の通りです。
1) 同じリージョンのバケット間のデータ複製
2) 異なるリージョンに存在するバケット間のデータ複製
3) 2つ以上のリージョンに存在するバケットへのデータ複製
です: 2番との最大の違いは、主要バケットにデータが保存される場合、他の2つのリージョンにあるバケットに複製が可能です。
4) バケット間の双方向データ複製
5) レプリケーション時間の遅延が発生しないようにTime Controlベースのデータレプリケーション
このようにS3 Replicationは同じS3 Classでなくても複製可能で、単純なファイル複製だけでなく、メタデータも一緒に複製できるので、これを活用して悪意のある削除からデータを保護するためにも使うことができます。 しかし、削除から保護するためには、事前に該当バケットに対するバージョン管理が有効になっている必要があります。 また、同じアカウントだけでなく、他のアカウントにもオブジェクトを複製することも可能です。これらの特徴により、S3 Replicationは最も低い遅延時間で他の地域内のバケットに複製することができます。
ワークショップ実習内容
S3 Replicationについての説明の後、その内容についての実習が行われました。
実習は全部で3つのモジュールで行われ、最初のモジュールでは直接バケットにオブジェクトを書き込む作業時間とマルチリージョンアクセスポイントにオブジェクトを書き込む作業との時間を比較しました。
ロングゴンリージョンからシドニーリージョンバケットに直接オブジェクトを書き込む作業は平均2秒、リージョンアクセスポイントを活用してシドニーリージョンに複製される時間は約0.6秒で所要時間に大きな差がありました。ロングゴンリージョンから当該リージョンにオブジェクトを書き込むのにかかる時間も約0.6秒で、低い遅延時間で複製されることを体感することができました。
モジュール2では、多地域アクセスポイントのフェイルオーバー制御を通じて手動でトラフィックリダイレクトをテストし、複製とバケットリクエストトラフィックを視覚化するテストも行いました。Cloudwatchで直接モニタリングしたり、S3マルチリージョン・アクセス・コンソール画面でもトラフィックの状況をモニタリングすることができました。
モジュール3ではバケットポリシーとVPCエンドポイントを活用したデータ複製環境を構成しました。
直接EC2クライアントからS3バケットに接続できないように構成し、マルチリージョンアクセスポイントにのみ権限を付与しました。このポリシーを通じてバケットへのアクセスは制御されますが、アクセスポイントを通じてデータを転送することができました。 また、インターネットネットワークを通さずにデータを転送できるようにVPCエンドポイントも一緒に構成しました。 これにより、マルチリージョンアクセスポイントにのみ権限を付与しながら、インターネットネットワークが通らなくてもVPNまたはDirect Connectを通じてデータを転送できる環境と同様に実装しました。
セッションを終えて
最近の様々な要件を見て、グローバルサービス企業で各該当リージョンに収集したデータを過度なWorkloadをかけずに遅延時間を減らしてデータを転送したいという要件が増加していると思いました。 インターネットアクセスポイントなしでVPC endpointで該当環境の実装が可能なため、金融圏やオンプレミスのデータ移行時にも便利に使えるWorkshopでした。