AWS SAM CLI の設定 - AWS Serverless Application Model

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

AWS SAM CLI の設定

の利点の 1 AWS SAM つは、反復タスクを削除して開発者の時間を最適化することです。 には、samconfigこの目的のために という名前の設定ファイル AWS SAMCLIが含まれています。デフォルトでは、 の設定 AWS SAMCLIは必要ありませんが、 が代わりに設定ファイル内のカスタマイズされたパラメータ 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 SAMCLI 設定ファイル (ファイル名 samconfig) は、通常 TOML 構造を使用するテキストファイルですが、YAML でも使用できます。 AWS クイックスタートテンプレートを使用する場合、このファイルは sam init コマンドの実行時に作成されます。sam deploy -\-guided コマンドを使用してアプリケーションをデプロイする際、このファイルを更新することができます。

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

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

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

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