

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

# AWS SAM CLI の設定
<a name="using-sam-cli-configure"></a>

の利点の 1 AWS SAM つは、反復タスクを削除して開発者の時間を最適化することです。 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 のコンテンツ](https://github.com/aws/aws-sam-cli)を参照してください。

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

**Topics**
+ [設定ファイルを作成する方法 (`samconfig` ファイル）](#using-sam-cli-configure-create)
+ [プロジェクト設定を構成する](#using-sam-cli-configure-project)
+ [認証情報と基本設定を構成する](#using-sam-cli-configure-basic)

## 設定ファイルを作成する方法 (`samconfig` ファイル）
<a name="using-sam-cli-configure-create"></a>

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

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

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

## プロジェクト設定を構成する
<a name="using-sam-cli-configure-project"></a>

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

### 設定ファイルの使用
<a name="using-sam-cli-configure-project-using"></a>

設定ファイルは、環境、コマンド、およびパラメータ値で構成されます。詳細については、「[設定ファイルの基本](serverless-sam-cli-config.md#serverless-sam-cli-config-basics)」を参照してください。

**新しい環境を設定するには**

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

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

------
#### [ TOML ]

   ```
   [prod.global.parameters]
   ```

------
#### [ YAML ]

   ```
   prod:
     global:
       parameters:
   ```

------

1. 設定ファイルの parameters セクションで、パラメーター値をキーと値のペアとして指定します。

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

------
#### [ TOML ]

   ```
   [prod.global.parameters]
   stack_name = "prod-app"
   ```

------
#### [ YAML ]

   ```
   prod:
     global:
       parameters:
         stack_name: prod-app
   ```

------

1. `--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
   ```

------

1.  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
   ```

詳細については、「[設定ファイルの作成と変更](serverless-sam-cli-config.md#serverless-sam-cli-config-using)」を参照してください。

### 例
<a name="using-sam-cli-configure-project-examples"></a>

#### 基本的な TOML の例
<a name="using-sam-cli-configure-project-examples-toml"></a>

以下は `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 の例
<a name="using-sam-cli-configure-project-examples-yaml"></a>

以下は `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
```

## 認証情報と基本設定を構成する
<a name="using-sam-cli-configure-basic"></a>

 AWS Command Line Interface (AWS CLI) を使用して、 AWS 認証情報、デフォルトのリージョン名、デフォルトの出力形式などの基本設定を行います。構成が完了すると、これらの設定を AWS SAM CLI で使用できるようになります。詳細については、「*AWS Command Line Interface ユーザーガイド*」で次を参照してください。
+ [設定の基本](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)
+ [設定ファイルと認証情報ファイルの設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
+ [の名前付きプロファイル AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
+ [IAM Identity Center が有効な名前付きプロファイルの使用](https://docs.aws.amazon.com/cli/latest/userguide/sso-using-profile.html)

簡単な設定手順については、「[ステップ 5: AWS CLI を使用して AWS 認証情報を設定する](prerequisites.md#prerequisites-configure-credentials)」を参照してください。