VMware Aria Automation GCP(Google Cloud Platform) 클라우드 계정 사용자는 고가용성을 포함한 사용자 지정 솔루션을 지원하도록 로드 밸런서를 구성할 수 있습니다.
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 사용자는 로드 밸런서 구성의 다음과 같은 추가 측면을 구성할 수 있습니다.
- 로드 밸런서 간에 인스턴스 그룹 공유
- 페일오버 인스턴스 그룹 구성
- 모든 포트에서 트래픽을 수락하도록 로드 밸런서 구성
인스턴스 그룹 공유
로드 밸런서 간에 인스턴스 그룹을 공유하려면 사용자가 Blueprint에서 명시적으로 선언해야 합니다. 클라우드 템플릿의 인스턴스 그룹에 직접 액세스할 수 없기 때문에 고객은 useInstanceGroupsFrom 속성을 사용해야 합니다. 이러한 방식으로 VMware Aria Automation는 첫 번째 로드 밸런서를 프로비저닝하고 다른 로드 밸런서에서 인스턴스 그룹을 재사용합니다.
다음 예에서는 클라우드 템플릿을 사용하여 두 개의 로드 밸런서를 구성하면서 두 번째 로드 밸런서가 첫 번째 로드 밸런서의 인스턴스 그룹을 사용하도록 구성하는 방법을 보여줍니다.
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 로드 밸런서에 대해 페일오버 인스턴스 그룹을 구성하려면 클라우드 템플릿에서 명시적으로 선언해야 합니다. 템플릿의 인스턴스 그룹에 직접 액세스할 수 없기 때문에 해당 인스턴스 그룹에 포함된 시스템별로 인스턴스 그룹을 찾도록 VMware Aria Automation에 지시하는 failoverInstanceGroupsByInstanceNames 속성을 사용해야 합니다.
다음 예에서는 기본 인스턴스 그룹 하나와 페일오버 인스턴스 그룹 하나가 있는 로드 밸런서의 구성을 보여줍니다.
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}
모든 포트의 트래픽에 대해 구성
모든 포트에서 트래픽을 수락하도록 로드 밸런서를 구성하려면 경로 구성의 포트 속성을 생략하면 됩니다. 새로 생성된 세 가지 기능을 사용하고 이 설정에 대한 인프라를 프로비저닝하는 샘플 클라우드 템플릿을 볼 수 있습니다. 관련 정보는 클라우드 로드 밸런싱 페일오버 지원 구성을 참조하십시오.
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