ドメイン名を使用してトラフィックを Amazon API Gateway の API にルーティングする - Amazon Route 53

ドメイン名を使用してトラフィックを Amazon API Gateway の API にルーティングする

API を作成、発行、管理、モニタリング、保護するために、Amazon API Gateway を使用できます。API を作成すると、AWS クラウドに保存されているデータだけでなく、AWS サービスまたは他のウェブサービスにもアクセスできるようになります。

ドメイントラフィックを API Gateway API にルーティングするために使用する方法は、リージョン API Gateway エンドポイントを作成したか、エッジ最適化 API Gateway エンドポイントを作成したかにかかわらず同じです。

  • リージョン API エンドポイント: リージョン API エンドポイントにトラフィックをルーティングする Route 53 エイリアスレコードを作成します。

  • エッジ最適化 API エンドポイント: エッジ最適化 API にトラフィックをルーティングする Route 53 エイリアスレコードを作成します。これにより、エッジ最適化 API に関連付けられた CloudFront ディストリビューションにトラフィックがルーティングされます。

エイリアスレコードは、CNAME レコードに似た DNS の Route 53 拡張機能です。エイリアスレコードと CNAME レコードの比較については、「エイリアスレコードと非エイリアスレコードの選択」を参照してください。

注記

Route 53 では、API Gateway API または他の AWS リソースへのエイリアスクエリに料金はかかりません。

前提条件

使用開始には、以下が必要です。

  • 作成する Route 53 レコードの名前と一致するカスタムドメイン名 (api.example.com など) を含む API Gateway API。

    詳細については、以下の各トピックを参照してください。

  • 登録済みドメイン名 ドメインレジストラとして、Amazon Route 53 を使用することも、あるいは別のレジストラを使用することもできます。

  • ドメインの DNS サービスとしての Route 53。Route 53 を使用してドメイン名を登録した場合、Route 53 をドメインの DNS サービスとして自動的に設定します。

    Route 53 をドメインの DNS サービスプロバイダとして使用する方法の詳細については、「Amazon Route 53 を既存ドメインの DNS サービスとして使用する」を参照してください。

トラフィックを API Gateway エンドポイントにルーティングするための Route 53 の設定

トラフィックを API Gateway エンドポイントにルーティングするように Route 53 を設定するには、以下の手順を実行します。

API Gateway エンドポイントにトラフィックをルーティングするには
  1. 同じアカウントを使用して Route 53 ホストゾーンとエンドポイントを作成した場合は、ステップ 2 に進みます。

    異なるアカウントを使用してホストゾーンとエンドポイントを作成した場合は、使用するカスタムドメイン名のターゲットドメイン名を取得します。

    1. AWS Management Console にサインインし、API Gateway コンソール (https://console.aws.amazon.com/apigateway/) を開きます。

    2. ナビゲーションペインで、[Custom domain names] を選択します。

    3. 使用するカスタムドメイン名について、[API Gateway ドメイン名] の値を取得します。

  2. Route 53 コンソール (https://console.aws.amazon.com/route53/) を開きます。

  3. ナビゲーションペインで [Hosted zones] を選択します。

  4. API へのトラフィックのルーティングに使用するドメイン名があるホストゾーンの名前を選択します。

  5. [Create record (レコードを作成)] を選択します。

  6. 次の値を指定します。

    重要

    エイリアスを有効にすることをお勧めします。Route 53 エイリアスレコードを使用しないドメイン名では、プライベート DNS が有効になっている VPC を使用してプライベート API を呼び出した場合、問題が発生する可能性があります。プライベート DNS は、VPC 内のデフォルトの DNS 解決動作をオーバーライドします。それによって、外部 DNS レコードとの競合が発生する可能性があります。

    ルーティングポリシー

    該当するルーティングポリシーを選択します。詳細については、「ルーティングポリシーの選択」を参照してください

    レコード名

    API へのトラフィックのルーティングに使用するドメイン名を入力します。

    トラフィックのルーティング先の API では、Route 53 レコードの名前と一致するカスタムドメイン名 (api.example.com など) を指定する必要があります。

    エイリアス

    クイック作成レコード作成方法を使用している場合、[エイリアス] をオンにします。

    値/トラフィックのルーティング先

    [API Gateway API へのエイリアス]を選択し、さらにエンドポイントの元のリージョンを選択します。

    [Endpoint (エンドポイント)] の値の指定方法は、ホストゾーンと API の作成に、同じ AWS アカウントを使用したか、異なるアカウントを使用したかによって違います。

    • 同じアカウント – ターゲットドメイン名のリストには、[レコード名] に指定した値と一致するカスタムドメイン名を含む API のみが示されます。該当する値を選択します。

    • 異なるアカウント – この手順のステップ 1 で取得した値を入力します。

    レコードタイプ

    [A – IPv4 address (A – IPv4 address)] を選択します。

    ターゲットの正常性の評価

    DNS フェイルオーバーを制御するには、カスタムヘルスチェックを設定します。例については、「API Gateway ユーザーガイド」の「Configure custom health checks for DNS failover」(DNS フェイルオーバーのカスタムヘルスチェックの設定) を参照してください。

  7. [レコードを作成] を選択します。

    通常、変更は 60 秒以内にすべての Route 53 サーバーに伝播されます。伝達が完了すると、この手順で作成したエイリアスレコードの名前を使用して、トラフィックを API にルーティングできるようになります。