

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

# API ゲートウェイ
<a name="automation-ref-abp"></a>

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

**Topics**
+ [`AWSConfigRemediation-DeleteAPIGatewayStage`](automation-aws-delete-apigw-stage.md)
+ [`AWSConfigRemediation-EnableAPIGatewayTracing`](automation-aws-enable-apigw-tracing.md)
+ [`AWSConfigRemediation-UpdateAPIGatewayMethodCaching`](automation-aws-update-api-gateway.md)
+ [`AWSSupport-TroubleshootAPIGatewayHttpErrors`](automation-aws-troubleshootapigatewayhttp-errors.md)

# `AWSConfigRemediation-DeleteAPIGatewayStage`
<a name="automation-aws-delete-apigw-stage"></a>

 **説明** 

 `AWSConfigRemediation-DeleteAPIGatewayStage` ランブックは、Amazon API Gateway (API Gateway) stage を削除します。このオートメーションを実行する AWS リージョン で有効に AWS Config する必要があります。

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

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

Automation

**[所有者]**

Amazon

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

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

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

  タイプ: 文字列

  説明: (必須) 削除される API Gateway ステージの Amazon リソースネーム (ARN)。

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

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

 **ドキュメントステップ** 
+  `aws:executeScript` - `StageArn` パラメータで指定された API Gateway ステージを削除します。

# `AWSConfigRemediation-EnableAPIGatewayTracing`
<a name="automation-aws-enable-apigw-tracing"></a>

 **説明** 

 `AWSConfigRemediation-EnableAPIGatewayTracing` ランブックは、Amazon API Gateway (API Gateway) ステージでのトレースを有効にします。このオートメーションを実行する AWS リージョン で を有効にする AWS Config 必要があります。

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

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

Automation

**[所有者]**

Amazon

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

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

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

  タイプ: 文字列

  説明: (必須) トレースを有効にする API Gateway ステージの Amazon リソースネーム (ARN)。

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

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

 **ドキュメントステップ** 
+  `aws:executeScript` - `StageArn` パラメータで指定された API Gateway ステージでトレースを有効にします。

# `AWSConfigRemediation-UpdateAPIGatewayMethodCaching`
<a name="automation-aws-update-api-gateway"></a>

 **説明** 

 `AWSConfigRemediation-UpdateAPIGatewayMethodCaching` ランブックは、Amazon API Gateway ステージリソースのキャッシュメソッド設定を更新します。

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

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

Automation

**[所有者]**

Amazon

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

Linux、macOS、Windows

**パラメータ**
+ AutomationAssumeRole

  タイプ: 文字列

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

  タイプ: StringList

   説明: (必須) キャッシュを有効にすることを許可されたメソッド。リストは、`DELETE`、`GET`、`HEAD`、`OPTIONS`、`PATCH`、`POST`、`PUT` のうち、いくつかの組み合わせである必要があります。キャッシュは選択されたメソッドに対して有効になり、選択されていないメソッドでは無効になります。`ANY` が選択されている場合はすべてのメソッドでキャッシュが有効になり、`NONE` が選択されている場合はすべてのメソッドでキャッシュが無効になります。
+ StageArn

  タイプ: 文字列

   説明: (必須) `REST` API の API Gateway ステージ ARN。

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

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

 **ドキュメントステップ** 
+  `aws:executeScript` - ステージリソース ID を入力として受け入れ、`UpdateStage` API アクションを使用して API Gateway ステージのキャッシュメソッド設定を更新し、更新を検証します。

# `AWSSupport-TroubleshootAPIGatewayHttpErrors`
<a name="automation-aws-troubleshootapigatewayhttp-errors"></a>

 **説明** 

**AWSSupport-TroubleshootAPIGatewayHttpErrors** ランブックは、アクセスログや実行ログを解析し、エラーを分析して re:Post の記事や AWS ドキュメントを通じて修復手順を提供することで、デプロイされた Amazon API Gateway REST API を呼び出す際の 5XX/4XX エラーのトラブルシューティングに役立ちます。

**重要**  
このランブックには以下の制限があります。  
ログ記録を有効にする必要があります。[「API Gateway コンソールを使用して Amazon CloudWatch API ログ記録を設定する」を参照してください](https://docs.aws.amazon.com//apigateway/latest/developerguide/set-up-logging.html#set-up-access-logging-using-console)。
エラーが発生する前に、ログが有効になっている必要があります (複数可）。ログのキャプチャと分析を遡及的に行うことはできません。
対象となるエラー: 500、502、503、504、401、403、429。
REST API のみがサポートされています。WebSocket と HTTP (v2) はこのランブックの対象ではありません。

**重要**  
このランブックを使用すると、REST API によってキャプチャされた Amazon CloudWatch Logs と、分析で使用される CloudWatch Logs Insights の AWS アカウントに対して追加料金が発生する場合があります。発生する可能性のある料金の詳細については、[Amazon CloudWatch ](https://aws.amazon.com/cloudwatch/pricing/) 料金表」を参照してください。`aws:deletestack` ステップが失敗した場合は、 CloudFormation コンソールに移動してスタックを手動で削除します。このランブックで作成されたスタック名は `AWSSupport-TroubleshootAPIGatewayHttpErrors` で始まります。 CloudFormation スタックの削除については、 AWS CloudFormation 「 ユーザーガイド[」の「スタックの削除](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html)」を参照してください。

 **動作の仕組み** 

ランブックは、以下の検証および分析ステップを実行します。
+ 指定された REST API が存在し、必要なアクセス許可があることを検証します。
+ 指定されたステージが API に存在することを検証します。
+ 指定されたリソースパスが API に存在することを検証します。
+ リソースに指定された HTTP メソッドが存在することを検証します。
+ 指定されたパラメータと時間範囲について CloudWatch Logs を分析してエラーを特定し、修復に関する推奨事項を提供します。

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

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

オートメーション

**[所有者]**

Amazon

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

/

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

`AutomationAssumeRole` パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
+ `apigateway:GET`
+ `logs:CreateLogGroup`
+ `logs:CreateLogStream`
+ `logs:DescribeLogGroups`
+ `logs:DescribeLogStreams`
+ `logs:PutLogEvents`
+ `logs:StartQuery`
+ `logs:GetQueryResults`

IAM ポリシーの例:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "apigateway:GET",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams",
                "logs:PutLogEvents",
                "logs:StartQuery",
                "logs:GetQueryResults"
            ],
            "Resource": "*"
        }
    ]
}
```

 **指示** 

次の手順に従って自動化を設定します。

1. ドキュメントの Systems Manager [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootAPIGatewayHttpErrors/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootAPIGatewayHttpErrors/description)で に移動します。

1. [**Execute automation**] (オートメーションを実行) を選択します。

1. 入力パラメータには、次のように入力します。
   + **AutomationAssumeRole（オプション):**
     + 説明: (オプション) SSM Automation が AWS Identity and Access Management ユーザーに代わってアクションを実行できるようにする (IAM) ロールの Amazon リソースネーム (ARN)。ロールが指定されていない場合、SSM Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
     + 型: `AWS::IAM::Role::Arn`
   + **RestApiId (必須):**
     + 説明: (必須) トラブルシューティングが必要な API の API ID。10 文字の英数字文字列である必要があります。
     + 型: `String`
     + 許可されたパターン: `^[a-zA-Z0-9]{10}$`
   + **StageName (必須):**
     + 説明: (必須) デプロイされたステージの名前。文字、数字、アンダースコア、ハイフンを含む 1～128 文字にする必要があります。
     + 型: `String`
     + 許可されたパターン: `^[a-zA-Z0-9_\\-]{1,128}$`
   + **ResourcePath (オプション):**
     + 説明: (オプション) メソッドが設定されているリソースパス。例: `/`、`/store/items`、`/{resource}`。
     + 型: `String`
     + デフォルト: `/`
   + **HttpMethod (オプション):**
     + 説明: (オプション) 設定されたリソースパスの メソッド。
     + 型: `String`
     + 使用できる値: `[ANY, DELETE, HEAD, OPTIONS, GET, POST, PUT, PATCH]`
     + デフォルト: `GET`
   + **StartTime (オプション):**
     + 説明: (オプション) CloudWatch Logs をクエリする開始日時。形式: `yyyy-MM-ddTHH:mm:ss` UTC タイムゾーン。指定しない場合、デフォルトでは現在の時刻の 3 日前になります。
     + 型: `String`
     + 許可されたパターン: `^$|^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T(2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$`
     +  デフォルト: `""`
   + **EndTime (オプション):**
     + 説明: (オプション) CloudWatch Logs をクエリするための終了日時。形式: `yyyy-MM-ddTHH:mm:ss` UTC タイムゾーン。指定しない場合、デフォルトで現在の時刻になります。
     + 型: `String`
     + 許可されたパターン: `^$|^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])T(2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$`
     +  デフォルト: `""`
   + **AccessLogs (オプション):**
     + 説明: (オプション) アクセスログを分析するかどうか。
     + 型: `Boolean`
     + 使用できる値: `[true, false]`
     + デフォルト: `false`
   + **RequestId (オプション):**
     + 説明: (オプション) エラーが観察されたリクエストのリクエスト ID。有効な UUID 形式である必要があります。
     + 型: `String`
     + 許可されたパターン: `^$|^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$`
     + デフォルト: `""`

1. **[実行]** を選択します。

1. 自動化が開始されます。

1. ドキュメントは以下のステップを実行します。
   + **CheckApiExists**:

     提供された REST API が存在し、それにアクセスするために必要なアクセス許可があることを検証します。
   + **CheckStageExists**:

     指定されたステージ名が指定された API に存在することを確認し、アクセスロググループ情報を取得します。
   + **CheckResourceExists**:

     指定されたリソースパスが API に存在することを確認し、リソース ID を取得します。
   + **CheckMethodExists**:

     指定されたリソースに指定された HTTP メソッドが存在することを検証します。
   + **AnalyseLogs**:

     指定されたパラメータを使用してログを検索し、見つかったエラーに基づいてレコメンデーションを返します。このステップでは、実行ログとアクセスログ (有効になっている場合) の両方を分析して 4XX および 5XX エラーを特定し、特定の修復ガイダンスを提供します。

1. 完了後、エラー分析や修復の推奨事項など、実行の詳細な結果については、**出力**セクションを確認してください。

**リファレンス**

Systems Manager Automation
+ [このオートメーションを実行する (コンソール)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootAPIGatewayHttpErrors/description)
+ [オートメーションを実行する](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [オートメーションの設定](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [自動化ワークフローのサポート](https://aws.amazon.com/premiumsupport/technology/saw/)