このガイドでは、 Trusted CloudURL マップの構成方法について説明します。URL マップは、受信 HTTP(S) リクエストを特定のバックエンド サービスに転送するための一連のルールです。最小限の URL マップは、受信したすべてのリクエストパス(/*
)と一致します。
このガイドに記載された手順を行う前に、URL マップのコンセプトを十分に理解してください。
URL マップは、次の Trusted Cloud プロダクトで使用されます。
リージョン外部アプリケーション ロードバランサとリージョン内部アプリケーション ロードバランサで使用される URL マップは、いくつかの高度なトラフィック管理機能もサポートしています。詳細については、URL マップのコンセプト: 高度なトラフィック管理をご覧ください。
URL マップのデフォルト
次の表に示すように、URL マップには 2 つのデフォルトがあります。
デフォルトの種類 | 設定 | 意味 |
---|---|---|
URL マップのデフォルト | gcloud compute url-maps create
|
受信 URL に一致するパスマッチャーやホストルールがない場合、指定したデフォルトのバックエンド サービス が使用されます。 |
パスマッチャーのデフォルト | gcloud compute url-maps add-path-matcher
|
URL のパスがパスマッチャーと一致しても、指定された --path-rules が一致しない場合、指定したデフォルトのバックエンド サービス が使用されます。 |
ホストルール
ホストルールでは、リクエストと照合する一連のホストを定義します。
ホストルールでは、ホスト名は完全修飾ドメイン名(FQDN)にする必要があります。ホスト名には IPv4 または IPv6 アドレスを使用できません。例:
- 正常に機能する:
example.com
- 正常に機能する:
web.example.com
- 正常に機能する:
*.example.com
- 正常に機能しない:
35.244.221.250
URL マップを構成する
URL マップにより、トラフィックをバックエンド サービスに送信できます。
コンソール
Trusted Cloud コンソールを使用して URL マップを追加するには、次の操作を行います。
- [ロード バランシング] ページに移動します。
- ロードバランサの名前をクリックします。
- [ロードバランサの詳細] ページで、選択したロードバランサの [ 編集] をクリックします。
- [ホストとパスのルール] を選択します。
- [ホストとパスのルールを追加] をクリックします。
[ホスト] フィールド、[パス] フィールド、またはその両方を入力して、[バックエンド サービス]を選択します。
- 完全修飾のホスト名を入力します(例:
web.example.com
)。 - パスを入力します(例:
/video
)。 - [ホストとパスのルール] ページの [バックエンド] メニューで、使用可能なバックエンド サービスを選択します。
- 完全修飾のホスト名を入力します(例:
[ホストとパスのルール] の左側の青色のチェックマークを確認して、[更新] ボタンをクリックします。
gcloud
Google Cloud CLI を使用して URL マップを追加するには、url-maps create
コマンドを使用します。
gcloud compute url-maps create URL_MAP_NAME \ (--default-service=DEFAULT_SERVICE) \ [--description DESCRIPTION] \ [--region=REGION]
リージョン外部アプリケーション ロードバランサと内部アプリケーション ロードバランサの場合、URL マップの作成時に必ず --region
フラグを指定します。
パスマッチャーを作成するには、gcloud compute url-maps add-path-matcher
コマンドを使用します。
gcloud compute url-maps add-path-matcher URL_MAP_NAME \ (--default-service=DEFAULT_SERVICE) \ --path-matcher-name PATH_MATCHER \ [--path-rules="PATH=SERVICE"]
このコマンドには、一致しないリクエストを送信できるデフォルトのバックエンド サービス が必要です。--path-rules
フラグでは、リクエストパスとバックエンド サービスの間のマッピングを定義します。次の例では、リクエストパス /video/
および /video/*
が video-service
バックエンド サービスに転送されます。
--path-rules="/video=video-service,/video/*=video-service"
ホストルールを作成するには、gcloud compute url-maps add-host-rule
コマンドを使用します。
gcloud compute url-maps add-host-rule URL_MAP_NAME \ --hosts=[HOSTS] --path-matcher-name=PATH_MATCHER
たとえば、次の --hosts
値は、リクエストを www.example.com
および altostrat.com
のすべてのサブドメインと照合します。
--hosts=[*.altostrat.com,www.example.com]
URL マップのデフォルトのサービス を変更するには、url-maps set-default-service
コマンドを使用します。
gcloud compute url-maps set-default-service URL_MAP_NAME (--default-service=DEFAULT_SERVICE)[GCLOUD_WIDE_FLAG ...]
Terraform
リージョン URL マップを作成するには、google_compute_region_url_map リソースを使用します。
URL マップの一覧表示
コンソール
Trusted Cloud コンソールですべての URL マップを一覧表示することはできません。
gcloud
Google Cloud CLI を使用して URL マップのリストを表示するには、url-maps list
コマンドを使用します。
gcloud compute url-maps list
URL マップに関する情報の取得
コンソール
URL マップに関する情報を取得するには、次の手順を実行します。
- [ロード バランシング] ページに移動します。
- ロードバランサの名前をクリックします。
- [ロードバランサの詳細] ページで、選択したロードバランサの [ 編集] をクリックします。
- ホストとパスのルールを表示します。
gcloud
Google Cloud CLI を使用して単一の URL マップに関する情報を取得するには、url-maps describe
コマンドを使用します。
gcloud compute url-maps describe URL_MAP_NAME
URL マップの削除
URL マップを削除する前に、参照先のすべてのターゲット プロキシを削除する必要があります。詳細については、ターゲット プロキシの削除をご覧ください。
コンソール
URL マップを削除するには、次の手順を実行します。
- [ロード バランシング] ページに移動します。
- ロードバランサの名前をクリックします。
- [ロードバランサの詳細] ページで、選択したロードバランサの [ 編集] をクリックします。
- [ロードバランサの詳細] ページで、[ホストとパスのルール] を表示します。
- URL マップの右側にある「X」をクリックして削除します。URL マップが表示から消えます。
- [ホストとパスのルール] の左側の青色のチェックマークを確認して、[更新] ボタンをクリックします。
gcloud
Google Cloud CLI を使用して URL マップを削除するには、url-maps delete
コマンドを使用します。URL マップを削除する際は、事前にその URL マップを参照するターゲット HTTP プロキシを削除しておく必要があります。
gcloud compute url-maps delete URL_MAP_NAME [--quiet]
パスマッチャーの削除
コンソール
パスマッチャーを削除するには、次の手順を実行します。
- [ロード バランシング] ページに移動します。
- ロードバランサの名前をクリックします。
- [ロードバランサの詳細] ページで、選択したロードバランサの [ 編集] をクリックします。
- [ホストとパスのルール] を選択します。
- 既存の URL マップの [パス] フィールドで、パスマッチャーの名前の「x」をクリックします。
- [ホストとパスのルール] の左側の青色のチェックマークを確認して、[更新] ボタンをクリックします。
gcloud
パスマッチャーを削除するには、gcloud compute url-maps remove-path-matcher
コマンドを使用します。
gcloud compute url-maps remove-path-matcher URL_MAP_NAME \ [--path-matcher-name PATH_MATCHER]
ホストルールの削除
コンソール
ホストルールを削除するには、次の操作を行います。
- [ホストとパスのルール] ページが表示されていない場合は、[ロード バランシング] ページに移動します。
- ロードバランサの名前をクリックします。
- [ロードバランサの詳細] ページで、選択したロードバランサの [ 編集] をクリックします。
- [ホストとパスのルール] を選択します。
- 既存の URL マップの [ホスト] フィールドで、ホストの名前の「x」をクリックします。
- [ホストとパスのルール] の左側の青色のチェックマークを確認して、[更新] ボタンをクリックします。
gcloud
URL マップからホストルールを削除するには、gcloud compute url-maps remove-host-rule
コマンドを使用します。
gcloud compute url-maps remove-host-rule URL_MAP_NAME --host=HOST
たとえば、ホスト altostrat.com
を含むホストルールを my-map
という名前の URL マップから削除するには、次のコマンドを実行します。
gcloud compute url-maps remove-host-rule my-map --host altostrat.com
トラフィック管理ガイド
すべてのプロダクトで、すべての URL マップ機能が利用できるわけではありません。URL マップは、いくつかの高度なトラフィック管理機能をサポートするためにロードバランサで使用されます。
次の表に、管理作業に使用する URL マップ機能を示します。
プロダクト | URL マップの機能とトラフィック管理ガイド | リージョン外部アプリケーション ロードバランサ | ロードバランサの機能: ルーティングとトラフィック管理 |
---|---|
内部アプリケーション ロードバランサ | ロードバランサの機能: ルーティングとトラフィック管理 |
API と gcloud CLI のリファレンス
Trusted Cloud コンソールに加えて、API と gcloud CLI を使用して URL マップを作成できます。
API
REST API で URL マップを操作するときに使用できるプロパティとメソッドについては、以下をご覧ください。
プロダクト | API ドキュメント |
---|---|
外部アプリケーション ロードバランサ | urlMaps |
内部アプリケーション ロードバランサ | regionUrlMaps |
gcloud CLI
Google Cloud CLI については、以下をご覧ください。
- リージョン:
--region=[REGION]
高度なトラフィック管理を行うには、YAML ファイルを使用し、gcloud compute url-maps import
コマンドを使用してインポートします。
次のステップ
- URL マップの仕組みを確認する。URL マップの概要をご覧ください。
- 外部アプリケーション ロードバランサでの URL マップの動作を確認する。外部アプリケーション ロードバランサの概要をご覧ください。
- 内部アプリケーション ロードバランサ内の URL マップの動作を確認する。内部アプリケーション ロードバランサの概要をご覧ください。