VMware Aria Automation Google Cloud Platform (GCP) クラウド アカウントのユーザーは、高可用性などのカスタム ソリューションをサポートするようにロード バランサを構成できます。
VMware Aria Automation GCP クラウド アカウント ユーザーは、特定の要件をサポートするようにロード バランサ構成のいくつかの側面を構成できます。たとえば、これらの機能は、SAP NetWeaver および SAP Hana 用のインフラストラクチャのプロビジョニングをサポートできます。
GCP クラウド アカウントを使用した高可用性ロード バランサ構成の設定
GCP クラウド アカウントを持つ VMware Aria Automation ユーザーは、高可用性などの特定の要件をサポートするように、ロード バランサ構成のいくつかの側面を構成できます。これらの機能は、SAP NetWeaver および SAP Hana 用のインフラストラクチャのプロビジョニングをサポートできます。
この構成により、複数のロード バランサ インスタンスを、それぞれ異なるアベイラビリティ ゾーンに展開できます。この設定を行うには、GCP で次のコンポーネントを構成する必要があります。
- 仮想 IP アドレスの予約
- 健全性チェックのプロビジョニング
- 健全性チェックをサポートするファイアウォール ルールの作成
GCP 側を設定したら、次の説明に従って、VMware Aria Automation で適切なコンポーネントを設定する必要があります。
- GCP クラウド アカウントをまだ持っていない場合は、作成します。
- 環境に応じて、フレーバーとイメージのマッピングを設定します。
- デフォルトのネットワーク プロファイルを作成し、タグ付けして、クラウド テンプレートから呼び出せるようにします。
- コンピューティング アベイラビリティ ゾーンを作成し、適切にタグ付けします。このようにすることで、クラウド テンプレート内の特定のアベイラビリティ ゾーンにインスタンスとインスタンス グループをプロビジョニングするように VMware Aria Automation に指示できます。
これらのコンポーネントをすべて構成したら、Automation Assembler の [デザイン] タブに移動して、クラウド テンプレートを作成できます。このテンプレートで、該当するロード バランサ構成をモデル化する必要があります。その際は、必要に応じて健全性チェックおよびインスタンスとインスタンス グループの仕様を使用します。高可用性を実現するには、複数のロード バランサを構成する必要があります。クラウド テンプレートで、適切な仮想マシンと展開先のアベイラビリティ ゾーンも指定する必要があります。
次のクラウド テンプレートの例は、NetWeaver の高可用性ロード バランサ構成の設定方法を示しています。
formatVersion: 1 inputs: {} resources: Cloud_LoadBalancer_1: type: Cloud.LoadBalancer properties: routes: - healthCheckConfiguration: healthyThreshold: 2 unhealthyThreshold: 2 timeoutSeconds: 10 intervalSeconds: 10 port: 65000 protocol: TCP protocol: TCP port: 1000 instancePort: 1000 network: ${resource.Cloud_Network_1.id} instances: - ${resource.Cloud_GCP_Machine_1.id} - ${resource.Cloud_GCP_Machine_2.id} internetFacing: false fallbackInstanceGroupsByInstanceNames: - ${resource.Cloud_GCP_Machine_2.resourceName} Cloud_LoadBalancer_2: type: Cloud.LoadBalancer properties: routes: - healthCheckConfiguration: healthyThreshold: 2 unhealthyThreshold: 2 timeoutSeconds: 10 intervalSeconds: 10 port: 65000 protocol: TCP protocol: TCP port: 1000 instancePort: 1000 network: ${resource.Cloud_Network_1.id} instances: - ${resource.Cloud_GCP_Machine_1.id} - ${resource.Cloud_GCP_Machine_2.id} internetFacing: false useInstanceGroupsFrom: ${resource.Cloud_LoadBalancer_1.resourceName} fallbackInstanceGroupsByInstanceNames: - ${resource.Cloud_GCP_Machine_1.resourceName} Cloud_GCP_Machine_2: type: Cloud.GCP.Machine properties: image: image flavor: flavor networks: - network: ${resource.Cloud_Network_1.id} constraints: - tag: zone-b Cloud_Network_1: type: Cloud.Network properties: networkType: existing constraints: - tag: default Cloud_GCP_Machine_1: type: Cloud.GCP.Machine properties: image: image flavor: flavor networks: - network: ${resource.Cloud_Network_1.id} constraints: - tag: zone-a
ロード バランサ構成の追加オプション
VMware Aria Automation ユーザーはクラウド テンプレート構成を使用することにより、次に示すロード バランサ構成の追加の側面を構成できます。
- ロード バランサ間のインスタンス グループの共有
- フェイルオーバー インスタンス グループの構成
- すべてのポートでトラフィックを受け入れるためのロード バランサの構成
インスタンス グループの共有
ロード バランサ間でインスタンス グループを共有するには、ユーザーがブループリントで明示的に宣言する必要があります。クラウド テンプレート内のインスタンス グループには直接アクセスできないため、ユーザーは useInstanceGroupsFrom
プロパティを使用する必要があります。このように VMware Aria Automation は最初のロード バランサをプロビジョニングし、他のロード バランサでインスタンス グループを再利用します。
次の例では、クラウド テンプレートを使用して、2 番目のロード バランサが最初のロード バランサのインスタンス グループを使用するように 2 つのロード バランサを構成する方法を示します。
Cloud_LoadBalancer_1: type: Cloud.LoadBalancer properties: routes: - healthCheckConfiguration: healthyThreshold: 2 unhealthyThreshold: 2 timeoutSeconds: 10 intervalSeconds: 10 port: 65000 protocol: TCP protocol: TCP network: ${resource.Cloud_Network_1.id} instances: - ${resource.Cloud_GCP_Machine_1.id} - ${resource.Cloud_GCP_Machine_2.id} internetFacing: false Cloud_LoadBalancer_2: type: Cloud.LoadBalancer properties: routes: - healthCheckConfiguration: healthyThreshold: 2 unhealthyThreshold: 2 timeoutSeconds: 10 intervalSeconds: 10 port: 65000 protocol: TCP protocol: TCP network: ${resource.Cloud_Network_1.id} instances: - ${resource.Cloud_GCP_Machine_1.id} - ${resource.Cloud_GCP_Machine_2.id} internetFacing: false useInstanceGroupsFrom: ${resource.Cloud_LoadBalancer_1.resourceName}
フェイルオーバー インスタンス グループの構成
GCP ロード バランサごとにフェイルオーバー インスタンス グループを構成するには、クラウド テンプレートで明示的に宣言する必要があります。テンプレート内のインスタンス グループには直接アクセスできないため、failoverInstanceGroupsByInstanceNames
プロパティを使用して、そのインスタンス グループに含まれるマシンを基準としてインスタンス グループを検索するように VMware Aria Automation に指示する必要があります。
次の例では、1 つのプライマリ インスタンス グループと 1 つのフェイルオーバー インスタンス グループを含むロード バランサの構成を示します。
Cloud_LoadBalancer_1: type: Cloud.LoadBalancer properties: routes: - healthCheckConfiguration: healthyThreshold: 2 unhealthyThreshold: 2 timeoutSeconds: 10 intervalSeconds: 10 port: 65000 protocol: TCP protocol: TCP network: ${resource.Cloud_Network_1.id} instances: - ${resource.Cloud_GCP_Machine_1.id} - ${resource.Cloud_GCP_Machine_2.id} internetFacing: false failoverInstanceGroupsByInstanceNames: - ${resource.Cloud_GCP_Machine_2.resourceName}
すべてのポートのトラフィックの構成
すべてのポートでトラフィックを受け入れるようにロード バランサを構成するには、ルート構成のポート プロパティを省略します。新しく作成された 3 つの機能を使用し、この設定に合わせてインフラストラクチャをプロビジョニングする、サンプル クラウド テンプレートを表示できます。関連情報については、クラウド ロード バランシングのフェイルオーバー サポートの構成を参照してください。
formatVersion: 1 inputs: {} resources: Cloud_LoadBalancer_1: type: Cloud.LoadBalancer properties: routes: - healthCheckConfiguration: healthyThreshold: 2 unhealthyThreshold: 2 timeoutSeconds: 10 intervalSeconds: 10 port: 65000 protocol: TCP protocol: TCP network: ${resource.Cloud_Network_1.id} instances: - ${resource.Cloud_GCP_Machine_1.id} - ${resource.Cloud_GCP_Machine_2.id} internetFacing: false failoverInstanceGroupsByInstanceNames: - ${resource.Cloud_GCP_Machine_2.resourceName} address: 10.132.0.72 Cloud_LoadBalancer_2: type: Cloud.LoadBalancer properties: routes: - healthCheckConfiguration: healthyThreshold: 2 unhealthyThreshold: 2 timeoutSeconds: 10 intervalSeconds: 10 port: 65000 protocol: TCP protocol: TCP network: ${resource.Cloud_Network_1.id} instances: - ${resource.Cloud_GCP_Machine_1.id} - ${resource.Cloud_GCP_Machine_2.id} internetFacing: false useInstanceGroupsFrom: ${resource.Cloud_LoadBalancer_1.resourceName} failoverInstanceGroupsByInstanceNames: - ${resource.Cloud_GCP_Machine_1.resourceName} address: 10.132.0.64 Cloud_GCP_Machine_2: type: Cloud.GCP.Machine properties: image: image flavor: flavor networks: - network: ${resource.Cloud_Network_1.id} constraints: - tag: zone-c Cloud_Network_1: type: Cloud.Network properties: networkType: existing constraints: - tag: default Cloud_GCP_Machine_1: type: Cloud.GCP.Machine properties: image: image flavor: flavor networks: - network: ${resource.Cloud_Network_1.id} constraints: - tag: zone-b