5.4. 外部ロードバランサーの使用
ユーザーがインターネットに接続された任意のマシンからプラットフォームにアクセスできるようにする場合は、Ansible Automation Controller と Ansible Private Automation Hub をパブリックインターネットに公開することができます。
セキュリティー上の理由から、これはベストプラクティスとして推奨されません。
ただし、この実装はさまざまな GCP ツールで保護できます。このセクションでは、パブリックインターネットにリンクされているロードバランサーを接続する方法について説明しますが、Google のセキュリティー製品を使用してアクセスを強化する手順は含まれていません。Google Cloud Armor または同様の製品でパブリックエンドポイントを保護する場合にのみ、このアプローチを使用してください。
GCP Marketplace で入手可能な Ansible Automation Platform は、2 つの 内部 アプリケーションロードバランサーと共にデプロイされます。これらのロードバランサーは、ローカル VPC 内でトラフィックを誘導し、パブリックロードバランサーを設定した場合でも、デプロイメントの中に含めた状態を保つようにする必要があります。
手順
- 左上からメインメニューを選択します。
- Network Services を選択します。Network Services が表示されない場合は、View All Products を選択します。
- Load Balancing を選択します。
- 上部のメニューで、CREATE LOAD BALANCER を選択します。
- Application Load Balancer (HTTP/S) タイルを選択し、START CONFIGURATION をクリックします。
- From Internet to my VMs or serverless services と Global external Application Load Balancer を選択します。
- CONTINUE をクリックします。
-
ロードバランサーに名前を付けます (例:
<DeploymentName>-aap-<cntrlr/hub>-ext-lb)。 - 画面の左側で Frontend 設定が選択されていることを確認します。
Frontend 設定ページで、次のフィールドに入力します。
- Protocol: HTTPS。
- Port: 443。
- IP Address: 既存の IP アドレスを選択するか、新しい IP アドレスを作成します。
- Certificate: 独自の SSL 証明書を使用するか、Google 管理対象の証明書を使用できます。
SSL Policy: GCP のデフォルト、または別の設定済みポリシー。
注記詳細は、SSL Certificates を参照してください。
- DONE をクリックします。
- 左側のメニューから Backend configuration を選択します。
- Backend services & backend buckets ドロップダウンをクリックします。
CREATE A BACKEND SERVICE をクリックします。
-
バックエンドサービスに名前を付けます (例:
<DeploymentName>-aap-<cntrlr/hub>-ext-lb-bknd-svc)。 - Backend type を Instance group に設定します。
-
Protocol を
HTTPSに、Named Port をhttpsに設定します。 -
Timeout を
86400に変更します。 Backends セクションまで下にスクロールし、New backend フィールドで Instance group ドロップダウンを選択します。正しいインスタンスグループを選択します。
Automation Controller ロードバランサーの場合、正しいインスタンスグループには接尾辞
-aap-cntrlr-igmが付いています。Automation Hub ロードバランサーの場合、正しいインスタンスグループには接尾辞
-aap-hub-igmが付いています。- 表示されるダイアログボックスで、USE EXISTING PORT NAME を選択します。
- Balancing mode を Rate に設定します。
- Maximum RPS を 300 に設定します。
- Cloud CDN が表示されるまで下にスクロールします。Cloud CDN のチェックボックスをオフにします。
- Health check を示すテキストボックスが表示されるまで下にスクロールします。
- ドロップダウンメニューを選択し、CREATE A HEALTH CHECK をクリックします。
-
ヘルスチェックの名前を入力します (例:
<DeploymentName>-aap-<cntrlr/hub>-ext-lb-hc)。 Automation Controller の場合は、次のヘルスチェック設定を使用します
-
Health Check ダイアログボックスで、Protocol を
HTTPSに、Port を8052に設定します。 -
Request を
/api/v2/ping/に設定します。
-
Health Check ダイアログボックスで、Protocol を
Automation Hub の場合、次のヘルスチェック設定を使用します
-
Health Check ダイアログボックスで、Protocol を
HTTPSに、Port を8080に設定します。 -
Request を
/api/galaxy/pulp/api/v3/status/に設定します。
-
Health Check ダイアログボックスで、Protocol を
- Health criteria セクションまで下にスクロールします。
- Check interval フィールドに値 15 を入力します。
- Timeout フィールドに値 10 を入力します。
- Healthy threshold フィールドに値 2 を入力します。
- Unhealthy threshold フィールドに値 10 を入力します。
SAVE をクリックします。
Backend services & backend buckets ウィンドウに戻ります。
CREATE をクリックします。
これにより、Backend configuration セクションに戻ります。
- OK をクリックします。
- CREATE をクリックして、Automation Controller または Automation Hub UI のロードバランサーを作成します。これが完了するまでに数分かかります。
-
バックエンドサービスに名前を付けます (例:
- ロードバランサーが作成されました。
- SSL 証明書で使用したドメインの DNS レコードを、ロードバランサーの IP アドレスを指すように設定します。
この時点で、Ansible Automation Platform Automation Controller UI にアクセスできるはずです。管理パスワードを取得すると、ログインできます。
Private Automation Hub に対して同じプロセスを繰り返します。バックエンドの設定時にインスタンスグループ -aap-hub-igm を選択することを除いて、プロセスは同じです。