Load Balancer

Project の公開入口となる論理 Load Balancer と、その下で Host と配信を扱う Edge Service の手順です。

論理 Load Balancer と Edge Service

論理 Load Balancer を作る

Project で load-balancer が有効で、loadBalancer.loadBalancers の上限が設定されている必要があります。作成には roles/loadBalancer.creator が要ります。Console では Project の「資源」から「Load Balancer を作成」を開きます。

acloud lb create public-entry --display-name "Public entry"
acloud lb describe public-entry

同じコマンドをもう一度実行すると、同じ Load Balancer が返ります。

名前を変える・削除する

roles/loadBalancer.operator が必要です。削除できるのは、Edge Service も実行中の Operation も無い Load Balancer だけです。削除した ID は再利用できません。

acloud lb update public-entry --display-name "Public entry (main)"
acloud lb delete public-entry

WordPress を公開する

WordPress の Host は、Application の公開の操作で追加・撤去します。acloud lb services hosts などの汎用コマンドでは、Application が使う Host や backend は変更できません。手順は WordPress の公開 にあります。

Edge Service の状態を見る

acloud lb services list --load-balancer public-entry
acloud lb services configuration blog-edge --load-balancer public-entry
acloud lb services routing blog-edge --load-balancer public-entry

configuration と routing は現在の配信設定を読みます。Host の状態が PUBLISHED のものだけが配信中です。

指標とリクエストログ

運用者が backend との対応を承認した Edge Service では、リクエスト数と転送量、Host と path のリクエストログを読めます。ログには query string、client のアドレス、header を含みません。

acloud lb services metrics blog-edge --load-balancer public-entry --period 24h
acloud lb services logs blog-edge --load-balancer public-entry --period 1h

Console では Edge Service の「指標」と「リクエストログ」に表示します。読取には Edge Service の閲覧権限(roles/loadBalancer.viewer など)が必要です。

WordPress 以外の Edge Service

Edge Service を直接作成できるのは、運用者が承認した backend がある場合だけです。使える backend は次のコマンドで確認します。作成には roles/edge.creator が必要で、作った直後の Edge Service は Host を持たず、何も配信しません。

acloud lb services candidates api-edge --load-balancer public-entry
acloud lb services create api-edge --load-balancer public-entry --display-name "API" --backend BACKEND_ID

Host の所有確認と追加、path rule の変更は acloud lb services hosts と acloud lb services path-rules で行います。各コマンドの引数は acloud cli describe "lb services hosts add" で確認できます。