翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用して、異なるAWSリージョンの Amazon EFS ファイルシステム間でデータを同期する AWS DataSync
作成者: Sarat Chandra Pothula (AWS) と Aditya Ambati (AWS)
コードリポジトリ: aws-efs-crossregion-datasync | 環境:PoC またはパイロット | テクノロジー: インフラストラクチャ、ストレージとバックアップ |
AWS サービス: AWS CDK、AWS DataSync、Amazon EFS |
[概要]
このソリューションは、さまざまな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ベストプラクティスと完全に一致した、反復可能でバージョン管理されたデプロイプロセスを提供します。
前提条件と制限
前提条件
制約事項
このソリューションは、データ転送レートEFS、サイズ制限、リージョンの可用性など、 DataSync および Amazon の制限を継承します。詳細については、AWS DataSync 「クォータ」と「Amazon EFS クォータ」を参照してください。
このソリューションは、Amazon EFSのみをサポートします。 は、Amazon Simple Storage Service (Amazon S3) や Amazon FSx for Lustre などの他の AWS サービス DataSync をサポートしています。ただし、このソリューションでは、データを他のサービスと同期するために変更が必要です。
アーキテクチャ
このソリューションは、次のAWSCDKスタックをデプロイします。
Amazon VPCスタック – このスタックは、プライマリリージョンとセカンダリAWSリージョンの両方で、サブネット、インターネットゲートウェイ、NATゲートウェイを含む仮想プライベートクラウド (VPC) リソースを設定します。
Amazon EFSスタック – このスタックは、Amazon EFS ファイルシステムをプライマリリージョンとセカンダリリージョンにデプロイし、それらをそれぞれの に接続しますVPCs。
Amazon EC2スタック – このスタックは、プライマリリージョンとセカンダリリージョンでEC2インスタンスを起動します。これらのインスタンスは Amazon EFS ファイルシステムをマウントするように設定されており、共有ストレージにアクセスできます。
DataSync ロケーションスタック – このスタックは、 というカスタムコンストラクトを使用して
DataSyncLocationConstruct
、プライマリリージョンとセカンダリリージョンに DataSync ロケーションリソースを作成します。これらのリソースは、データ同期用のエンドポイントを定義します。DataSync タスクスタック – このスタックは、 というカスタムコンストラクトを使用して、プライマリリージョンに DataSync タスク
DataSyncTaskConstruct
を作成します。このタスクは、送信 DataSync 元と送信先の場所を使用して、プライマリリージョンとセカンダリリージョン間でデータを同期するように設定されています。
ツール
AWS サービス
AWS Cloud Development Kit (AWS CDK) は、コードで AWS Cloud インフラストラクチャを定義およびプロビジョニングするのに役立つソフトウェア開発フレームワークです。
AWS DataSync は、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
ベストプラクティス
AWS CDK 「」で を使用して IaC プロジェクト TypeScript を作成するベストプラクティス「」で説明されているベストプラクティスに従います。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
プロジェクトリポジトリをクローンします。 | 次のコマンドを入力して、Amazon EFS Cross-Region DataSync Project
| AWS DevOps |
npm 依存関係をインストールします。 | 次のコマンドを入力します。
| AWS DevOps |
プライマリリージョンとセカンダリリージョンを選択します。 | クローンされたリポジトリで、
| AWS DevOps |
環境を起動します。 | 次のコマンドを入力して、使用するAWSアカウントとAWSリージョンをブートストラップします。
詳細については、 AWSCDKドキュメントの「ブートストラップ」を参照してください。 | AWS DevOps |
AWS CDK スタックを一覧表示します。 | 次のコマンドを入力して、アプリ内のAWSCDKスタックのリストを表示します。
| AWS DevOps |
AWS CDK スタックを合成します。 | 次のコマンドを入力して、AWSCDKアプリで定義された各スタックのAWS CloudFormation テンプレートを生成します。
| AWS DevOps |
AWS CDK アプリケーションをデプロイします。 | 次のコマンドを入力して、すべてのスタックをAWSアカウントにデプロイします。変更に対する手動承認は必要ありません。
| AWS DevOps |
タスク | 説明 | 必要なスキル |
---|---|---|
プライマリリージョンのEC2インスタンスにログインします。 |
| AWS DevOps |
一時ファイルを作成します。 | 次のコマンドを入力して、Amazon EFSマウントパスに一時ファイルを作成します。
| AWS DevOps |
DataSync タスクを開始します。 | 次のコマンドを入力して、一時ファイルをプライマリリージョンからセカンダリリージョンにレプリケートします。
コマンドは、タスク実行ARNの を次の形式で返します。
| AWS DevOps |
データ転送のステータスを確認します。 | 次のコマンドを入力して DataSync 実行タスクを記述します。ここで、
| AWS DevOps |
セカンダリリージョンのEC2インスタンスにログインします。 |
| AWS DevOps |
レプリケーションを検証します。 | 次のコマンドを入力して、一時ファイルが Amazon EFS ファイルシステムに存在することを確認します。
| AWS DevOps |
関連リソース
AWS ドキュメント
その他のAWSリソース