API Gateway のプライベート REST API
プライベート API は、Amazon VPC 内からのみ呼び出せる REST API です。API にアクセスするには、インターフェイス VPC エンドポイントを使用します。これは、VPC で作成するエンドポイントネットワークインターフェイスです。インターフェイスエンドポイントは、プライベート IP アドレスを経由して AWS サービスにプライベートにアクセスできるテクノロジーである AWS PrivateLink により強化されています。
AWS Direct Connect を使用してオンプレミスネットワークから Amazon VPC への接続を確立し、この接続を介してプライベート API にアクセスすることも可能です。いずれの場合も、プライベート API へのトラフィックは安全な接続を使用し、パブリックインターネットからは隔離されます。トラフィックは、Amazon ネットワークを離れません。
プライベート API のベストプラクティス
プライベート API を作成するときは、以下のベストプラクティスを使用することをお勧めします。
-
単一の VPC エンドポイントを使用して複数のプライベート API にアクセスします。これにより、必要な VPC エンドポイントの数が減少します。
-
VPC エンドポイントを API に関連付けます。これにより、Route 53 エイリアス DNS レコードが作成され、プライベート API の呼び出しが簡単になります。
-
VPC のプライベート DNS をオンにします。VPC のプライベート DNS を有効にすると、
Host
またはx-apigw-api-id
ヘッダーを渡さずに、VPC 内で API を呼び出すことができます。プライベート DNS を有効にすると、パブリック API のデフォルトエンドポイントにアクセスできなくなります。パブリック API のデフォルトエンドポイントにアクセスするには、プライベート DNS をオフにして、VPC 内のプライベート API ごとにプライベートホストゾーンを作成し、Route 53 で必要なレコードをプロビジョニングできます。これにより、プライベート API を解決するとともに、VPC からパブリックデフォルトエンドポイントを呼び出すことができます。詳細については、「プライベートホストゾーンの作成」を参照してください。
-
プライベート API へのアクセスを特定の VPC または VPC エンドポイントに制限します。API のリソースポリシーに
aws:SourceVpc
条件やaws:SourceVpce
条件を追加して、アクセスを制限します。 -
データ境界を最も安全にするには、VPC エンドポイントポリシーを作成できます。これにより、プライベート API を呼び出せる VPC エンドポイントへのアクセスを制御します。
プライベート API に関する考慮事項
以下の考慮事項は、プライベート API の使用に影響する可能性があります。
-
REST API のみがサポートされています。
-
カスタムドメイン名は、プライベート API ではサポートされません。
プライベート API をエッジ最適化 API に変換することはできません。
-
プライベート API は、TLS 1.2 のみをサポートします。以前の TLS バージョンはサポートされていません。
-
プライベート API の VPC エンドポイントには、他のインターフェイス VPC エンドポイントと同じ制限が適用されます。詳細については、「AWS PrivateLink ガイド」の「Access an AWS service using an interface VPC endpoint」(インターフェイス VPC エンドポイントを使用してのサービスにアクセスする) を参照してください。API Gateway を共有 VPC および共有サブネットで使用する方法の詳細については、「AWS PrivateLink ガイド」の「共有サブネット」を参照してください。
プライベート API に関する次のステップ
プライベート API を作成し、VPC エンドポイントを関連付ける方法については、「プライベート API の作成」を参照してください。チュートリアルに従って、AWS Management Console の依存関係とプライベート API を AWS CloudFormation で作成するには、「チュートリアル: プライベート REST API を作成する」を参照してください。