Send Docs Feedback

Note: Most user interface tasks can be performed in Edge Classic or the New Edge experience. For an overview, getting started topics, and release notes specific to the New Edge experience, see the docs.

仮想ホスト

仮想ホストは、API プロキシのベース URL です。これらには、 API プロキシのホスト名とともに、プロトコル (http または https) が含まれます。これは、DNS を通じてルーターアドレスとポートにマップされます。

Edge では、仮想ホストは名前によって識別されます。デフォルトでは、初めて Edge 組織を作成したとき、環境ごとに以下の 2 つの仮想ホストが得られます。

  • default - http://[org]-[environment].apigee.net (ポート 80)
  • secure - https://[org]-[environment].apigee.net (ポート 443)

仮想ホストは、新しい API プロキシを作成するときに「Build a Proxy」ウィザードを使用したり、管理 UI で「APIs」 > 「Environment Configuration」 > 「Virtual Hosts」の順に移動したり、「List Virtual Hosts」や「Get Virtual Host」管理 API を使用したりすることで確認できます。

API プロキシの XML 構成では、仮想ホストは名前によって指定されます。例えば、<VirtualHost>secure</VirtualHost> は、クライアントが「セキュア」な仮想ホストのベース URL (例: https://myorg-test.apigee.net) を使用して API プロキシを呼び出すことができることを意味します。

仮想ホストの主な用途の 1 つは、Edge でホストされている API のドメイン名をカスタマイズできるようにすることです。例えば、Edge のクラウドベースのバージョンで、prod 環境で「myorg」という名前の組織 (organization) のデフォルトのドメイン名が「myorg-prod.apigee.net」であるとします。そのため、組織内の API にアクセスするため、デベロッパは次の形式の URL を使用します。

https://myorg-prod.apigee.net/v1/{proxy-base-path}/{resource-path}

ただし、「apigee.net」を含むドメイン名を顧客に公開したくない場合があります。仮想ホストでは、Edge 上の自分の組織に独自のドメイン名をマップできるため、デベロッパは自社固有のドメインを介して API にアクセスできます。次に例を示します。

https://api.myCompany.com/v1/{proxy-base-path}/{resource-path}

なお、仮想ホストを作成すればそのドメイン名にもアクセスできるようになるわけではありません。ドメインの DNS レコードは別途作成する必要があります。

参考資料 :

クラウドベースの Edge インストール上の仮想ホストについて

Edge で API プロキシを作成した後、リクエストでその API を使用できるようにすることができます。ただし、まず第 1 に特定する必要があるのは、API プロキシを介してアクセスするリソースの完全な URL です。その URL の形式は次のとおりです。

http://{org-name}-{env-name}.apigee.net/{proxy-base-path}/{resource-path}

https://{org-name}-{env-name}.apigee.net/{proxy-base-path}/{resource-path}

プレースホルダ:

  • {org-name} は組織名です。
  • {env-name} は Edge 環境の名前です。デフォルトでは、クラウドで作成されたすべての Apigee 組織には 2 つ​​の環境 (environment)「test」と「prod」がプロビジョニングされています。API プロキシの展開時に、一方または両方の環境に API プロキシを展開できます。
  • {proxy-base-path} は、API プロキシを作成するときに定義されます。
  • {resource-path} は、API プロキシを使用してアクセスできるリソースへのパスです。

URL のドメイン名と HTTP または HTTPS アクセスプロトコルは、Edge 上の仮想ホストによって定義されます。Apigee では、デフォルトで、組織内のすべての環境で次の 2 つの仮想ホストが作成されます。

  • default: ポート 80 での API への HTTP アクセスを定義します。
  • secure: ポート 443 での API への HTTPS アクセスを定義します。

Apigee provides an TLS/SSL certificate and private key to support HTTPS on the secure virtual host so that you can quickly get started developing and testing your APIs. While many customers prefer to use their own certificate and private key at deployment time, you can deploy your APIs using the Apigee cert and key.

Apigee では各仮想ホストの DNS レコードも作成されます。そのため、API にアクセスするには、次の 4 つのいずれかまたはすべての URL を使用することができます。

http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}

https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}

http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}

https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}

Typically, you work with Apigee to create virtual hosts that use your own domain name, rather than use the default apigee.net domain. You then create your own DNS records to access those virtual hosts, but you can continue to use the ones from Apigee as well.

Edge for Private Cloud での仮想ホストの作成 (オンプレミス)

Apigee Edge for Private Cloud をインストールした場合、ユーザーのために作成されるデフォルトの組織、環境、または仮想ホストはありません。Edge のインストールプロセスが完了したら、最初に実行することは、通常、「オンボード」プロセスで、組織、環境、および仮想ホストを作成することです。

オンボードを実行するには、Edge Management Server ノード上で次のコマンドを実行します。

/<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

ここで、<inst_root> は Edge インストールのルートディレクトリであり、configFile には、ユーザー、組織、環境、仮想ホストを作成するのに必要な情報が含まれているものとします。

例えば、以下を作成します。

  • 組織の管理者としての役割を果たすために選択したユーザー
  • example という名前の組織
  • prod という名前の組織内の環境
  • ポート 9001 での HTTP アクセスを可能にする default という名前の環境の仮想ホスト
  • ルーターにアクセスするために使用される DNS 名のホストエイリアス、または形式が「IP:9001」であるルーターの IP アドレスと仮想ホストのポート。

Edge for Private Cloud バージョン 4.16.01 からは、仮想ホストの作成時にホストエイリアスを指定する必要があります。4.16.01 以前のリリースでは、ホストエイリアスは省略可能でした。

 

Also, the combination of host alias name and port number for the virtual host must be unique for all virtual hosts in the Edge installation.

When creating a virtual host, you specify the Router port used by the virtual host. For example, port 9001. As of Edge for Private Cloud version 4.16.01, by default, the Router runs as the user "apigee" which does not have access to privileged ports, typically ports 1024 and below. If you want to create a virtual host that binds the Router to a protected port then you have to configure the Router to run as a user with access to those ports.  See Setting up a virtual host for more.  

オンボードスクリプトの実行後は、組織、環境、および仮想ホストを後から何個でも Edge のオンプレミスバージョンに追加できます。詳細については、『Apigee Edge for Private Cloud 操作ガイド』を参照してください。

仮想ホストは、Edge ルーターノード上で開かれています。そのため、仮想ホスト用に指定したポートがルーターノードで開いていることを保証する必要があります。次の形式のコマンドを使用して、ポートを開くことができます。

$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose 

このスクリプトの実行後、次の形式の URL を使用して API にアクセスできます。

http://<router-ip>:9001/{proxy-base-path}/{resource-path}

なお、この URL ではルーターの IP アドレスとルーターの仮想ホストのポートを使用して API にアクセスします。通常は、IP アドレスとポート番号を使用して顧客に API を公開することはありません。IP アドレスとポート番号を使用して公開するのではなく、ルーターとポートの DNS エントリを定義します。次に例を示します。

http://myAPI.myCo.com/{proxy-base-path}/{resource-path}

DNS エントリを定義すると、DNS エントリのドメイン名に一致する仮想ホストのホストエイリアスも作成する必要があります。この例では、仮想ホストを作成するときに、myAPI.myCo.com のホストエイリアスを指定しています。

Note also that the URL uses the HTTP protocol. To use the encrypted HTTPS protocol, you must create a virtual host that references a keystore. A keystore contains the certificate and private key required to support HTTPS. For more, see Configuring TLS access to an API for the Private Cloud.

仮想ホストに関する情報の表示

Edge 管理 UI を使用すると、環境で定義された仮想ホストを確認できます。

  1. https://enterprise.apigee.com (クラウド) または http://<ms-ip>:9000 (オンプレミス) で Edge 管理 UI にログインします。ここで、<ms-ip> は管理サーバーノードの IP アドレスです
  2. Edge 管理 UI メニューで「APIs」 > 「Environment Configuration」を選択します。
  3. prod または test などの環境を選択します。その環境用に定義されている仮想ホストが表示されます。
  4. Virtual Hosts」タブに移動します。

    仮想ホストがキーストアまたはトラストストアを使用するように構成されている場合、詳細情報を表示するには、「Show」ボタンを選択します。

仮想ホストに関する情報を表示するには、Edge API を使用することもできます。例えば、List Virtual Hosts API では、すべての仮想ホストの一覧が返されます。

$ curl -X GET -H "accept:application/xml" \
https://api.enterprise.apigee.com/v1/o/{org}/environments/{env}/virtualhosts \
-u email:password

レスポンスの例:

[
 "default",
 "secure"
]

特定の仮想ホストの情報を参照するには、Get Virtual Host API を使用します。

$ curl -X GET -H "accept:application/xml" \
https://api.enterprise.apigee.com/v1/o/{org_name}/environments/{env_name}/virtualhosts/default \
-u email:password

レスポンスの例:

{
 "hostAliases" : [apigeedocs-prod.apigee.net ],
 "interfaces" : [ ],
 "name" : "default",
 "port" : "9001"
}

Edge for Private Cloud では、api.enterprise.apigee.com ドメイン名を <ms-ip>:8080 に置き換えます。ここで、<ms-ip> は、Edge 管理サーバーの IP です。

If the virtual host is configured to use TLS/SSL, a lock icon appears next to the name of the virtual host. That means an TLS/SSL certificate, key, and certificate chain has been uploaded to Edge and associated with the virtual host.

使用可能な証明書に関する情報を表示するには、次の手順に従います。

  1. Edge 管理 UI にログインします。
  2. Edge 管理 UI のメニューで、「Admin」 > 「SSL Certificates」を選択します。
  3. 証明書が表示されるまでキーストアを展開します。

Get Cert Details from a Keystore or Truststore」を使用して証明書を表示するには、次の手順に従います。

$ curl -H 'accept: application/xml' \
https://api.enterprise.apigee.com/v1/o/{org_name}/environments/{env_name}/keystores/freetrial/certs/23-apigee-wildcard.apigee.net.crt \
-u email:password

仮想ホストの作成

You can create a virtual host that uses the HTTP protocol or one that uses TLS/SSL and the encrypted HTTPS protocol. The way you create virtual hosts depends on your Edge installation: cloud or Edge for Private Cloud (on-premises).

クラウドベースの Edge インストールでの仮想ホストの作成

Apigee Edge の有料プランに登録している場合は、Apigee により仮想ホストが作成されます。技術上およびセキュリティ上の理由から、Edge クラウドアカウントでの仮想ホストの作成と操作はセルフサービスではありません。仮想ホストに関してサポートが必要な場合は、http://community.apigee.com/content/apigee-customer-support の Apigee カスタマサポートまでお問い合わせください。

If you want to create a virtual host that supports TLS/SSL, then you must obtains the necessary TLS/SSL certificate and private key. Apigee then uses the cert and key to configure the virtual host.  

See Using TLS in a cloud-based Edge installation for more on creating virtual hosts for a cloud installation.

Edge for Private Cloud での仮想ホストの作成

In an on-premises installation, you have complete control over virtual hosts. You can create virtual hosts for any org, in any environments, using TLS/SSL or not.

See Configuring TLS access to an API for the Private Cloud for more on creating virtual hosts for an on-premises installation.

仮想ホストの作成後の API プロキシの更新

API プロキシでは、API プロキシが ProxyEndpoint 定義でサポートしている仮想ホストを参照します。新しい API プロキシを作成すると、使用可能なすべての仮想ホストを使用するため、Edge によりその API プロキシの ProxyEndpoint が自動的に設定します。

クラウドインストール用に新しい仮想ホストが作成されたこと、または、オンプレミスインストールで新しい仮想ホストが直接作成されたことを Apigee から通知された後は、ユーザーが作成した新しい API プロキシでは、その仮想ホストを自動的に参照します。

特定の仮想ホストを介してアクセスできないようにする新しい API プロキシを作成する場合は、API プロキシを編集して、ProxyEndpoint からその仮想ホストを削除する必要があります。

仮想ホストを要求する前に API プロキシを作成した場合は、API プロキシを編集して、ProxyEndpoint に新しい仮想ホストを追加する必要があります。追加しない場合、仮想ホストから API プロキシにアクセスできません。

XML で API プロキシを開発している場合は、仮想ホストを追加または削除するため ProxyEndpoint の XML ファイルを編集します。

Edge 管理 UI を使用して ProxyEndpoint を編集するには、次の手順に従います。

  1. Edge 管理 UI (https://enterprise.apigee.com) にログインします。
  2. Edge 管理 UI のメニューで、「APIs」を選択します。
  3. 更新する API プロキシの名前を選択します。
  4. Development」タブを選択します。
  5. Proxy Endpoints」で、「default」を選択します。
  6. コー​​ド領域で、次の手順に従います。
    1. API プロキシでサポートされていない仮想ホストの <VirtualHost> 要素を削除します。
    2. 新しい <VirtualHost> 要素を新しい仮想ホストの名前で追加します。例えば、新しい仮想ホストが MyVirtualHost という名前である場合、次のタグを追加します。

      <HTTPProxyConnection>
         <BasePath>/oauth10a/client_credential</BasePath>
         <VirtualHost>default</VirtualHost>
         <VirtualHost>secure</VirtualHost>
         <VirtualHost>MyVirtualHost</VirtualHost>
      </HTTPProxyConnection>
  7. API プロキシを保存します。API プロキシが展開済みである場合は、その API プロキシを保存すると、新しい設定で再展開されます。
 

Help or comments?