すべてのプロダクト
Search
ドキュメントセンター

API Gateway:HTTPSドメイン名を介したAPIの呼び出し

最終更新日:Dec 31, 2024

API Gatewayは、APIリクエストを受信すると、リクエストの送信先のドメイン名に基づいて一意のAPIグループを検索し、リクエストのパスとHTTPメソッドに基づいてAPIグループ内の一意のAPIを検索します。 API GatewayコンソールでHTTPSドメイン名をAPIグループにバインドし、ドメイン名のSSL証明書をアップロードできます。 これにより、HTTPSドメイン名を使用してAPIグループ内のAPIを呼び出すことができます。

使用上の注意

APIグループにバインドする独立したドメイン名は、次の要件を満たす必要があります。

  • 独立したドメイン名を中国本土内のリージョンのAPIグループにバインドする場合は、Alibaba Cloud ICPファイリングシステムでドメイン名のICP番号を申請するか、ドメイン名のインターネットコンテンツプロバイダ (ICP) ファイリング情報にサービスプロバイダーとしてAlibaba Cloudを追加する必要があります。

  • 独立ドメイン名をAPIグループにバインドする前に、CNAMEレコードを追加して、独立ドメイン名をAPIグループの第2レベルドメイン名にマップする必要があります。

  • バインドする独立ドメイン名は、他のユーザーによってAPI GatewayでホストされているAPIグループにバインドされていません。 独立ドメイン名が他のユーザーによってバインドされている場合は、バインドしようとするときに確認する必要があります。 HTTPS経由でAPIグループのAPIを呼び出す必要がある場合は、独立したドメイン名のSSL証明書をインポートまたはアップロードする必要があります。

重要

デフォルトでは、API Gatewayは各APIグループにパブリックの第2レベルドメイン名を提供します。 クライアントがパブリック第2レベルドメイン名を使用してAPI呼び出しを開始する場合、クライアントが実行できる1日のAPI呼び出しの数は制限されます。 制限は、中国 (香港) リージョンおよび中国本土以外のリージョン100のAPI呼び出しであり、制限は、中国本土内のリージョン1,000のAPI呼び出しです。 APIを運用環境に公開する場合は、APIが属するAPIグループに独立したドメイン名をバインドする必要があります。 API呼び出しの数は、独立したドメイン名に制限されません。

手順

次の手順では、API GatewayコンソールでHTTPSドメイン名をAPIグループにバインドし、ドメイン名のSSL証明書をアップロードする方法を示します。

  1. ドメイン名の解決: CNAMEレコードまたはTXTレコードを追加して、パブリックまたは内部の独立したドメイン名を、APIグループによって提供されるパブリックまたは内部の第2レベルドメイン名にマップします。 詳細については、「ドメイン名解決」をご参照ください。

    • パブリックドメイン名解決: Alibaba Cloud DNS (DNS) を使用して、パブリックドメイン名を、API GatewayがAPIグループに提供するパブリック第2レベルドメイン名にマッピングできます。 詳細については、「パブリックドメイン名の解決」をご参照ください。

    • 内部ドメイン名解決: Alibaba Cloud DNSを使用して、内部ドメイン名をAPI GatewayがAPIグループに提供する内部第2レベルドメイン名にマッピングします。 詳細については、「内部ドメイン名解決」をご参照ください。

  2. ドメイン名のバインド: API Gatewayコンソールの [グループの詳細] ページで、独立したドメイン名をAPIグループにバインドします。 詳細については、「ドメイン名のバインド」をご参照ください。

  3. SSL証明書のアップロード: ドメイン名を使用してHTTPS経由でAPIを呼び出すことができるように、ドメイン名のSSL証明書を設定します。 詳細については、「SSL証明書のアップロード」をご参照ください。

ドメイン名解決

パブリックドメイン名解決

  1. API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [APIグループ] を選択し、リージョンを選択します。

  2. [APIグループ] ページで、管理するAPIグループをクリックして詳細ページに移動します。 [基本情報] セクションで、APIグループのAPI Gatewayによって提供されるパブリックの第2レベルドメイン名を見つけます。

  3. DNSコンソールにログインします。 左側のナビゲーションウィンドウで、[パブリックDNS] > [権限のあるDNS解決] を選択します。 [権限DNS解決] ページで、[権限ドメイン名] タブをクリックします。 目的のドメイン名をクリックして、[DNS設定] タブに移動します。

  4. [DNS設定] タブで、[DNSレコードの追加] をクリックします。 表示されるダイアログボックスで、[レコードタイプ] をCNAME、[ホスト名] をドメイン名のプレフィックス、[レコード値] をパブリックの第2レベルドメイン名に設定します。 次に、[OK] をクリックします。

    image

内部ドメイン名解決

  1. API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [APIグループ] を選択し、リージョンを選択します。

  2. [APIグループ] ページで、管理するAPIグループをクリックして詳細ページに移動します。 [基本情報] セクションで、APIグループ用にAPI Gatewayによって提供される内部仮想プライベートクラウド (VPC) ドメイン名を見つけます。

  3. DNSコンソールにログインします。 左側のナビゲーションウィンドウで、[プライベートDNS (PrivateZone)] をクリックします。 [プライベートDNS (PrivateZone)] ページの右上で、[設定モード] をクリックします。 [ユーザー定義ゾーン] タブで、[新しいゾーンの追加] をクリックします。

  4. [組み込み権限ゾーンの追加] パネルで、[組み込み権限ゾーン][Alibaba Cloud VPC] を指定し、[OK] をクリックします。

    添加zone

    説明

    [組み込み権限ゾーン] パラメーターには、APIグループにバインドされているカスタム (内部) ドメイン名を入力する必要があります。 ドメイン名は、VPCのプライベートDNS (PrivateZone) 専用です。

  5. 組み込みの権限ゾーンの名前をクリックして、[リソースレコードの設定] タブに移動します。 [レコードの追加] をクリックして、内部ドメイン名のCNAMEレコードを追加します。 [レコードの追加] パネルで、[レコードの種類] をCNAME、[ホスト名] をドメイン名のプレフィックス、[レコードの値] を内部VPCドメイン名に設定します。 次に、[OK] をクリックします。

    image

説明
  • プライベートゾーンに関連付けられているVPCにデプロイされているElastic Compute Service (ECS) インスタンスでは、プライベートゾーンレコードがパブリックDNSレコードを上書きします。

  • VPCでは、プライベートゾーンのパブリックDNSレコードは影響を受けません。 プライベートゾーンにDNSレコードを追加して、DNSレコードが空のプライベートゾーンがパブリックDNSレコードを上書きしないようにすることができます。 それ以外の場合、DNS解決エラーが発生します。 詳細については、「Alibaba Cloud DNS PrivateZoneの有効化」をご参照ください。

ドメイン名バインディング

  1. API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [APIグループ] を選択し、リージョンを選択します。

  2. [APIグループ] ページで、ドメイン名にバインドするAPIグループをクリックし、[グループの詳細] ページに移動します。 [独立ドメイン] セクションで、[ドメイン名のバインド] をクリックします。

  3. [ドメイン名のバインド] ダイアログボックスで、次のパラメーターを設定し、[確認] をクリックします。

    パラメーター

    説明

    ドメイン名

    APIグループにバインドするドメイン名を入力します。

    環境

    ドメイン名に関連付けられている環境。 有効な値:

    • テスト: テスト環境のAPIのみを呼び出すことができます。

    • Pre: ステージング環境のAPIのみを呼び出すことができます。

    • 本番環境: 本番環境でAPIのみを呼び出すことができます。

    • デフォルト (X-Ca-Stage): 上記の環境ですべてのAPIを呼び出すことができます。 APIを呼び出すときに、X-Ca-Stageパラメーターをリクエストのヘッダーに追加して、APIを呼び出す環境を指定します。

    ネットワークタイプ

    インターネット: インターネット経由でのみAPIを呼び出すことができます。 内部ネットワーク: 内部ネットワーク経由でのみAPIを呼び出すことができます。

説明
  • 内部ドメイン名の所有権を確認する必要はありません。 ドメイン名が、現在のAPIグループと同じインスタンスに属する別のAPIグループにバインドされているドメイン名と競合する場合、現在のドメイン名はAPIグループにバインドされません。

  • ドメイン名がAPIグループにバインドされた後は、ドメイン名のネットワークタイプを変更することはできません。 設定が正しくない場合は、ドメイン名を削除し、ドメイン名をAPIグループに再度バインドできます。

ドメイン名バインディングに関するFAQ

ドメイン名をAPIグループにバインドできない場合はどうすればよいですか。

  • バインドするドメイン名が、現在のインスタンスの別のAPIグループにバインドされているか、その範囲がバインドした別のドメイン名と競合しています。 範囲の競合とは、ワイルドカードドメイン名が単一のドメイン名を上書きすることを指します。 この場合、現在のドメイン名をバインドする前に、そのドメイン名のバインドを解除する必要があります。

  • バインドするドメイン名が別のユーザーによって作成されたAPIグループにバインドされているか、その範囲がバインドした別のドメイン名と競合しています。 範囲の競合とは、ワイルドカードドメイン名が単一のドメイン名を上書きすることを指します。 この場合、現在のドメイン名をバインドする前に、[ドメイン名の所有権の確認] セクションの指示に従ってドメイン名の所有権を確認する必要があります。

SSL証明書のアップロード

ドメイン名がAPIグループにバインドされた後、そのドメイン名を使用して、HTTP経由でAPIグループ内のすべてのAPIを呼び出すことができます。 HTTPS経由でAPIを呼び出す場合は、ドメイン名のSSL証明書をアップロードする必要があります。 API Gatewayは、SSL証明書をアップロードするための以下の方法を提供します。 API Gatewayは、Alibaba Cloud certificate Management ServiceからSSL証明書を自動的にインポートします。 2. API Gatewayでは、他の証明書サービスプロバイダーから取得したSSL証明書を手動でアップロードできます。

SSL証明書の生成

Alibaba Cloud certificate Management Serviceを使用して無料のSSL証明書を生成するには、次の手順を実行します。

  1. Alibaba Cloud SSL Certificates コンソール へログインします。

  2. 証明書購入ページで、証明書を購入し、ドメイン名にバインドします。 詳細については、「SSL証明書サービスの使用開始」をご参照ください。 SSL証明書を申請した後、API GatewayコンソールのAPIグループの [グループの詳細] ページに移動します。

SSL証明書のインポートまたはアップロード

SSL証明書を購入または準備した後、API GatewayコンソールでAPIグループにバインドしたドメイン名の証明書をインポートまたはアップロードします。 次のセクションでは、SSL証明書のインポートとアップロードの手順について説明します。

SSL証明書のインポート

Alibaba Cloud certificate Management Serviceを使用して証明書を購入する場合は、次の手順を実行して、API GatewayでホストされているAPIグループにバインドしたドメイン名の証明書をインポートします。

  1. API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [APIグループ] を選択し、リージョンを選択します。

  2. [APIグループ] ページで、目的のAPIグループをクリックして、[グループの詳細] ページに移動します。 [独立ドメイン] セクションでは、APIグループにバインドされているドメイン名を表示できます。 SSL証明書をインポートするドメイン名を見つけて、[SSL証明書] 列の [証明書の選択] をクリックします。

  3. [証明書の選択] ダイアログボックスで、[証明書の検索] をクリックします。 次に、検索結果から必要な証明書を選択し、[証明書の同期] をクリックします。

SSL証明書のアップロード

SSL証明書がAlibaba Cloudから購入されていない場合は、証明書をAPI Gatewayにアップロードできます。 SSL証明書をアップロードするには、次の手順を実行します。

  1. API Gatewayコンソールにログインします。 左側のナビゲーションウィンドウで、[APIの管理] > [APIグループ] を選択し、リージョンを選択します。

  2. [APIグループ] ページで、目的のAPIグループをクリックして、[グループの詳細] ページに移動します。 [独立ドメイン] セクションでは、APIグループにバインドされているドメイン名を表示できます。 SSL証明書をインポートするドメイン名を見つけて、[SSL証明書] 列の [証明書の選択] をクリックします。

  3. [証明書の選択] ダイアログボックスで、[証明書の追加] をクリックします。

  4. [証明書の作成] ダイアログボックスで、証明書の内容を入力してアップロードし、[確認] をクリックします。

  5. 証明書がアップロードされたら、グループの詳細ページに移動します。 [独立ドメイン] セクションのドメイン名の [証明書の選択] ハイパーリンクが [証明書の更新] に変更されていることがわかります。 証明書がアップロードされた後、ドメイン名を使用してHTTPS経由でAPIを呼び出すことができます。