REST API のデフォルトのエンドポイントを無効にする
デフォルトでは、クライアントは、API Gateway が API 用に生成する execute-api
エンドポイントを使用して API を呼び出すことができます。クライアントがカスタムドメイン名を使用した場合のみ API にアクセスできるようにするには、デフォルトの execute-api
エンドポイントを無効にします。クライアントは引き続きデフォルトのエンドポイントに接続できますが、403 Forbidden
ステータスコードを受け取ります。デフォルトのエンドポイントを無効にすると、API のすべてのステージに影響します。この設定は、ステージでのデプロイの更新など、ステージの設定を更新するときに有効になります。
次の手順では、REST API のデフォルトのエンドポイントを無効にする方法を示します。
- AWS Management Console
-
https://console.aws.amazon.com/apigateway で API Gateway コンソールにサインインします。
REST API を選択します。
メインナビゲーションペインで、[API の設定] を選択します。
APIを選択します。
[API の詳細] で、[編集] を選択します。
[デフォルトのエンドポイント] で、[非アクティブ] を選択します。
[Save changes] (変更の保存) をクリックします。
メインナビゲーションペインで、[リソース] を選択します。
[API のデプロイ] を選択します。
API をステージに再デプロイするか、ステージの設定を更新して更新を有効にします。
- AWS CLI
-
次の update-rest-api コマンドは、デフォルトのエンドポイントを無効にします。
aws apigateway update-rest-api \
--rest-api-id abcdef123
\
--patch-operations op=replace,path=/disableExecuteApiEndpoint,value='True'
デフォルトのエンドポイントを無効にした後で、変更を有効にするには、API をデプロイする必要があります。
次の create-deployment コマンドは、新しいデプロイを作成し、それを以下のステージに関連付けます。
aws apigateway create-deployment \
--rest-api-id abcdef123
\
--stage-name dev