

# AWS Config による API Gateway API 設定のモニタリング
<a name="apigateway-config"></a>

[AWS Config](https://aws.amazon.com/config/) を使用して、API Gateway API リソースに対して行われた設定の変更を記録し、リソースの変更に基づいて通知を送信することができます。API Gateway リソースの設定変更履歴を維持することは、運用上のトラブルシューティング、監査、およびコンプライアンスのユースケースに役立ちます。

AWS Config は、以下の変更を追跡することができます。
+ 以下のような **API ステージ設定**
  + キャッシュクラスター設定
  + スロットル設定
  + アクセスログ設定
  + ステージに設定されたアクティブなデプロイ
+ 以下のような **API 設定**
  + エンドポイント設定
  + バージョン
  + プロトコル
  + タグ

さらに、AWS Config ルール 機能を使用して設定ルールを定義し、これらのルールに対する違反を自動的に検出、追跡、および警告することができます。これらのリソース設定プロパティに対する変更を追跡することによって、変更によってトリガーされる AWS Config ルールを API Gateway リソースのために作成し、ベストプラクティスに照らしてリソース設定をテストすることもできます。

AWS Config コンソールか AWS Config を使用して、アカウントの AWS CLI を有効にすることができます。変更を追跡するリソースのタイプを選択してください。すべてのリソースタイプを記録するように AWS Config を既に設定している場合は、アカウントでこれらの API Gateway リソースが自動的に記録されます。AWS Config での Amazon API Gateway のサポートは、すべての AWS パブリックリージョンと AWS GovCloud (US) で利用できます。サポートされているリージョンの完全なリストについては、「AWS 全般のリファレンス」の「[Amazon API Gateway のエンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/apigateway.html)」を参照してください。

**Topics**
+ [サポートされているリソースタイプ](#apigateway-config-resources-rules)
+ [AWS Config のセットアップ](#apigateway-config-setup)
+ [API Gateway リソースを記録するための AWS Config の設定](#apigateway-config-configuring)
+ [AWS Config コンソールでの API Gateway 設定の詳細の表示](#apigateway-config-console)
+ [AWS Config ルールを使用した API Gateway リソースの評価](#apigateway-config-rules)

## サポートされているリソースタイプ
<a name="apigateway-config-resources-rules"></a>

以下の API Gateway リソースタイプは AWS Config と統合されており、[AWS Config でサポートされる AWS リソースタイプとリソース関係](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html)に記載されています。
+ `AWS::ApiGatewayV2::Api` (WebSocket および HTTP API)
+ `AWS::ApiGateway::RestApi` (REST API)
+ `AWS::ApiGatewayV2::Stage` (WebSocket および HTTP API ステージ)
+ `AWS::ApiGateway::Stage` (REST API ステージ)

AWS Config の詳細については、[AWS Config 開発者ガイド](https://docs.aws.amazon.com/config/latest/developerguide/)を参照してください。料金情報については、「[AWS Config 料金表ページ](https://aws.amazon.com/config/pricing/)」を参照してください。

**重要**  
API のデプロイ後に以下の API プロパティのいずれかを変更した場合は、変更を反映するために API を[再デプロイ](how-to-deploy-api.md)する*必要があります*。それ以外の場合、AWS Config コンソールに属性の変更が表示されますが、以前のプロパティ設定はまだ有効です。API のランタイム動作が変更されることはありません。  
**`AWS::ApiGateway::RestApi`** – `binaryMediaTypes`, `minimumCompressionSize`, `apiKeySource`
**`AWS::ApiGatewayV2::Api`** – `apiKeySelectionExpression`

## AWS Config のセットアップ
<a name="apigateway-config-setup"></a>

AWS Config を初めて設定するには、[AWS Config デベロッパーガイド](https://docs.aws.amazon.com/config/latest/developerguide/)の以下のトピックを参照してください。
+ [コンソールによる AWS Config の設定](https://docs.aws.amazon.com/config/latest/developerguide/gs-console.html)
+ [ を使用した AWS Config のセットアップAWS CLI](https://docs.aws.amazon.com/config/latest/developerguide/gs-cli.html)

## API Gateway リソースを記録するための AWS Config の設定
<a name="apigateway-config-configuring"></a>

デフォルトでは、環境が実行されているリージョンで検出された、サポートされているすべてのタイプのリージョナルリソースについての設定の変更が AWS Config で記録されます。AWS Config をカスタマイズすることで、特定のリソースタイプのみの変更を記録するか、グローバルリソースの変更を記録できます。

リージョナルリソースとグローバルリソースの相違点、および AWS Config 設定のカスタマイズ手順の詳細については、「[AWS Config で記録するリソースの選択](https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html)」を参照してください。

## AWS Config コンソールでの API Gateway 設定の詳細の表示
<a name="apigateway-config-console"></a>

AWS Config コンソールを使用して API Gateway リソースを探し、それらの設定に関する現在および履歴的な詳細情報を取得できます。以下の手順は、API Gateway API に関する情報を見つける方法を示しています。

**AWS config コンソールで API Gateway リソースを検索するには**

1. [AWS Config コンソール](https://console.aws.amazon.com/config)を開きます。

1. [**リソース**] を選択します。

1. [**Resource (リソース)**] のインベントリページで、[**Resources (リソース)**] を選択します。

1. [**Resource type (リソースタイプ)**] メニューを開き、APIGateway または APIGatewayV2 までスクロールし、1 つ以上の API Gateway リソースタイプを選択します。

1. [**検索**] を選択します。

1. AWS Config に表示されるリソースのリストからリソース ID を選択します。AWS Config では、選択したリソースに関する設定の詳細とその他の情報が表示されます。

1. 記録した設定の詳細全体を表示するには、[**View Details (詳細を表示)**] を選択します。

このページでリソースを検索して情報を表示する他の方法については、AWS デベロッパーガイドの「[AWS Config リソースの設定および履歴の表示](https://docs.aws.amazon.com/config/latest/developerguide/view-manage-resource.html)」を参照してください。

## AWS Config ルールを使用した API Gateway リソースの評価
<a name="apigateway-config-rules"></a>

API Gateway リソースの理想的な設定を表す AWS Config ルールを作成できます。事前定義済みの [AWS Config マネージドルール](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html)を使用するか、カスタムルールを定義することができます。AWS Config は、リソースの設定変更を継続的に追跡し、これらの変更がルールの条件に違反していないかどうかを確認します。AWS Config コンソールには、ルールとリソースのコンプライアンスステータスが表示されます。

リソースがルールに違反しており、非準拠としてフラグが付けられた場合、AWS Config は [Amazon Simple Notification Service デベロッパーガイド](https://docs.aws.amazon.com/sns/latest/dg/) (Amazon SNS) のトピックを使用してアラートを送信できます。これらの AWS Config アラートのデータをプログラム的に使用するには、Amazon SNS トピックの通知エンドポイントとして Amazon Simple Queue Service (Amazon SQS) キューを使用します。

ルールの設定と使用の詳細については、[AWS Config デベロッパーガイド](https://docs.aws.amazon.com/config/latest/developerguide/)の「[ルールでのリソースの評価](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)」を参照してください。