

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Terraform と DRA を使用して、高性能のデータ処理用の Lustre ファイルシステムをデプロイする
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra"></a>

*Arun bagal と Ishwar Chauthaiwale、Amazon Web Services*

## 概要
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-summary"></a>

このパターンは、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 のウェブサイト](https://www.lustre.org/)を参照してください。

## 前提条件と制限事項
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-prereqs"></a>

**前提条件**
+ アクティブな AWS アカウント
+ 最小特権 AWS Identity and Access Management (IAM) ポリシー ([手順](https://aws.amazon.com/blogs/security/techniques-for-writing-least-privilege-iam-policies/)を参照)

**制限事項**

FSx for Lustre は、Lustre ファイルシステムを 1 つのアベイラビリティーゾーンに制限します。これは、高い可用性要件がある場合に懸念材料となる可能性があります。ファイルシステムを含むアベイラビリティーゾーンに障害が発生した場合、復旧するまでファイルシステムへのアクセスは中断されます。高可用性を実現するには、DRA を使用して Lustre ファイルシステムを Amazon S3 にリンクし、アベイラビリティーゾーン間でデータを転送します。

**製品バージョン**
+ [Terraform バージョン 1.9.3 以降](https://developer.hashicorp.com/terraform/install?product_intent=terraform)
+ [HashiCorp AWS Provider バージョン 4.0.0 以降](https://registry.terraform.io/providers/hashicorp/aws/latest)

## アーキテクチャ
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-architecture"></a>

次の図は、FSx for Lustre と補完的な AWS のサービス のアーキテクチャを示しています AWS クラウド。

![\[AWS KMS、Amazon EC2、Amazon CloudWatch Logs、Amazon S3 を使用した FSx for Lustre のデプロイ。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/51d38589-e752-42cd-9f46-59c3c8d0bfd3/images/c1c21952-fd6f-4b1d-9bf8-09b2f4f4459f.png)


このアーキテクチャには、以下の項目が含まれます。
+ 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 ファイルシステムをプロビジョニングできます。

## ツール
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-tools"></a>

**AWS のサービス**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) を使用すると、すべてのシステム、アプリケーション、 からのログを一元化 AWS のサービス できるため、ログをモニタリングして安全にアーカイブできます。
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) は、 AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
+ [Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html) を使用すると、高性能の Lustre ファイルシステムを簡単かつ費用効果の高い方法で起動し、実行し、スケールすることができます。
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) は、データの保護に役立つ暗号化キーの作成と制御に役立ちます。
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。

**コードリポジトリ**

このパターンのコードは、GitHub の「[Provision FSx for Lustre Filesystem using Terraform](https://github.com/aws-samples/provision-fsx-lustre-with-terraform)」リポジトリで入手できます。

## ベストプラクティス
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-best-practices"></a>
+ 次の変数は、Lustre ファイルシステムを定義します。[エピック](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics)セクションの指示に従い、お使いの環境に基づいてこれらを正しく設定してください。
  + `storage_capacity` – Lustre ファイルシステムのストレージ容量 (GiB 単位)。最小およびデフォルト設定は 1200 GiB です。
  + `deployment_type` – Lustre ファイルシステムのデプロイタイプ。2 つのオプションである `PERSISTENT_1` と `PERSISTENT_2` (デフォルト) の説明については、「[FSx for Lustre ドキュメント](https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#persistent-file-system)」を参照してください。
  + `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 内の適切なネットワークアクセスと配置を確認します。
+ 「[エピック](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics)」セクションの説明に従って `terraform plan` コマンドを実行して、変更を適用する前にプレビューおよび検証します。これにより、潜在的な問題を検出し、デプロイされる内容を確実に把握することができます。
+ 「[エピック](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics)」セクションの説明に従って `terraform validate` コマンドを実行して、構文エラーをチェックし、設定が正しいことを確認します。

## エピック
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics"></a>

### 環境をセットアップします。
<a name="set-up-your-environment"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Terraform をインストールします。 | ローカルマシンに Terraform をインストールするには、「[Terraform ドキュメント](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)」の指示に従ってください。 | AWS DevOps、DevOps エンジニア | 
|  AWS 認証情報を設定します。 | アカウントの AWS Command Line Interface (AWS CLI) プロファイルを設定するには、 [AWS ドキュメント](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)の指示に従います。 | AWS DevOps、DevOps エンジニア | 
| GitHub リポジトリのクローンを作成します。 | GitHub リポジトリを複製するには、コマンドを実行します。<pre>git clone https://github.com/aws-samples/provision-fsx-lustre-with-terraform.git</pre> | AWS DevOps、DevOps エンジニア | 

### FSx for Lustre の設定とデプロイ
<a name="configure-and-deploy-fsxlustre"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| デプロイ設定を更新します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.html) | AWS DevOps、DevOps エンジニア | 
| Terraform 環境を初期化します。 | 環境を初期化して Terraform `fsx_deployment` モジュールを実行するには、以下を実行します。<pre>terraform init</pre> | AWS DevOps、DevOps エンジニア | 
| Terraform 構文を検証します。 | 構文エラーをチェックし、設定が正しいことを確認するには、以下を実行します。<pre>terraform validate </pre> | AWS DevOps、DevOps エンジニア | 
| Terraform 設定を検証します。 | Terraform 実行プランを作成し、デプロイをプレビューするには、以下を実行します。<pre>terraform plan -var-file terraform.tfvars</pre> | AWS DevOps、DevOps エンジニア | 
| Terraform モジュールをデプロイします。 | FSx for Lustre リソースをデプロイするには、以下を実行します。<pre>terraform apply -var-file terraform.tfvars</pre> | AWS DevOps、DevOps エンジニア | 

### AWS リソースをクリーンアップする
<a name="clean-up-aws-resources"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
|  AWS リソースを削除します。 | FSx for Lustre 環境の使用が終了したら、Terraform によってデプロイされた AWS リソースを削除して、不要な料金が発生しないようにできます。コードリポジトリで提供される Terraform モジュールは、このクリーンアップを自動化します。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.html) | AWS DevOps、DevOps エンジニア | 

## トラブルシューティング
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-troubleshooting"></a>


| 問題 | ソリューション | 
| --- | --- | 
| FSx for Lustre はエラーを返します。 | FSx for Lustre の問題に関するヘルプについては、FSx for Lustre ドキュメントの「[Amazon FSx for Lustre のトラブルシューティング](https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html)」を参照してください。 | 

## 関連リソース
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-resources"></a>
+ [Terraform を使用した Amazon FSx for Lustre の構築](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/fsx_lustre_file_system) (Terraform ドキュメントのAWS プロバイダーリファレンス)
+ [Amazon FSx for Lustre の使用開始](https://docs.aws.amazon.com/fsx/latest/LustreGuide/getting-started.html) (「FSx for Lustre ドキュメント」)
+ [AWS Amazon FSx for Lustre に関するブログ投稿](https://aws.amazon.com/blogs/storage/tag/amazon-fsx-for-lustre/)