翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS DataSync を使用して、異なる AWS リージョンの Amazon EFS ファイルシステム間でデータを同期する
Amazon Web Services、Sarat Chandra Pothula、Aditya Ambati
概要
このソリューションは、異なる AWS リージョンの Amazon Elastic File System (Amazon EFS) インスタンス間で、効率的かつ安全なデータ同期を実現する堅牢なフレームワークを提供します。このアプローチでは、スケーラブルで制御されたクロスリージョンデータレプリケーションを実現します。このソリューションでディザスタリカバリとデータ冗長化戦略を強化できます。
このパターンでは、AWS Cloud Development Kit (AWS CDK) を Infrastructure as Code (IaC) アプローチとして使用し、ソリューションリソースをデプロイします。AWS CDK アプリケーションは、重要な AWS DataSync、Amazon EFS、Amazon Virtual Private Cloud (Amazon VPC)、および Amazon Elastic Compute Cloud (Amazon EC2) リソースをデプロイします。この IaC は、AWS のベストプラクティスに沿った、反復可能でバージョン管理されたデプロイプロセスを提供します。
前提条件と制限
前提条件
アクティブなAWS アカウント
AWS コマンドラインインターフェイス (AWS CLI) バージョン 2.9.11 以降がインストール済みおよび設定済み
AWS CDK バージョン 2.114.1 以降がインストール済みおよびブートストラップ済み
NodeJS バージョン 20.8.0 以降がインストール済み
制限事項
このソリューションは、データ転送速度、サイズ制限、リージョンの可用性など、DataSync と Amazon EFS の制限を継承します。詳細については、「AWS DataSync quotas」と「「Amazon EFS のクォータ」を参照してください。
このソリューションは Amazon EFS のみをサポートします。DataSync は、Amazon Simple Storage Service (Amazon S3) や Amazon FSx for Lustre などその他の AWS サービスをサポートします。ただし、このソリューションでは、データを他のサービスと同期するために変更が必要です。
アーキテクチャ

このソリューションでは、次の AWS CDK スタックをデプロイします。
Amazon VPC スタック – このスタックは、プライマリ AWS リージョンとセカンダリ AWS リージョンの両方で、サブネット、インターネットゲートウェイ、NAT ゲートウェイを含む仮想プライベートクラウド (VPC) リソースを設定します。
Amazon EFS スタック – このスタックは、Amazon EFS ファイルシステムをプライマリリージョンとセカンダリリージョンにデプロイし、それぞれの VPC に接続します。
Amazon EC2 スタック – このスタックは、プライマリリージョンとセカンダリリージョンで EC2 インスタンスを起動します。これらのインスタンスは、共有ストレージへのアクセスを許可する Amazon EFS ファイルシステムをマウントするように設定されています。
DataSync ロケーションスタック – このスタックは、
DataSyncLocationConstructというカスタムコンストラクトを使用して、プライマリリージョンとセカンダリリージョンで DataSync ロケーションリソースを作成します。これらのリソースは、データ同期のエンドポイントを定義します。DataSync タスクスタック – このスタックは、
DataSyncTaskConstructというカスタムコンストラクトを使用して、プライマリリージョンで DataSync タスクを作成します。このタスクは、DataSync の送信元と送信先の場所を使用してプライマリリージョンとセカンダリリージョン間でデータを同期するように設定されています。
ツール
AWS サービス
AWS Cloud Development Kit (AWS CDK) は、AWS クラウドインフラストラクチャをコードで定義してプロビジョニングするのに役立つソフトウェア開発フレームワークです。
「AWS DataSync」は、ファイルまたはオブジェクトデータを AWS ストレージサービス間で移動したり、AWS ストレージサービス間で移動したりするのに役立つオンラインデータ転送および検出サービスです。
「Amazon Elastic Compute Cloud (Amazon EC2)」は、AWS クラウドでスケーラブルなコンピューティング容量を提供します。必要な数の仮想サーバーを起動することができ、迅速にスケールアップまたはスケールダウンができます。
Amazon Elastic File System (Amazon EFS) は、AWS クラウドでの共有ファイルシステムの作成と設定に役立ちます。
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。この仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークに似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。
コードリポジトリ
このパターンのコードは、GitHub の「Amazon EFS Cross-Region DataSync Project
ベストプラクティス
「TypeScript で AWS CDK を使用し、IaC プロジェクトを作成する際のベストプラクティス」で説明されているベストプラクティスに従ってください。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
プロジェクトリポジトリのクローンを作成します。 | 次のコマンドを入力して、「Amazon EFS Cross-Region DataSync Project
| AWS DevOps |
npm の依存関係をインストールします。 | 次のコマンドを入力します。
| AWS DevOps |
プライマリリージョンとセカンダリリージョンを選択します。 | クローン作成されたリポジトリで、
| AWS DevOps |
環境を開始する。 | 次のコマンドを入力して、使用する AWS アカウントと AWS リージョンをブートストラップします。
詳細については、AWS CDK ドキュメントの「ブートストラップ」を参照してください。 | AWS DevOps |
AWS CDK スタックを一覧表示します。 | 次のコマンドを入力して、アプリ内の AWS CDK スタックのリストを表示します。
| AWS DevOps |
AWS CDK スタックを合成します。 | 次のコマンドを入力して、AWS CDK アプリで定義された各スタックの AWS CloudFormation テンプレートを生成します。
| AWS DevOps |
AWS CDK アプリをデプロイします。 | 次のコマンドを入力して、変更を手動で承認することなく、すべてのスタックを AWS アカウントにデプロイします。
| AWS DevOps |
| タスク | 説明 | 必要なスキル |
|---|---|---|
プライマリリージョンの EC2 インスタンスにログインします。 |
| AWS DevOps |
一時ファイルを作成します。 | 次のコマンドを入力して、Amazon EFS マウントパスで一時ファイルを作成します。
| AWS DevOps |
DataSync タスクを開始します。 | 次のコマンドを入力して、プライマリリージョンからセカンダリリージョンに一時ファイルをレプリケートします。ここで、
コマンドは、タスク実行の ARN を次の形式で返します。
| AWS DevOps |
データ転送のステータスを確認します。 | 次のコマンドを入力して、DataSync 実行タスクを記述します。ここで、
DataSync タスクは、 | AWS DevOps |
セカンダリリージョンの EC2 インスタンスにログインします。 |
| AWS DevOps |
アプリケーションを検証します。 | 次のコマンドを入力して、一時ファイルが Amazon EFS ファイルシステムに存在することを確認します。
| AWS DevOps |
関連リソース
AWS ドキュメント
その他の AWS リソース