次の手順は、別の AWS アカウント のプライベートドメイン名を使用する方法を示しています。API プロバイダーとの信頼関係によっては、AWS RAM がいくつかのタスクを代行する場合があります。
プライベートカスタムドメイン名とは異なる AWS アカウント に属している場合は、VPC エンドポイントをプライベートカスタムドメイン名に関連付けて呼び出すことのみが可能です。プライベートカスタムドメイン名に関する policy
やその他のパラメータを表示することはできません。
前提条件
別の AWS アカウント のプライベートカスタムドメイン名を使用するには、次のような前提条件があります。
-
execute-api
サービス用の VPC および VPC エンドポイント。VPC では、enableDnsHostnames
とenableDnsSupport
がtrue
に設定されている必要があります。 -
VPC エンドポイントごとに少なくとも 2 つのアベイラビリティーゾーンを設定することをお勧めします。
(オプション) プライベートカスタムドメインリソース共有を承認する
API プロバイダーが AWS RAM を使用してリソース共有を作成した場合、お客様は 12 時間以内に承認する必要があります。お客様が API プロバイダーと同じ組織に属しており、AWS Organizations を使用している場合、共有は自動的に承認されます。お客様が属している組織で自動共有リソースが有効になっている場合、リソースは自動的に共有されます。
AWS Management Console を使用するには、AWS RAM ユーザーガイドの「リソース共有の招待の承諾と拒否」を参照してください。
共有プライベートカスタムドメイン名に VPC エンドポイントを関連付ける
プライベートカスタムドメイン名は一意ではないため、VPC エンドポイントを一意のカスタムドメイン名 ARN に関連付けます。ドメイン名アクセスの関連付けを作成した後、VPC エンドポイントがプライベートカスタムドメイン名を正常に呼び出せるようになるまで最大 15 分かかる場合があります。パブリックカスタムドメイン名へのアクセスに使用している VPC エンドポイントがある場合、そのエンドポイントを使用してドメイン名アクセスの関連付けを作成しないでください。
VPC エンドポイントを共有プライベートカスタムドメイン名に関連付けるには
API Gateway コンソール (https://console.aws.amazon.com/apigateway
) にサインインします。 -
メインナビゲーションペインで、[ドメイン名アクセスの関連付け] を選択します。
[ドメイン名アクセスの関連付けの作成] を選択します。
-
[ドメイン名 ARN] で、API プロバイダーから共有されているドメイン名 ARN を選択します。
ドメイン名 ARN がドロップダウンリストに表示されない場合があります。AWS RAM コンソールを使用して、共有されているドメイン名を表示し、ドメイン名 ARN をコピーして、このフィールドに入力できます。
-
[VPC エンドポイント ID] で、ドメイン名アクセスの関連付けを作成する対象の VPC エンドポイント ID を選択します。
[ドメイン名アクセスの関連付けの作成] を選択します。
VPC エンドポイントとプライベートカスタムドメイン名を関連付けた後、VPC エンドポイントにドメイン名の呼び出しを許可するように、API プロバイダーがプライベートカスタムドメイン名に関するポリシーを更新したことを確認します。詳細については、「他のアカウントにプライベートカスタムドメイン名の呼び出しを許可する」を参照してください。
Route 53 ホストゾーンを作成する
プライベートカスタムドメイン名を解決するには、Route 53 プライベートホストゾーンを作成する必要があります。ホストゾーンは、インターネットにリソースを公開することなく、1 つ以上の VPC 内のドメインのトラフィックをルーティングする方法に関する情報を保持するコンテナです。詳細については、「プライベートホストゾーンの使用」を参照してください。
AWS Management Console を使用するには、Amazon Route 53 開発者ガイドの「プライベートホストゾーンの作成」を参照してください。
[名前] には、プライベートカスタムドメイン名の名前を使用します。[VPC ID] には、ドメイン名アクセスの関連付けに使用した VPC エンドポイントを含む VPC を使用します。
Route 53 A レコードを作成する
ホストゾーンを作成した後、プライベートカスタムドメイン名を解決するためのレコードを作成します。この例では、A レコードタイプを作成します。VPC エンドポイントに IPv6 を使用している場合は、AAAA レコードタイプを作成します。VPC エンドポイントにデュアルスタックを使用している場合は、AAAA レコードタイプと A レコードタイプの両方を作成します。
AWS Management Console を使用するには、「ドメイン名を使用してトラフィックを Amazon API Gateway API にルーティングする」を参照してください。
[クイック作成] を使用し、[エイリアス] をオンにします。エンドポイントには、VPC エンドポイント DNS 名を使用します。
API コンシューマーの次のステップ
これで、お客様独自の AWS アカウント でプライベート API を呼び出せるようになりました。VPC で、次の curl コマンドを使用してプライベートカスタムドメイン名にアクセスできます。
curl https://private.example.com/v1
プライベート API を呼び出す他の方法の詳細については、「カスタムドメイン名を使用してプライベート API を呼び出す」を参照してください。