翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Terraform と DRA を使用して、高性能のデータ処理用の Lustre ファイルシステムをデプロイする
Arun bagal と Ishwar Chauthaiwale、Amazon Web Services
概要
このパターンは、Lustre ファイルシステムを に自動的にデプロイ AWS し、Amazon Elastic Compute Cloud (Amazon EC2) および Amazon Simple Storage Service (Amazon S3) と統合します。
このソリューションは、統合されたストレージ、コンピューティングリソース、Amazon S3 データアクセスを備えたハイパフォーマンスコンピューティング (HPC) 環境を迅速にセットアップするのに役立ちます。Lustre のストレージ機能と、Amazon EC2 が提供する柔軟なコンピューティングオプション、Amazon S3 のスケーラブルなオブジェクトストレージの組み合わせにより、機械学習、HPC、ビッグデータ分析でデータ集約型のワークロードに取り組むことができます。
このパターンでは、HashiCorp Terraform モジュールと Amazon FSx for Lustre を使用して、次のプロセスを合理化します。
Lustre ファイルシステムのプロビジョニング
FSx for Lustre と S3 バケット間のデータリポジトリの関連付け (DRA) を確立して、Lustre ファイルシステムを Amazon S3 オブジェクトにリンクする
EC2 インスタンスの作成
Amazon S3 にリンクされた DRA を使用して Lustre ファイルシステムを EC2 インスタンスにマウントする
このソリューションには次のような利点があります。
モジュラー設計。このソリューションの個々のコンポーネントを簡単に維持および更新できます。
スケーラビリティ。整合性のある環境を AWS アカウント または リージョンにすばやくデプロイできます。
柔軟性。特定のニーズに合わせてデプロイをカスタマイズできます。
ベストプラクティス。このパターンでは、 AWS ベストプラクティスに従う事前設定されたモジュールを使用します。
Lustre ファイルシステムの詳細については、Lustre のウェブサイト
前提条件と制限事項
前提条件
アクティブな AWS アカウント
最小特権 AWS Identity and Access Management (IAM) ポリシー (手順
を参照)
制限事項
FSx for Lustre は、Lustre ファイルシステムを 1 つのアベイラビリティーゾーンに制限します。これは、高い可用性要件がある場合に懸念材料となる可能性があります。ファイルシステムを含むアベイラビリティーゾーンに障害が発生した場合、復旧するまでファイルシステムへのアクセスは中断されます。高可用性を実現するには、DRA を使用して Lustre ファイルシステムを Amazon S3 にリンクし、アベイラビリティーゾーン間でデータを転送します。
製品バージョン
アーキテクチャ
次の図は、FSx for Lustre と補完的な AWS のサービス のアーキテクチャを示しています AWS クラウド。

このアーキテクチャには、以下の項目が含まれます。
S3 バケットは、耐久性、スケーラビリティ、コスト効率に優れたデータのストレージの場所として使用されます。FSx for Lustre と Amazon S3 の統合により、Amazon S3 とシームレスにリンクされた高性能ファイルシステムが実現されます。
FSx for Lustre は Lustre ファイルシステムを実行および管理します。
Amazon CloudWatch Logs は、ファイルシステムからログデータを収集してモニタリングします。これらのログから、Lustre ファイルシステムのパフォーマンス、状態、アクティビティに関する情報を取得できます。
Amazon EC2 は、オープンソースの Lustre クライアントを使用して Lustre ファイルシステムにアクセスするために使用されます。EC2 インスタンスでは、同じ仮想プライベートクラウド (VPC) 内の他のアベイラビリティーゾーンからファイルシステムにアクセスできます。ネットワーク設定により、VPC 内のサブネット間のアクセスが可能になります。Lustre ファイルシステムがインスタンスにマウントされたら、ローカルファイルシステムと同じように、ファイルやディレクトリを操作できるようになります。
AWS Key Management Service (AWS KMS) は、保管中のデータの暗号化を提供することで、ファイルシステムのセキュリティを強化します。
自動化とスケール
Terraform を使用すると、複数の環境にまたがる Lustre ファイルシステムのデプロイ、管理、スケーリングが容易になります。FSx for Lustre では、1 つのファイルシステムにサイズの制限があるため、複数のファイルシステムを作成して水平方向にスケールしなければならない場合があります。Terraform を使用して、ワークロードのニーズに基づいて複数の Lustre ファイルシステムをプロビジョニングできます。
ツール
AWS のサービス
Amazon CloudWatch Logs を使用すると、すべてのシステム、アプリケーション、 からのログを一元化 AWS のサービス できるため、ログをモニタリングして安全にアーカイブできます。
Amazon Elastic Compute Cloud (Amazon EC2) は、 AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
Amazon FSx for Lustre を使用すると、高性能の Lustre ファイルシステムを簡単かつ費用効果の高い方法で起動し、実行し、スケールすることができます。
AWS Key Management Service (AWS KMS) は、データの保護に役立つ暗号化キーの作成と制御に役立ちます。
Amazon Simple Storage Service (Amazon S3) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。
コードリポジトリ
このパターンのコードは、GitHub の「Provision FSx for Lustre Filesystem using Terraform
ベストプラクティス
次の変数は、Lustre ファイルシステムを定義します。エピックセクションの指示に従い、お使いの環境に基づいてこれらを正しく設定してください。
storage_capacity– Lustre ファイルシステムのストレージ容量 (GiB 単位)。最小およびデフォルト設定は 1200 GiB です。deployment_type– Lustre ファイルシステムのデプロイタイプ。2 つのオプションであるPERSISTENT_1とPERSISTENT_2(デフォルト) の説明については、「FSx for Lustre ドキュメント」を参照してください。per_unit_storage_throughput– 読み取りおよび書き込みスループット (1 TiB あたり MB/秒)。subnet_id– FSx for Lustre をデプロイするプライベートサブネットの ID。vpc_id– FSx for Lustre をデプロイ AWS する仮想プライベートクラウドの ID。data_repository_path– Lustre ファイルシステムにリンクされる S3 バケットへのパス。iam_instance_profile– EC2 インスタンスの起動に使用する IAM インスタンスプロファイル。kms_key_id– データ暗号化に使用される AWS KMS キーの Amazon リソースネーム (ARN)。
security_group変数とvpc_id変数を使用して、VPC 内の適切なネットワークアクセスと配置を確認します。「エピック」セクションの説明に従って
terraform planコマンドを実行して、変更を適用する前にプレビューおよび検証します。これにより、潜在的な問題を検出し、デプロイされる内容を確実に把握することができます。「エピック」セクションの説明に従って
terraform validateコマンドを実行して、構文エラーをチェックし、設定が正しいことを確認します。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
Terraform をインストールします。 | ローカルマシンに Terraform をインストールするには、「Terraform ドキュメント | AWS DevOps、DevOps エンジニア |
AWS 認証情報を設定します。 | アカウントの AWS Command Line Interface (AWS CLI) プロファイルを設定するには、 AWS ドキュメントの指示に従います。 | AWS DevOps、DevOps エンジニア |
GitHub リポジトリのクローンを作成します。 | GitHub リポジトリを複製するには、コマンドを実行します。
| AWS DevOps、DevOps エンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
デプロイ設定を更新します。 |
| AWS DevOps、DevOps エンジニア |
Terraform 環境を初期化します。 | 環境を初期化して Terraform
| AWS DevOps、DevOps エンジニア |
Terraform 構文を検証します。 | 構文エラーをチェックし、設定が正しいことを確認するには、以下を実行します。
| AWS DevOps、DevOps エンジニア |
Terraform 設定を検証します。 | Terraform 実行プランを作成し、デプロイをプレビューするには、以下を実行します。
| AWS DevOps、DevOps エンジニア |
Terraform モジュールをデプロイします。 | FSx for Lustre リソースをデプロイするには、以下を実行します。
| AWS DevOps、DevOps エンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
AWS リソースを削除します。 | FSx for Lustre 環境の使用が終了したら、Terraform によってデプロイされた AWS リソースを削除して、不要な料金が発生しないようにできます。コードリポジトリで提供される Terraform モジュールは、このクリーンアップを自動化します。
| AWS DevOps、DevOps エンジニア |
トラブルシューティング
| 問題 | ソリューション |
|---|---|
FSx for Lustre はエラーを返します。 | FSx for Lustre の問題に関するヘルプについては、FSx for Lustre ドキュメントの「Amazon FSx for Lustre のトラブルシューティング」を参照してください。 |
関連リソース
Terraform を使用した Amazon FSx for Lustre の構築
(Terraform ドキュメントのAWS プロバイダーリファレンス) Amazon FSx for Lustre の使用開始 (「FSx for Lustre ドキュメント」)