

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

# を使用した の構築の概要 AWS SAM
<a name="using-sam-cli-build"></a>

 AWS Serverless Application Model コマンドラインインターフェイス (AWS SAM CLI) `sam build` コマンドを使用して、ローカルテストや へのデプロイなど、開発ワークフローの後続のステップのためにサーバーレスアプリケーションを準備します AWS クラウド。このコマンドは、`sam local` および `sam deploy` が必要とする形式と場所でアプリケーションを構造化する `.aws-sam` ディレクトリを作成します。
+ の概要については AWS SAM CLI、「」を参照してください[とは AWS SAM CLI](what-is-sam-overview.md#what-is-sam-cli)。
+ `sam build` コマンドオプションのリストについては、「[sam build](sam-cli-command-reference-sam-build.md)」を参照してください。
+ 一般的な開発ワークフローでの `sam build` の使用例については、「[ステップ 2: アプリケーションを構築する](serverless-getting-started-hello-world.md#serverless-getting-started-hello-world-build)」を参照してください。

**注記**  
`sam build` を使用するには、開発マシン上のサーバーレスアプリケーションの基本コンポーネントから始める必要があります。これには、 AWS SAM テンプレート、 AWS Lambda 関数コード、言語固有のファイルと依存関係が含まれます。詳細については[でアプリケーションを作成する AWS SAM](using-sam-cli-init.md)を参照してください。

**Topics**
+ [

## sam build を使用したアプリケーションの構築
](#using-sam-cli-build-apps)
+ [

## ローカルでのテストとデプロイ
](#using-sam-cli-build-test-deploy)
+ [

## ベストプラクティス
](#using-sam-cli-build-best)
+ [

## sam build のオプション
](#using-sam-cli-build-options)
+ [

## トラブルシューティング
](#using-sam-cli-build-troubleshooting)
+ [

## 例
](#using-sam-cli-build-examples)
+ [

## 詳細情報
](#using-sam-cli-build-learn)

## sam build を使用したアプリケーションの構築
<a name="using-sam-cli-build-apps"></a>

`sam build` を使用する前に、次を設定することを検討してください。

1. **Lambda 関数とレイヤー** – `sam build` コマンドは Lambda 関数とレイヤーを構築できます。Lambda レイヤーの詳細については、「[での Lambda レイヤーの構築 AWS SAM](building-layers.md)」を参照してください。

1. **Lambda ランタイム** – ランタイムは、呼び出されたときに実行環境で関数を実行する言語固有の環境を提供します。ネイティブランタイムとカスタムランタイムを設定できます。

   1. **ネイティブランタイム** – サポートされている Lambda ランタイムで Lambda 関数を作成し、 AWS クラウドでネイティブ Lambda ランタイムを使用する関数を構築します。

   1. **カスタムランタイム** – 任意のプログラミング言語を使用して Lambda 関数を作成し、esbuild など、makefile やサードパーティービルダーで定義されたカスタムプロセスを使用してランタイムを構築します。詳細については[でのカスタムランタイムを使用した Lambda 関数の構築 AWS SAM](building-custom-runtimes.md)を参照してください。

1. **Lambda パッケージタイプ** – Lambda 関数は、次の Lambda デプロイパッケージタイプにパッケージ化できます。

   1. **.zip ファイルアーカイブ** – アプリケーション コードとその依存関係が含まれます。

   1. **コンテナイメージ** – 基本オペレーティングシステム、ランタイム、Lambda 拡張機能、アプリケーションコードとその依存関係が含まれています。

これらのアプリケーション設定は、`sam init` を使用してアプリケーションを初期化するときに設定できます。
+ `sam init` の使用の詳細については、「[でアプリケーションを作成する AWS SAM](using-sam-cli-init.md)」を参照してください。
+ アプリケーションでのこれらの設定の詳細については、「[を使用したデフォルトのビルド AWS SAM](serverless-sam-cli-using-build.md)」を参照してください。

**アプリケーションを構築するには**

1. `cd` を実行してプロジェクトのルートに移動します。これは AWS SAM テンプレートと同じ場所です。

   ```
   $ cd sam-app
   ```

1. 下記を実行します。

   ```
   sam-app $ sam build <arguments> <options>
   ```
**注記**  
一般的に使用されるオプションは `--use-container` です。詳細については[指定されたコンテナ内における Lambda 関数の構築](#using-sam-cli-build-options-container)を参照してください。

   次は AWS SAM CLI 出力の例です。

   ```
   sam-app $ sam build
   Starting Build use cache
   Manifest file is changed (new hash: 3298f1304...d4d421) or dependency folder (.aws-sam/deps/4d3dfad6-a267-47a6-a6cd-e07d6fae318c) is missing for (HelloWorldFunction), downloading dependencies and copying/building source
   Building codeuri: /Users/.../sam-app/hello_world runtime: python3.12 metadata: {} architecture: x86_64 functions: HelloWorldFunction
   Running PythonPipBuilder:CleanUp
   Running PythonPipBuilder:ResolveDependencies
   Running PythonPipBuilder:CopySource
   Running PythonPipBuilder:CopySource
   
   Build Succeeded
   
   Built Artifacts  : .aws-sam/build
   Built Template   : .aws-sam/build/template.yaml
   
   Commands you can use next
   =========================
   [*] Validate SAM template: sam validate
   [*] Invoke Function: sam local invoke
   [*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch
   [*] Deploy: sam deploy --guided
   ```

1.  AWS SAM CLI は `.aws-sam` ビルドディレクトリを作成します。以下に例を示します。

   ```
   .aws-sam
   ├── build
   │   ├── HelloWorldFunction
   │   │   ├── __init__.py
   │   │   ├── app.py
   │   │   └── requirements.txt
   │   └── template.yaml
   └── build.toml
   ```

アプリケーションの設定に応じて、 AWS SAM CLI は次を実行します。

1. `.aws-sam/build` ディレクトリ内の依存関係をダウンロード、インストール、整理します。

1. Lambda コードを準備します。これには、コードのコンパイル、実行可能バイナリの作成、コンテナイメージの構築などが含まれます。

1. ビルドアーティファクトを `.aws-sam` ディレクトリにコピーします。形式はアプリケーションパッケージの種類によって異なります。

   1. .zip パッケージタイプの場合、アーティファクトはローカルテストに使用できるようにまだ圧縮されていません。 AWS SAM CLI は、`sam deploy` を使用するときにアプリケーションを圧縮します。

   1. コンテナイメージパッケージタイプの場合、コンテナイメージはローカルで作成され、`.aws-sam/build.toml` ファイル内で参照されます。

1.  AWS SAM テンプレートを `.aws-sam` ディレクトリにコピーし、必要に応じて新しいファイルパスで変更します。

`.aws-sam` ディレクトリ内のビルドアーティファクトを構成する主要なコンポーネントを次に示します。
+ **ビルドディレクトリ** – Lambda 関数と、互いに独立して構造化されたレイヤーが含まれます。これにより、`.aws-sam/build` ディレクトリ内の各関数またはレイヤー用に固有の構造が作成されます。
+ ** AWS SAM テンプレート** – ビルドプロセス中の変更に基づいて更新された値で変更されました。
+ **build.toml ファイル** – で使用されるビルド設定を含む設定ファイル AWS SAM CLI。

## ローカルでのテストとデプロイ
<a name="using-sam-cli-build-test-deploy"></a>

`sam local` を使用してローカルテストを実行する場合、または `sam deploy` を使用してデプロイを実行する場合、 AWS SAM CLI は次を実行します。

1. まず、 `.aws-sam` ディレクトリが存在するかどうか、および AWS SAM テンプレートがそのディレクトリ内にあるかどうかを確認します。これらの条件が満たされる場合、 AWS SAM CLI はこれをアプリケーションのルートディレクトリとみなします。

1. これらの条件が満たされない場合、 AWS SAM CLI は AWS SAM テンプレートの元の場所をアプリケーションのルートディレクトリと見なします。

開発中、元のアプリケーションファイルに変更が加えられた場合は、ローカルでテストする前に、`sam build` を実行して `.aws-sam` ディレクトリを更新します。

## ベストプラクティス
<a name="using-sam-cli-build-best"></a>
+ `.aws-sam/build` ディレクトリ内のコードは編集しないでください。代わりに、プロジェクトフォルダ内の元のソースコードを更新し、`sam build` を実行して `.aws-sam/build` ディレクトリを更新します。
+ 元のファイルを変更する場合は、`sam build` を実行して `.aws-sam/build` ディレクトリを更新します。
+ `sam local` を使用して開発およびテストする場合など、 AWS SAM CLI が `.aws-sam` ディレクトリではなくプロジェクトの元のルートディレクトリを参照するようにしたい場合があります。`.aws-sam` ディレクトリまたは`.aws-sam`ディレクトリ内の AWS SAM テンプレートを削除して、 AWS SAM CLIが元のプロジェクトディレクトリをルートプロジェクトディレクトリとして認識するようにします。準備ができたら、再度 `sam build` を実行して `.aws-sam` ディレクトリを作成します。
+ `sam build` を実行すると、`.aws-sam/build` ディレクトリは毎回上書きされます。`.aws-sam` ディレクトリは毎回上書きしません。ログなどのファイルを保存する場合は、上書きされないように `.aws-sam` に保存します。

## sam build のオプション
<a name="using-sam-cli-build-options"></a>

### 単一のリソースの構築
<a name="using-sam-cli-build-options-resource"></a>

リソースの論理 ID を指定して、そのリソースのみを構築します。以下に例を示します。

```
$ sam build HelloWorldFunction
```

ネストされたアプリケーションまたはスタックのリソースを構築するには、`<stack-logical-id>/<resource-logical-id>` 形式を使用して、リソースの論理 ID と共に、アプリケーションまたはスタックの論理 ID を指定します。

```
$ sam build MyNestedStack/MyFunction
```

### 指定されたコンテナ内における Lambda 関数の構築
<a name="using-sam-cli-build-options-container"></a>

`--use-container` オプションはコンテナイメージをダウンロードし、それを使用して Lambda 関数を構築します。その後、ローカルコンテナが `.aws-sam/build.toml` ファイル内で参照されます。

このオプションでは Docker をインストールする必要があります。手順については、「[Docker のインストール](install-docker.md)」を参照してください。

このコマンドの例を次に示します。

```
$ sam build --use-container
```

`--build-image` オプションで使用するコンテナイメージを指定できます。以下に例を示します。

```
$ sam build --use-container --build-image amazon/aws-sam-cli-build-image-nodejs20.x
```

単一の関数に使用するコンテナイメージを指定するには、関数の論理 ID を指定します。以下に例を示します。

```
$ sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.12
```

### 環境変数をビルドコンテナに渡す
<a name="using-sam-cli-build-options-env"></a>

`--container-env-var` を使用して、環境変数をビルドコンテナに渡します。以下に例を示します。

```
$ sam build --use-container --container-env-var Function1.GITHUB_TOKEN=<token1> --container-env-var GLOBAL_ENV_VAR=<global-token>
```

ファイルから環境変数を渡すには、`--container-env-var-file` オプションを使用します。以下に例を示します。

```
$ sam build --use-container --container-env-var-file <env.json>
```

`env.json` ファイルの例:

```
{
  "MyFunction1": {
    "GITHUB_TOKEN": "TOKEN1"
  },
  "MyFunction2": {
    "GITHUB_TOKEN": "TOKEN2"
  }
}
```

### 複数の関数を含むアプリケーションの構築を高速化する
<a name="using-sam-cli-build-options-speed"></a>

複数の関数を含むアプリケーションで `sam build` を実行する場合、 AWS SAM CLI は各関数を一度に 1 つずつ構築します。構築プロセスを高速化するには、`--parallel` オプションを使用します。これにより、すべての関数とレイヤーが同時に構築されます。

このコマンドの例を次に示します。

```
$ sam build —-parallel
```

### ソースフォルダにプロジェクトを構築することでビルド時間を短縮する
<a name="using-sam-cli-build-options-source"></a>

サポートされているランタイムとビルドメソッドについては、`--build-in-source` オプションを使用してプロジェクトをソースフォルダに直接構築できます。デフォルトでは、 は一時ディレクトリに AWS SAM CLIビルドされます。これには、ソースコードとプロジェクトファイルのコピーが含まれます。を使用すると`--build-in-source` AWS SAM 、 はソースフォルダに直接CLIビルドされるため、一時ディレクトリにファイルをコピーする必要がなくなるため、ビルドプロセスが高速化されます。

サポートされているランタイムとビルドメソッドのリストについては、「`--build-in-source`」を参照してください。

## トラブルシューティング
<a name="using-sam-cli-build-troubleshooting"></a>

のトラブルシューティングについては AWS SAM CLI、「」を参照してください[AWS SAMCLI トラブルシューティング](sam-cli-troubleshooting.md)。

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

### ネイティブランタイムと .zip パッケージタイプを使用するアプリケーションの構築
<a name="using-sam-cli-build-examples-tutorial1"></a>

この例については、「[チュートリアル: を使用して Hello World アプリケーションをデプロイする AWS SAM](serverless-getting-started-hello-world.md)」を参照してください。

### ネイティブランタイムとイメージパッケージタイプを使用するアプリケーションの構築
<a name="using-sam-cli-build-examples-image"></a>

まず、新しいアプリケーションを初期化するために `sam init` を実行します。インタラクティブなフロー中に、`Image` パッケージタイプを選択します。以下に例を示します。

```
$ sam init
...
Which template source would you like to use?
        1 - AWS Quick Start Templates
        2 - Custom Template Location
Choice: 1

Choose an AWS Quick Start application template
        1 - Hello World Example
        2 - Multi-step workflow
        3 - Serverless API
        4 - Scheduled task
        5 - Standalone function
        6 - Data processing
        7 - Hello World Example With Powertools
        8 - Infrastructure event management
        9 - Serverless Connector Hello World Example
        10 - Multi-step workflow with Connectors
        11 - Lambda EFS example
        12 - DynamoDB Example
        13 - Machine Learning
Template: 1

Use the most popular runtime and package type? (Python and zip) [y/N]: ENTER

Which runtime would you like to use?
        ...
        10 - java8
        11 - nodejs20.x
        12 - nodejs18.x
        13 - nodejs16.x
        ...
Runtime: 12

What package type would you like to use?
        1 - Zip
        2 - Image
Package type: 2

Based on your selections, the only dependency manager available is npm.
We will proceed copying the template using npm.

Would you like to enable X-Ray tracing on the function(s) in your application?  [y/N]: ENTER

Would you like to enable monitoring using CloudWatch Application Insights?
For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]: ENTER

Project name [sam-app]: ENTER

Cloning from https://github.com/aws/aws-sam-cli-app-templates (process may take a moment)

    -----------------------
    Generating application:
    -----------------------
    Name: sam-app
    Base Image: amazon/nodejs18.x-base
    Architectures: x86_64
    Dependency Manager: npm
    Output Directory: .
    Configuration file: sam-app/samconfig.toml

    Next steps can be found in the README file at sam-app/README.md
    
...
```

はアプリケーションを AWS SAM CLI初期化し、次のプロジェクトディレクトリを作成します。

```
sam-app
├── README.md
├── events
│   └── event.json
├── hello-world
│   ├── Dockerfile
│   ├── app.mjs
│   ├── package.json
│   └── tests
│       └── unit
│           └── test-handler.mjs
├── samconfig.toml
└── template.yaml
```

次に、アプリケーションを構築するために `sam build` を実行します。

```
sam-app $ sam build
Building codeuri: /Users/.../build-demo/sam-app runtime: None metadata: {'DockerTag': 'nodejs18.x-v1', 'DockerContext': '/Users/.../build-demo/sam-app/hello-world', 'Dockerfile': 'Dockerfile'} architecture: arm64 functions: HelloWorldFunction
Building image for HelloWorldFunction function
Setting DockerBuildArgs: {} for HelloWorldFunction function
Step 1/4 : FROM public.ecr.aws/lambda/nodejs:18
 ---> f5b68038c080
Step 2/4 : COPY app.mjs package*.json ./
 ---> Using cache
 ---> 834e565aae80
Step 3/4 : RUN npm install
 ---> Using cache
 ---> 31c2209dd7b5
Step 4/4 : CMD ["app.lambdaHandler"]
 ---> Using cache
 ---> 2ce2a438e89d
Successfully built 2ce2a438e89d
Successfully tagged helloworldfunction:nodejs18.x-v1

Build Succeeded

Built Artifacts  : .aws-sam/build
Built Template   : .aws-sam/build/template.yaml

Commands you can use next
=========================
[*] Validate SAM template: sam validate
[*] Invoke Function: sam local invoke
[*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch
[*] Deploy: sam deploy --guided
```

### コンパイルされたプログラミング言語を含むアプリケーションの構築
<a name="using-sam-cli-build-examples-compiled"></a>

この例では、Go ランタイムを使用して Lambda 関数を含むアプリケーションを構築します。

まず、`sam init` を使用して新しいアプリケーションを初期化し、アプリケーションが Go を使用するように設定します。

```
$ sam init

...

Which template source would you like to use?
        1 - AWS Quick Start Templates
        2 - Custom Template Location
Choice: 1

Choose an AWS Quick Start application template
        1 - Hello World Example
        2 - Multi-step workflow
        3 - Serverless API
        ...
Template: 1

Use the most popular runtime and package type? (Python and zip) [y/N]: ENTER

Which runtime would you like to use?
        ...
        4 - dotnetcore3.1
        5 - go1.x
        6 - go (provided.al2)
        ...
Runtime: 5

What package type would you like to use?
        1 - Zip
        2 - Image
Package type: 1

Based on your selections, the only dependency manager available is mod.
We will proceed copying the template using mod.

Would you like to enable X-Ray tracing on the function(s) in your application?  [y/N]: ENTER

Would you like to enable monitoring using CloudWatch Application Insights?
For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]: ENTER

Project name [sam-app]: ENTER

Cloning from https://github.com/aws/aws-sam-cli-app-templates (process may take a moment)

    -----------------------
    Generating application:
    -----------------------
    Name: sam-app
    Runtime: go1.x
    Architectures: x86_64
    Dependency Manager: mod
    Application Template: hello-world
    Output Directory: .
    Configuration file: sam-app/samconfig.toml
    
    Next steps can be found in the README file at sam-app-go/README.md
        
...
```

はアプリケーションを AWS SAM CLI初期化します。アプリケーションのディレクトリ構造の例を次に示します。

```
sam-app
├── Makefile
├── README.md
├── events
│   └── event.json
├── hello-world
│   ├── go.mod
│   ├── go.sum
│   ├── main.go
│   └── main_test.go
├── samconfig.toml
└── template.yaml
```

このアプリケーションの要件については、`README.md` ファイルを参照します。

```
...
## Requirements
* AWS CLI already configured with Administrator permission
* [Docker installed](https://www.docker.com/community-edition)
* [Golang](https://golang.org)
* SAM CLI - [Install the SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)
...
```

次に、関数をテストするために `sam local invoke` を実行します。Go がローカルマシンにインストールされていないため、このコマンドはエラーになります。

```
sam-app $ sam local invoke
Invoking hello-world (go1.x)
Local image was not found.
Removing rapid images for repo public.ecr.aws/sam/emulation-go1.x
Building image.................................................................................................................................................................................................................................................
Using local image: public.ecr.aws/lambda/go:1-rapid-x86_64.

Mounting /Users/.../Playground/build/sam-app/hello-world as /var/task:ro,delegated inside runtime container
START RequestId: c6c5eddf-042b-4e1e-ba66-745f7c86dd31 Version: $LATEST
fork/exec /var/task/hello-world: no such file or directory: PathError
null
END RequestId: c6c5eddf-042b-4e1e-ba66-745f7c86dd31
REPORT RequestId: c6c5eddf-042b-4e1e-ba66-745f7c86dd31  Init Duration: 0.88 ms  Duration: 175.75 ms Billed Duration: 176 ms Memory Size: 128 MB     Max Memory Used: 128 MB
{"errorMessage":"fork/exec /var/task/hello-world: no such file or directory","errorType":"PathError"}%
```

次に、アプリケーションを構築するために `sam build` を実行します。Go がローカルマシンにインストールされていないため、エラーが発生しました:

```
sam-app $ sam build
Starting Build use cache
Cache is invalid, running build and copying resources for following functions (HelloWorldFunction)
Building codeuri: /Users/.../Playground/build/sam-app/hello-world runtime: go1.x metadata: {} architecture: x86_64 functions: HelloWorldFunction

Build Failed
Error: GoModulesBuilder:Resolver - Path resolution for runtime: go1.x of binary: go was not successful
```

関数を適切に構築するようにローカルマシンを設定することもできますが、代わりに `sam build` で `--use-container` オプションを使用します。はコンテナイメージ AWS SAM CLIをダウンロードし、ネイティブ GoModulesBuilder を使用して関数を構築し、結果のバイナリを `.aws-sam/build/HelloWorldFunction` ディレクトリにコピーします。

```
sam-app $ sam build --use-container
Starting Build use cache
Starting Build inside a container
Cache is invalid, running build and copying resources for following functions (HelloWorldFunction)
Building codeuri: /Users/.../build/sam-app/hello-world runtime: go1.x metadata: {} architecture: x86_64 functions: HelloWorldFunction

Fetching public.ecr.aws/sam/build-go1.x:latest-x86_64 Docker container image.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Mounting /Users/.../build/sam-app/hello-world as /tmp/samcli/source:ro,delegated inside runtime container
Running GoModulesBuilder:Build

Build Succeeded

Built Artifacts  : .aws-sam/build
Built Template   : .aws-sam/build/template.yaml

Commands you can use next
=========================
[*] Validate SAM template: sam validate
[*] Invoke Function: sam local invoke
[*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch
[*] Deploy: sam deploy --guided
```

`.aws-sam` ディレクトリの例を次に示します。

```
.aws-sam
├── build
│   ├── HelloWorldFunction
│   │   └── hello-world
│   └── template.yaml
├── build.toml
├── cache
│   └── c860d011-4147-4010-addb-2eaa289f4d95
│       └── hello-world
└── deps
```

次に、`sam local invoke` を実行します。関数は正常に呼び出されます。

```
sam-app $ sam local invoke
Invoking hello-world (go1.x)
Local image is up-to-date
Using local image: public.ecr.aws/lambda/go:1-rapid-x86_64.

Mounting /Users/.../Playground/build/sam-app/.aws-sam/build/HelloWorldFunction as /var/task:ro,delegated inside runtime container
START RequestId: cfc8ffa8-29f2-49d4-b461-45e8c7c80479 Version: $LATEST
END RequestId: cfc8ffa8-29f2-49d4-b461-45e8c7c80479
REPORT RequestId: cfc8ffa8-29f2-49d4-b461-45e8c7c80479  Init Duration: 1.20 ms  Duration: 1782.46 ms        Billed Duration: 1783 ms        Memory Size: 128 MB     Max Memory Used: 128 MB
{"statusCode":200,"headers":null,"multiValueHeaders":null,"body":"Hello, 72.21.198.67\n"}%
```

## 詳細情報
<a name="using-sam-cli-build-learn"></a>

`sam build` コマンドの使用方法の詳細については、次を参照してください。
+ **[Learning AWS SAM: sam build](https://www.youtube.com/watch?v=fDhYKp4op_g)** – での Serverless Land の「Learning AWS SAM」シリーズYouTube。
+ **[Learning AWS SAM \$1 sam build \$1 E3 ](https://www.youtube.com/watch?v=vsAvRyLnB7Y)** – での Serverless Land の「Learning AWS SAM」シリーズYouTube。
+ **[AWS SAM build: how it provides artifacts for deployment (Sessions with SAM S2E8)](https://www.youtube.com/watch?v=bNbBd6XoDHg)** — Sessions with AWS SAM series on YouTube。
+ **[AWS SAM カスタムビルド: Makefiles を使用して SAM (S2E9) でビルドをカスタマイズする方法](https://www.youtube.com/watch?v=wpccutnSbAk)** – で AWS SAM シリーズを使用するセッションYouTube。