AWS SAMCLITerraform のサポート - AWS Serverless Application Model

AWS SAMCLITerraform のサポート

このセクションでは、Terraform プロジェクトと Terraform クラウドでの AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) の使用について説明します。

フィードバックや機能に関する要望を送るには、GitHub Issue を作成してください。

Terraform の AWS SAM CLI サポートの概要

Terraform プロジェクトまたは Terraform Cloud で AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) を使用して、ローカルで以下のデバッグおよびテストを実行します。

  • AWS Lambda の関数とレイヤー

  • Amazon API Gateway API。

Terraform の概要については、HashiCorpTerraform ウェブサイトで「What is Terraform?」を参照してください。

フィードバックや機能に関する要望を送るには、GitHub Issue を作成してください。

注記

AWS SAM CLI の統合の解析ステップの一環として、AWS SAM CLI ではユーザーコマンドが処理され、プロジェクトファイルとデータが生成されます。コマンド出力は変更されませんが、特定の環境では、環境またはランナーにより出力で追加のログや情報が挿入される場合があります。

AWS SAMCLI とは?

AWS SAM CLI は、AWS SAM テンプレートやサポートされているサードパーティーの統合(Terraform など)と併用することで、サーバーレスアプリケーションを構築し、実行できるコマンドラインツールです。AWS SAM CLI の概要については、「AWS SAMCLI とは?」を参照してください。

AWS SAM CLI は、Terraform の次のコマンドをサポートします:

  • sam local invoke – AWS Lambda 関数の 1 回限りの呼び出しをローカルで開始します。このコマンドの詳細については、「sam local invoke を使用したテストの概要」を参照してください。

  • sam local start-api — Lambda リソースをローカルで実行し、ローカル HTTP サーバーホストを介してテストします。このタイプのテストは、API Gateway エンドポイントによって呼び出される Lambda 関数に役立ちます。このコマンドの詳細については、「sam local start-api を使用したテストの概要」を参照してください。

  • sam local start-lambda — AWS Command Line Interface (AWS CLI) または SDK を使用して関数をローカルで呼び出すために、Lambda 関数のローカルエンドポイントを起動します。このコマンドの詳細については、「sam local start-lambda を使用したテストの概要」を参照してください。

Terraform と連携させた AWS SAM CLI をどのように使用しますか?

コア Terraform ワークフローは、作成計画適用の 3 つの段階で構成されています。Terraform が AWS SAMCLI にサポートされているので、AWS SAM CLI sam local 一連のコマンドを活用しながら、引き続き Terraform ワークフローを使用して AWS でアプリケーションを管理できます。一般的には、以下の操作を実行する必要があります。

  • 作成 — Terraform を使用してインフラストラクチャをコードとして作成します。

  • テストとデバッグ — AWS SAM CLI を使用してアプリケーションをローカルでテストおよびデバッグします。

  • 計画 — 適用前に変更をプレビューします。

  • 適用 — インフラストラクチャをプロビジョニングします。

Terraform と連携させた AWS SAM CLI の使用例については、AWS コンピューティングブログで「 Better together: AWS SAM CLI and HashiCorp Terraform」を参照してください。

次のステップ

前提条件をすべて満たして Terraform を設定するには、「AWS SAM CLI での Terraform のサポートの準備」を参照してください。