

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

# Lambda
<a name="automation-ref-lam"></a>

 AWS Systems Manager 自動化には、事前定義されたランブックが用意されています AWS Lambda。詳細については、「[ランブックの使用](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html)」を参照してください。ランブックコンテンツを表示する方法については、[ランブックの内容を表示する](automation-runbook-reference.md#view-automation-json) を参照してください。

**Topics**
+ [`AWSConfigRemediation-ConfigureLambdaFunctionXRayTracing`](automation-aws-config-lambda-xray.md)
+ [`AWSConfigRemediation-DeleteLambdaFunction`](automation-aws-delete-lambda.md)
+ [`AWSConfigRemediation-EncryptLambdaEnvironmentVariablesWithCMK`](automation-aws-encrypt-lambda-variables.md)
+ [`AWSConfigRemediation-MoveLambdaToVPC`](automation-aws-lambda-to-vpc.md)
+ [`AWSSupport-RemediateLambdaS3Event`](automation-awssupport-remediatelambdas3event.md)
+ [`AWSSupport-TroubleshootLambdaInternetAccess`](AWSSupport-TroubleshootLambdaInternetAccess.md)
+ [`AWSSupport-TroubleshootLambdaS3Event`](automation-aws-troubleshootlambdas3event.md)

# `AWSConfigRemediation-ConfigureLambdaFunctionXRayTracing`
<a name="automation-aws-config-lambda-xray"></a>

 **説明** 

 `AWSConfigRemediation-ConfigureLambdaFunctionXRayTracing` ランブックは、 `FunctionName`パラメータで指定した AWS Lambda 関数で AWS X-Ray ライブトレースを有効にします。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-ConfigureLambdaFunctionXRayTracing) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (必須) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。
+ FunctionName

  タイプ: 文字列

  説明: (必須) トレースを有効にする Lambda 関数の名前または ARN。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+  `lambda:UpdateFunctionConfiguration` 
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 

 **ドキュメントステップ** 
+  `aws:executeAwsApi` - `FunctionName` パラメータで指定された Lambda 関数で X-Ray トレースを有効にします。
+  `aws:assertAwsResourceProperty` - Lambda 関数で X-Ray トレースが有効になっているかを確認します。

 **[出力] ** 

 UpdateLambdaConfig.UpdateFunctionConfigurationResponse - `UpdateFunctionConfiguration` API コールからの応答。

# `AWSConfigRemediation-DeleteLambdaFunction`
<a name="automation-aws-delete-lambda"></a>

 **説明** 

 `AWSConfigRemediation-DeleteLambdaFunction` ランブックは指定した AWS Lambda 機能を削除します。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DeleteLambdaFunction) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (必須) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。
+ LambdaFunctionName

  タイプ: 文字列

  説明: (必須) 削除される Lambda 関数の名前。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `lambda:DeleteFunction` 
+  `lambda:GetFunction` 

 **ドキュメントステップ** 
+  `aws:executeAwsApi` - `LambdaFunctionName` パラメータで指定された Lambda 関数を削除します。
+  `aws:executeScript` - Lambda 関数が削除されたことを確認します。

# `AWSConfigRemediation-EncryptLambdaEnvironmentVariablesWithCMK`
<a name="automation-aws-encrypt-lambda-variables"></a>

 **説明** 

 `AWSConfigRemediation-EncryptLambdaEnvironmentVariablesWithCMK` ランブックは、 AWS Key Management Service () カスタマーマネージドキーを使用して、指定した AWS Lambda (Lambda AWS KMS) 関数の環境変数を保管時に暗号化します。このランブックは、推奨される最小限セキュリティのベストプラクティスに従って Lambda 関数の環境変数が暗号化されるようにするための、ベースラインとしてのみ使用するようにします。複数の関数は、それぞれ異なるカスタマーマネージドキーを使用して暗号化することをお勧めします。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-EncryptLambdaEnvironmentVariablesWithCMK) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (必須) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。
+ FunctionName

  タイプ: 文字列

  説明: (必須) 暗号化する環境変数を持つ Lambda 関数の名前または ARN。
+ KMSKeyArn

  タイプ: 文字列

  説明: (必須) Lambda 関数の環境変数の暗号化に使用する AWS KMS カスタマーマネージドキーの ARN。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `lambda:GetFunctionConfiguration ` 
+  `lambda:UpdateFunctionConfiguration` 

 **ドキュメントステップ** 
+  `aws:waitForAwsResourceProperty` - `LastUpdateStatus` プロパティが `Successful` になるのを待ちます。
+  `aws:executeAwsApi` - `FunctionName`パラメータで指定した AWS KMS カスタマーマネージドキーを使用して、 `KMSKeyArn` パラメータで指定した Lambda 関数の環境変数を暗号化します。
+  `aws:assertAwsResourceProperty` - Lambda 関数の環境変数の暗号化が有効になっていることを確認します。

# `AWSConfigRemediation-MoveLambdaToVPC`
<a name="automation-aws-lambda-to-vpc"></a>

 **説明** 

 `AWSConfigRemediation-MoveLambdaToVPC` ランブックは、 AWS Lambda (Lambda) 関数を Amazon Virtual Private Cloud (Amazon VPC) に移動します。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-MoveLambdaToVPC) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (必須) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。
+ FunctionName

  タイプ: 文字列

  説明: (必須) Amazon VPC に移動する Lambda 関数の名前。
+ SecurityGroupIds

  タイプ: 文字列

  説明: (必須) Lambda 関数に関連付けられた Elastic Network Interface (ENI) に割り当てるセキュリティグループ ID。
+ SubnetIds

  タイプ: 文字列

  説明: (必須) Lambda 関数に関連付けられた Elastic Network Interface (ENI) を作成するサブネット ID。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `lambda:GetFunction` 
+  `lambda:GetFunctionConfiguration` 
+  `lambda:UpdateFunctionConfiguration` 

 **ドキュメントステップ** 
+  `aws:executeAwsApi` - `FunctionName` パラメータで指定した Lambda 関数の Amazon VPC 設定を更新します。
+  `aws:waitForAwsResourceProperty` - Lambda 関数 `LastUpdateStatus` が `successful` になるのを待ちます。
+  `aws:executeScript` - Lambda 関数の Amazon VPC 設定が正常に更新されたことを確認します。

# `AWSSupport-RemediateLambdaS3Event`
<a name="automation-awssupport-remediatelambdas3event"></a>

 **説明** 

 `AWSSupport-TroubleshootLambdaS3Event` ランブックは、 AWS ナレッジセンターの記事[Amazon S3イベント通知が Lambda 関数をトリガーしないのはなぜですか?](https://aws.amazon.com/premiumsupport/knowledge-center/lambda-configure-s3-event-notification/)」および[「次の送信先設定を検証できない」というエラーが、Lambda 関数をトリガーする Amazon S3 イベント通知を作成するときに表示されるのはなぜですか?](https://aws.amazon.com/premiumsupport/knowledge-center/lambda-invoke-error-s3-bucket-permission/)」で説明されている手順の自動ソリューションを提供します。このランブックは、Amazon Simple Storage Service (Amazon S3) イベント通知が指定した AWS Lambda 関数のトリガーに失敗した理由を特定して修正するのに役立ちます。ランブックの出力で Lambda 関数の同時実行の検証と設定が提案されている場合は、「[非同期呼び出し](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html)」と「[AWS Lambda 関数のスケーリング](https://docs.aws.amazon.com/lambda/latest/dg/scaling.html)」を参照してください。

**注記**  
Amazon Simple Notiﬁcation Service (Amazon SNS) と Amazon Simple Queue Service (Amazon SQS) Amazon S3 イベントの設定が正しくないために、「以下の送信先設定を検証できません」というエラーが発生する可能性もあります。このランブックは Lambda 関数の設定のみをチェックします。ランブックを使用した後も「以下の送信先設定を検証できません」というエラーが表示される場合は、既存の Amazon SNS および Amazon SQS Amazon S3 イベント設定を確認してください。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-RemediateLambdaS3Event) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
+ LambdaFunctionArn

  タイプ: 文字列

  説明: (必須) Lambda 関数の ARN。
+ S3BucketName

  タイプ: 文字列

  説明: (必須) イベント通知が Lambda 関数をトリガーする Amazon S3 バケットの名前。
+ Action

  タイプ: 文字列

  有効な値: トラブルシューティング \$1 修復

   説明: (必須) ランブックで実行したいアクション。この `Troubleshoot` オプションは問題の特定に役立ちますが、問題を解決するための変更アクションは実行しません。この `Remediate` オプションは問題を特定し、ユーザーに代わって解決を試行する上で役立ちます。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+  `ssm:StartAutomationExecution` 
+  `ssm:GetDocument` 
+  `ssm:ListDocuments` 
+  `ssm:DescribeAutomationExecutions` 
+  `ssm:DescribeAutomationStepExecutions` 
+  `ssm:GetAutomationExecution` 
+  `lambda:GetPolicy` 
+  `lambda:AddPermission` 
+  `s3:GetBucketNotification` 

 **ドキュメントステップ** 
+  `aws:branch` - `Action` パラメータで指定した入力に基づいて分岐させます。

   指定した値が `Troubleshoot` である場合: 
  +  `aws:executeAutomation` - `AWSSupport-TroubleshootLambdaS3Event` ランブックを実行します。
  +  `aws:executeAwsApi` - 前のステップで実行した `AWSSupport-TroubleshootLambdaS3Event` ランブックの出力を確認します。

   指定した値が `Remediate` である場合: 
  +  `aws:executeScript` - [Amazon S3 イベント通知で Lambda 関数がトリガーされないのはなぜですか?](https://aws.amazon.com/premiumsupport/knowledge-center/lambda-configure-s3-event-notification/)および、[Lambda 関数をトリガーする Amazon S3 イベント通知を作成するときに「以下の送信先設定を検証できません」というエラーが表示されるのはなぜですか?](https://aws.amazon.com/premiumsupport/knowledge-center/lambda-invoke-error-s3-bucket-permission/)で説明されている問題を修正するためのスクリプトを実行します。ナレッジセンターの記事。

 **[出力] ** 

checkoutput.Output

remediatelambdas3event.Output

# `AWSSupport-TroubleshootLambdaInternetAccess`
<a name="AWSSupport-TroubleshootLambdaInternetAccess"></a>

 **説明** 

 `AWSSupport-TroubleshootLambdaInternetAccess` ランブックは、Amazon Virtual Private Cloud (Amazon VPC) で起動された AWS Lambda 関数のインターネットアクセスに関する問題のトラブルシューティングに役立ちます。サブネットルート、セキュリティグループルール、ネットワークアクセスコントロールリスト (ACL) ルールなどのリソースを確認して、アウトバウンドのインターネットアクセスが許可されていることを確認します。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootLambdaInternetAccess) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
+ FunctionName

  タイプ: 文字列

  説明: (必須) インターネットアクセスのトラブルシューティングを行う Lambda 関数の名前。
+ destinationIp

  タイプ: 文字列

  説明: (必須) アウトバウンド接続を確立する宛先 IP アドレス。
+ destinationPort

  タイプ: 文字列

  デフォルト: 443

  説明: (オプション) アウトバウンド接続を確立する宛先ポート。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+  `lambda:GetFunction` 
+  `ec2:DescribeRouteTables` 
+  `ec2:DescribeNatGateways` 
+  `ec2:DescribeSecurityGroups` 
+  `ec2:DescribeNetworkAcls` 

 **ドキュメントステップ** 
+  `aws:executeScript` - Lambda 関数が起動された VPC 内のさまざまなリソースの設定を検証します。
+  `aws:branch` - 指定された Lambda 関数が VPC 内にあるかどうかに基づいて分岐させます。
+  `aws:executeScript` - Lambda 関数が起動されたサブネットのルートテーブルルートを確認し、ネットワークアドレス変換 (NAT) ゲートウェイとインターネットゲートウェイへのルートが存在することを確認します。Lambda 関数がパブリックサブネットにないことを確認します。
+  `aws:executeScript` - `destinationIp` および `destinationPort` パラメータに指定された値に基づいて、Lambda 関数に関連付けられたセキュリティグループがアウトバウンドインターネットアクセスを許可していることを確認します。
+  `aws:executeScript` - `destinationIp` および `destinationPort` パラメータに指定された値に基づいて、Lambda 関数のサブネットに関連付けられた ACL ルールと NAT ゲートウェイがアウトバウンドインターネットアクセスを許可していることを確認します。

 **[出力] ** 

checkVpc.vpc - Lambda 関数が起動された VPC の ID。

checkVpc.subnet - Lambda 関数が起動された サブネットの ID。

checkVpc.securityGroups - Lambda 関数に関連付けられたセキュリティグループ。

 checkNACL.NACL - リソース名を含む分析メッセージ。`LambdaIp` とは、Lambda 関数の エラスティックネットワークインターフェイスのプライベート IP アドレスを指します。`LambdaIpRules` オブジェクトは NAT ゲートウェイへのルートがあるサブネットに対してのみ生成されます。次のコンテンツは出力の例です。

```
{
   "subnet-1234567890":{
      "NACL":"acl-1234567890",
      "destinationIp_Egress":"Allowed",
      "destinationIp_Ingress":"notAllowed",
      "Analysis":"This NACL has an allow rule for Egress traffic but there is no Ingress rule. Please allow the destination IP / destionation port in Ingress rule",
      "LambdaIpRules":{
         "{LambdaIp}":{
            "Egress":"notAllowed",
            "Ingress":"notAllowed",
            "Analysis":"This is a NAT subnet NACL. It does not have ingress or egress rule allowed in it for Lambda's corresponding private ip {LambdaIp} Please allow this IP in your egress and ingress NACL rules"
         }
      }
   },
   "subnet-0987654321":{
      "NACL":"acl-0987654321",
      "destinationIp_Egress":"Allowed",
      "destinationIp_Ingress":"notAllowed",
      "Analysis":"This NACL has an allow rule for Egress traffic but there is no Ingress rule. Please allow the destination IP / destionation port in Ingress rule"
   }
}
```

checkSecurityGroups.secgrps - Lambda 関数に関連付けられているセキュリティグループの分析。次のコンテンツは出力の例です。

```
{
   "sg-123456789":{
      "Status":"Allowed",
      "Analysis":"This security group has allowed destintion IP and port in its outbuond rule."
   }
}
```

checkSubnet.subnets - Lambda 関数に関連付けられた VPC 内のサブネットの分析。次のコンテンツは出力の例です。

```
{
   "subnet-0c4ee6cdexample15":{
      "Route":{
         "DestinationCidrBlock":"8.8.8.0/26",
         "NatGatewayId":"nat-00f0example69fdec",
         "Origin":"CreateRoute",
         "State":"active"
      },
      "Analysis":"This Route Table has an active NAT gateway path. Also, The NAT gateway is launched in public subnet",
      "RouteTable":"rtb-0b1fexample16961b"
   }
}
```

# `AWSSupport-TroubleshootLambdaS3Event`
<a name="automation-aws-troubleshootlambdas3event"></a>

 **説明** 

 `AWSSupport-TroubleshootLambdaS3Event` ランブックは、 AWS ナレッジセンターの記事[Amazon S3 イベント通知が Lambda 関数をトリガーしないのはなぜですか?](https://aws.amazon.com/premiumsupport/knowledge-center/lambda-configure-s3-event-notification/)」および[「次の送信先設定を検証できない」というエラーが、Lambda 関数をトリガーする Amazon S3 イベント通知を作成するときに表示されるのはなぜですか?](https://aws.amazon.com/premiumsupport/knowledge-center/lambda-invoke-error-s3-bucket-permission/)」で説明されている手順の自動ソリューションを提供します。このランブックは、Amazon Simple Storage Service (Amazon S3) イベント通知が指定した AWS Lambda 関数のトリガーに失敗した理由を特定するのに役立ちます。ランブックの出力で Lambda 関数の同時実行の検証と設定が提案されている場合は、「[非同期呼び出し](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html)」と「[AWS Lambda 関数のスケーリング](https://docs.aws.amazon.com/lambda/latest/dg/scaling.html)」を参照してください。

 [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootLambdaS3Event) 

**ドキュメントタイプ**

オートメーション

**[所有者]**

Amazon

**[Platforms]** (プラットフォーム)

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

  説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
+ LambdaFunctionArn

  タイプ: 文字列

  説明: (必須) Amazon S3 イベント通知がトリガーする Lambda 関数 の ARN。
+ S3BucketName

  タイプ: 文字列

  説明: (必須) イベント通知が Lambda 関数をトリガーする Amazon S3 バケットの名前。

**必要な IAM アクセス許可**

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+  `lambda:GetPolicy` 
+  `s3:GetBucketNotification` 

 **ドキュメントステップ** 
+  `aws:executeScript` - Amazon S3 イベント通知の構成設定を検証するスクリプトを実行します。Lambda 関数のリソースベースの IAM ポリシーを検証し、必要なアクセス許可がポリシーにない場合に必要なアクセス許可を追加する AWS Command Line Interface (AWS CLI) コマンドを生成します。同じ S3 バケットのイベント通知の一部である他の Lambda 関数リソースポリシーを検証し、必要なアクセス許可がない場合は出力として AWS CLI コマンドを生成します。

 **[出力] ** 

lambdaS3Event.output 