

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

# AWS Lambda コンピューティングでビルドを実行する
<a name="lambda"></a>

AWS Lambda コンピューティングは、ビルドの起動速度を最適化します。 は、起動レイテンシーが低いため、より高速なビルド AWS Lambda をサポートします。 AWS Lambda も自動的にスケーリングするため、ビルドはキュー内で実行されるのを待つことはありません。ただし、 AWS Lambda がサポートしていないユースケースがいくつかあり、それらが影響する場合は EC2 コンピューティングを使用します。詳細については、「[AWS Lambda コンピューティングの制限](#lambda.limitations)」を参照してください。

**Topics**
+ [AWS Lambda上で実行される、選別されたランタイム環境の Docker イメージには、どのツールとランタイムが含まれますか?](#lambda.tools)
+ [キュレートされたイメージに必要なツールが含まれていない場合はどうなりますか。](#lambda.custom)
+ [CodeBuild で AWS Lambda コンピューティングをサポートしているのはどのリージョンですか?](#lambda.regions)
+ [AWS Lambda コンピューティングの制限](#lambda.limitations)
+ [CodeBuild Lambda Java AWS SAM で を使用して Lambda 関数をデプロイする](sample-lambda-sam-gradle.md)
+ [CodeBuild Lambda Node.js を使用してシングルページの React アプリを作成](sample-lambda-react-nodejs.md)
+ [CodeBuild Lambda Python を使用して Lambda 関数の設定を更新](sample-lambda-boto3-python.md)

## AWS Lambda上で実行される、選別されたランタイム環境の Docker イメージには、どのツールとランタイムが含まれますか?
<a name="lambda.tools"></a>

AWS Lambda は、次のツールをサポートしています。 AWS CLI v2、 AWS SAM CLI、git、go、Java、Node.js、Python、pip、Ruby、.NET。

## キュレートされたイメージに必要なツールが含まれていない場合はどうなりますか。
<a name="lambda.custom"></a>

キュレートされたイメージに必要なツールが含まれていない場合は、必要なツールを含むカスタム環境の Docker イメージを提供できます。

**注記**  
Lambda は、マルチアーキテクチャのコンテナイメージを使用する関数をサポートしません。詳細については、「*AWS Lambda デベロッパーガイド*」の「[コンテナイメージを使用した Lambda 関数の作成](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-reqs)」を参照してください。

Lambda コンピューティングにカスタムイメージを使用するには、次の Amazon ECR アクセス許可が必要です。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr:us-east-1:{{111122223333}}:repository/{{image-repo}}"
        }
    ]
}
```

------

また、カスタムイメージを使用するには、`curl` または `wget` をインストールする必要があります。

## CodeBuild で AWS Lambda コンピューティングをサポートしているのはどのリージョンですか?
<a name="lambda.regions"></a>

CodeBuild では、 AWS Lambda 米国 AWS リージョン東部 (バージニア北部）、米国東部 (オハイオ）、米国西部 (オレゴン）、アジアパシフィック (ムンバイ）、アジアパシフィック (シンガポール）、アジアパシフィック (シドニー）、アジアパシフィック (東京）、欧州 (フランクフルト）、欧州 (アイルランド）、南米 (サンパウロ) でコンピューティングがサポートされています。CodeBuild が使用可能な  AWS リージョン  の詳細については、「[AWS  サービス (リージョン別)](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)」を参照してください。

## AWS Lambda コンピューティングの制限
<a name="lambda.limitations"></a>

 AWS Lambda がサポートしていないユースケースがいくつかあり、それらが影響する場合は EC2 コンピューティングを使用します。
+ AWS Lambda は、ルートアクセス許可を必要とするツールをサポートしていません。`yum` や `rpm` などのツールには、EC2 コンピューティングタイプや root 権限を必要としないその他のツールを使用してください。
+ AWS Lambda は Docker のビルドまたは実行をサポートしていません。
+ AWS Lambda は、 外のファイルへの書き込みをサポートしていません`/tmp`。付属のパッケージマネージャーは、パッケージのダウンロードと参照にデフォルトで `/tmp` ディレクトリを使用するように設定されています。
+ AWS Lambda は 環境タイプをサポートしておらず`LINUX_GPU_CONTAINER`、Windows Server Core 2019 ではサポートされていません。
+ AWS Lambda は、キャッシュ、カスタムビルドタイムアウト、キュータイムアウト、ビルドバッジ、特権モード、カスタムランタイム環境、または 15 分を超えるランタイムをサポートしていません。
+ AWS Lambda は、VPC 接続、固定範囲の CodeBuild ソース IP アドレス、EFS、証明書のインストール、または Session Manager による SSH アクセスをサポートしていません。