AWS SAM CLI の設定 - AWS Serverless Application Model

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

AWS SAM CLI の設定

AWS SAM の利点の 1 つは、反復タスクを削除することで開発者の時間を最適化することです。AWS SAM CLI には、この目的のために samconfig という名前の設定ファイルが含まれています。デフォルトでは AWS SAM CLI に対する設定は必要ありませんが、ご自分の設定ファイルを更新し、その中でカスタマイズしたパラメータを AWS SAM が参照できるようにすることで、より少ないパラメータでのコマンドの実行が可能になります。次の表にある例では、コマンドを最適化する方法を示しています。

samconfig を使用した最適化

sam build --cached --parallel --use-containers

sam build

sam local invoke --env-vars locals.json

sam local invoke

sam local start-api --env-vars locals.json --warm-containers EAGER

sam local start-api

AWS SAM CLI には、デベロッパーがサーバーレスアプリケーションを作成、開発、デプロイするのに役立つ、一連のコマンドが用意されています。これらの各コマンドには、オプションのフラグを使用して、アプリケーションとデベロッパーの好みに基づいた設定が可能です。詳細については、GitHub の AWS SAM CLI のコンテンツを参照してください。

このセクションのトピックでは、作成した AWS SAM CLI   設定ファイル のデフォルト設定をカスタマイズして、サーバーレスアプリケーションの開発時間を最適化する方法について説明しています。

設定ファイルを作成する方法 (samconfig ファイル)

AWS SAM CLI 設定ファイル (ファイル名 samconfig) はテキストファイルであり、通常は TOML 構造を使用しますが YAML でも使用できます。AWS クイックスタートテンプレートを使用する場合、sam init コマンドの実行時にこのファイルが作成されます。sam deploy -\-guided コマンドを使用してアプリケーションをデプロイする際、このファイルを更新することができます。

デプロイの完了後、デフォルト値を使用しているのであれば、samconfig ファイルには default という名前のプロファイルが含まれています。deploy コマンドを再実行すると、AWS SAM はこのプロファイルから、保存された設定を適用します。

samconfig ファイルの利点は、デプロイコマンドに加えて使用可能な他のコマンドの設定を、AWS SAM が保存することです。新しいデプロイで作成されたこれらの値以外にも、ユーザーが設定できるいくつかの属性が samconfig ファイル内にあり、これにより AWS SAM CLI を使用して開発者ワークフローの他の側面を簡素化できます。

プロジェクト設定を構成する

AWS SAM CLI で使用する設定ファイルで、AWS SAM CLI コマンドのパラメータ値など、プロジェクト固有の設定を指定できます。この設定ファイルの詳細については、「AWS SAM CLI   設定ファイル」を参照してください。

設定ファイルの使用

設定ファイルは、環境、コマンド、およびパラメータ値で構成されます。詳細については、「設定ファイルの基本」を参照してください。

新しい環境を設定するには
  1. 設定ファイルに新しい環境を指定します。

    以下に、新しい prod 環境を指定する例を示します。

    TOML
    [prod.global.parameters]
    YAML
    prod: global: parameters:
  2. 設定ファイルの parameters セクションで、パラメーター値をキーと値のペアとして指定します。

    以下に、prod 環境のアプリケーションのスタック名を指定する例を示します。

    TOML
    [prod.global.parameters]
    stack_name = "prod-app"
    YAML
    prod: global: parameters: stack_name: prod-app
  3. --config-env オプションを使用して、使用する環境を指定します。

    以下に例を示します。

    $ sam deploy --config-env "prod"
パラメータ値を設定するには
  1. パラメータ値を設定したい AWS SAM CLI コマンドを指定します。すべての AWS SAM CLI コマンドのパラメータ値を設定するには、global 識別子を使用します。

    以下に、default 環境の sam deploy コマンドにパラメーター値を指定する例を示します。

    TOML
    [default.deploy.parameters]
    confirm_changeset = true
    YAML
    default: deploy: parameters: confirm_changeset: true

    以下に、default 環境のすべての AWS SAM CLI コマンドにパラメータ値を指定する例を示します。

    TOML
    [default.global.parameters]
    stack_name = "sam-app"
    YAML
    default: global: parameters: stack_name: sam-app
  2. AWS SAM CLI のインタラクティブフローを使用して、パラメータ値を指定することや、設定ファイルを変更することもできます。

    sam deploy --guided インタラクティブフローの例を次に示します。

    $ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]: ENTER AWS Region [us-west-2]: ENTER #Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]: n #SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]: ENTER #Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]: ENTER HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y Save arguments to configuration file [Y/n]: ENTER SAM configuration file [samconfig.toml]: ENTER SAM configuration environment [default]: ENTER

詳細については、「設定ファイルの作成と変更」を参照してください。

基本的な TOML の例

以下は samconfig.toml 設定ファイルの例です。

...
version = 0.1

[default]
[default.global]
[default.global.parameters]
stack_name = "sam-app"

[default.build.parameters]
cached = true
parallel = true

[default.deploy.parameters]
capabilities = "CAPABILITY_IAM"
confirm_changeset = true
resolve_s3 = true

[default.sync.parameters]
watch = true

[default.local_start_api.parameters]
warm_containers = "EAGER"

[prod]
[prod.sync]
[prod.sync.parameters]
watch = false

基本的な YAML の例

以下は samconfig.yaml 設定ファイルの例です。

version 0.1 default: global: parameters: stack_name: sam-app build: parameters: cached: true parallel: true deploy: parameters: capabilities: CAPABILITY_IAM confirm_changeset: true resolve_s3: true sync: parameters: watch: true local_start_api: parameters: warm_containers: EAGER prod: sync: parameters: watch: false

認証情報と基本設定を構成する

AWS Command Line Interface (AWS CLI) を使用して、AWS 認証情報、デフォルトのリージョン名、デフォルトの出力形式などの基本設定を構成します。構成が完了すると、これらの設定を AWS SAM CLI で使用できるようになります。詳細については、「AWS Command Line Interface ユーザーガイド」の次を参照してください:

簡単な設定手順については、「ステップ 5: を使用して AWS 認証情報 AWS CLI を設定する」を参照してください。