VMware Cloud Director 구성

VMware Cloud Director는 Google Cloud VMware Engine에서 제공하는 것과 같이 여러 사이트과 지역에 걸쳐 공통 또는 분산 인프라에서 가상 데이터 센터를 만들 수 있도록 도와줍니다. VMware Cloud Director를 사용하면 Google Cloud에서 호스팅되는 서버 전반에서 인프라를 관리하여 단일 인터페이스에서 여러 고객에게 호스팅하고 제공할 수 있습니다.

VMware Cloud Director와 Google Cloud VMware Engine의 통합은 단일 인터페이스를 사용하여 다음과 같은 기능을 제공합니다.

  • 탄력적인 가상 데이터 센터: 사용자가 vApp 템플릿 및 미디어 파일의 카탈로그를 통해 네트워크, 스토리지, 컴퓨팅 리소스를 프로비저닝할 수 있는 가상 데이터 센터를 만듭니다.
  • 하이브리드 클라우드 관리: 온프레미스 및 VMware Engine 환경에서 데이터 센터 리소스를 관리하고 모니터링합니다.
  • 멀티테넌시: 완전한 격리를 통해 멀티테넌시를 제공하는 통합 인터페이스에서 모든 테넌트를 관리합니다.
  • 인프라 할당: VMware Engine 인프라를 더 작은 리소스 풀로 나누면 사용자에게 제공되어 필요에 따라 확장할 수 있습니다.
  • 가상 데이터 센터 간 워크로드 마이그레이션: VM 수준에서 전체 데이터 센터에 이르기까지 워크로드를 백업, 제거, 복제할 수 있습니다.

VMware Cloud Director를 Google Cloud에 배포한 후에는 VMware Cloud Director에 VMware Engine 프라이빗 클라우드 리소스를 제공할 수 있습니다. 이 과정에서 조직 가상 데이터 센터 관리의 VMware 안내를 따르세요.

시작하기 전에

VMware Engine의 VMware Cloud Director 구성을 사용하려면 VPC 네트워크를 준비하고 Google Cloud 리소스를 만들고 VMware Engine을 설정해야 합니다. 이 프로세스는 다음과 같은 단계로 진행됩니다.

  1. VPC 네트워크 만들기
  2. VPC 네트워크 방화벽 규칙 추가
  3. Filestore 인스턴스 만들기
  4. 관리형 PostgreSQL 인스턴스 배포
  5. VMware Cloud Director 셀 준비
  6. VMware Engine 설정
  7. 정규화된 도메인 이름(FQDN) 두 개 만들기

VPC 네트워크 만들기

Google Cloud에서 나중에 VMware Cloud Director 셀을 설치할 때 사용할 VPC 네트워크를 준비합니다.

이렇게 하려면 여러 영역에 걸쳐 있는 VPC 네트워크를 만듭니다. VMware Engine에서 VPC 네트워크를 이미 사용 중인 경우 새 VPC 네트워크를 만드는 대신 해당 네트워크를 사용할 수 있습니다.

VPC 네트워크 방화벽 규칙 추가

VPC 네트워크에 대해 다음 VPC 네트워크 방화벽 규칙을 만듭니다.

  • allow-inter-vcd-cell-communication: VMware Cloud Director 셀이 모든 포트에서 서로 통신할 수 있도록 이 규칙을 설정합니다.
    1. 대상네트워크의 모든 인스턴스로 설정합니다.
    2. 소스 필터소스 태그로 설정합니다.
    3. VMware Cloud Director 셀과 함께 사용할 새 소스 태그 vcd를 만듭니다.
    4. 프로토콜 및 포트모두 허용으로 설정합니다.
  • allow-443-8443: tcp 포트 443 및 8443에 대한 인바운드 액세스를 허용하도록 이 규칙을 설정합니다.
    1. 대상네트워크의 모든 인스턴스로 설정합니다.
    2. 소스 필터IP 범위로 설정합니다.
    3. 소스 IP 범위 필드에 0.0.0.0/0 범위를 입력하거나 범위를 추가하여 VMware Cloud Director 셀에 대한 액세스를 제한합니다.
    4. 프로토콜 및 포트지정된 프로토콜 및 포트로 설정합니다.
    5. tcp 체크박스를 선택하고 해당 필드에 443,8443를 입력합니다.
  • allow-ssh: VMware Cloud Director 셀에 SSH 액세스를 허용하도록 이 규칙을 설정합니다.
    1. 대상네트워크의 모든 인스턴스로 설정합니다.
    2. 소스 필터IP 범위로 설정합니다.
    3. 소스 IP 범위 필드에 0.0.0.0/0 범위를 입력하거나 범위를 추가하여 VMware Cloud Director 셀에 대한 SSH 액세스를 제한합니다.
    4. 프로토콜 및 포트지정된 프로토콜 및 포트로 설정합니다.
    5. tcp 체크박스를 선택하고 해당 필드에 22를 입력합니다.

액세스를 더 세부적으로 제어하려면 VMware Cloud Director 네트워크 보안 요구사항을 참조하세요.

Filestore 인스턴스 만들기

Google Cloud에서 VMware Cloud Director 전송 저장소용 Filestore 인스턴스를 준비합니다. 이렇게 하려면 Filestore 인스턴스를 만들고 인스턴스를 만들 때 VPC 네트워크를 승인된 네트워크로 선택합니다.

관리형 PostgreSQL 인스턴스 배포

VMware Cloud Director에는 Cloud SQL을 사용하여 설정할 수 있는 외부 PostgreSQL 데이터베이스가 필요합니다. VMware Cloud Director용 관리형 PostgreSQL 인스턴스를 배포하려면 다음 안내를 따르세요.

  1. PostgreSQL 인스턴스를 만드는 단계를 시작합니다.
  2. 데이터베이스 버전PostgreSQL 10을 선택합니다.
  3. 연결비공개 IP를 선택합니다.
  4. 머신 유형 및 스토리지 필드의 경우 vCPU가 4개이고 메모리가 15~16GB인 머신을 사용하는 것이 좋습니다. 사용 사례와 VMware Cloud Director 사용률에 따라 더 큰 데이터베이스 인스턴스가 필요할 수 있습니다.
  5. VPC 네트워크로 데이터베이스 인스턴스를 승인합니다.
  6. VMware Cloud Director용 데이터베이스를 만듭니다.
  7. 데이터베이스에 액세스할 Google Cloud 사용자를 만듭니다.
  8. VMware Cloud Director에 필요한 추가 데이터베이스 구성을 수행합니다.

VMware Cloud Director 셀 준비

VMware Cloud Director 셀은 Compute Engine 인스턴스에서 실행됩니다. VMware Cloud Director 셀을 항상 사용할 수 있도록 하는 것이 좋습니다. 이 권장사항에 따라 각 사이트에 2개 이상의 VMware Cloud Director 셀을 배포할 수 있습니다.

VMware Cloud Director에 연결할 프라이빗 클라우드의 수와 함께 하나의 VMware Cloud Director 셀을 배포하는 것이 좋습니다.

각 VMware Cloud Director 셀에 가상 머신(VM)을 만듭니다.

  • 빠른 시작: Linux VM 사용의 단계에 따라 VM을 만듭니다. 이 문서에 사용된 모든 명령어는 VM이 Red Hat Enterprise Linux(RHEL)를 사용한다고 가정합니다.

  • VPC 네트워크 방화벽 규칙 추가 섹션에서 만든 소스 태그 vcd를 사용하여 각 VM을 VPC 네트워크에 연결합니다.

  • 머신 유형을 선택할 때 vCPU가 2개이고 RAM이 8GB인 머신을 선택할 수 있습니다. 높은 부하가 예상되는 경우 4개의 vCPU와 16GB의 메모리를 대신 사용하세요.

VMware Engine 설정

VMware Engine에 대해서도 다음을 수행해야 합니다(아직 수행하지 않은 경우).

  1. VMware Cloud Director 셀이 배포된 Google Cloud 프로젝트와 VMware Engine 간에 VPC 네트워크 피어링 연결을 설정하려면 비공개 서비스 액세스를 설정합니다.
  2. VMware Engine에서 프라이빗 클라우드를 만듭니다.
  3. VMware Engine 비공개 클라우드에 온프레미스 네트워크 연결 이 단계는 Google Cloud에 배포된 VMware Cloud Director를 사용하여 온프레미스 리소스를 관리하는 데 필요합니다.

정규화된 도메인 이름(FQDN) 두 개 만들기

SSL 인증서를 만들려면 두 개의 FQDN이 필요합니다. 하나는 사용자 인터페이스에 사용되고 다른 하나는 콘솔 프록시에 사용됩니다. 인증서를 만들고 공개 주소를 구성할 때 이러한 FQDN을 사용하세요.

설치 및 구성

VMware Cloud Director를 설치하고 구성하는 과정을 수행하려면 다음을 수행해야 합니다.

  1. 각 VM에 패키지 설치
  2. 하나의 VM에 VMware Cloud Director 설치
  3. 다른 VM에 VMware Cloud Director 설치
  4. Compute Engine 인스턴스 그룹 만들기
  5. 부하 분산기 배포

각 VM에 패키지 설치

각 Compute Engine VM은 VMware Cloud Director 셀에 해당합니다. 각 VM에 기본 요건 패키지를 설치하여 VMware Cloud Director 셀을 준비합니다.

  1. 배포하려는 VMware Cloud Director 바이너리를 다운로드합니다.
  2. VMware Cloud Director 바이너리를 Cloud Storage 버킷에 업로드하여 Compute Engine VM에 다운로드할 수 있도록 합니다.
  3. SSL 인증서를 만들고 설치할 VMware Cloud Director 키 저장소를 준비합니다.
    • 자바 키 저장소 파일이 이미 있으면 Compute Engine VM에 다운로드할 수 있도록 Cloud Storage 버킷에 저장합니다.
    • 키 저장소를 만들어야 하는 경우 SSL 인증서 생성에 대한 VMware 안내를 참조하세요. 첫 번째 VMware Cloud Director 셀에서 바이너리 설치를 수행한 후 키 저장소를 만들 수 있습니다.
  4. 각 Compute Engine VM에 기본 요건 패키지를 설치합니다.

    yum install bind-utils libcurl-devel libxml2-devel make openssl-devel git \
        alsa-lib libICE libSM libX11 libXau libXdmcp libXext libXi libXt libXtst \
        pciutils redhat-lsb wget -y
    
  5. ESXI 호스트 FQDN을 확인할 수 있도록 모든 VM의 /etc/resolv.conf 파일에 네임서버를 추가합니다.

  6. 모든 VM에 전송 저장소를 마운트할 수 있도록 NFS 유틸리티 패키지를 설치합니다.

    yum install nfs-utils -y
    
    systemctl enable rpcbind nfs-server nfs-lock nfs-idmap
    
    systemctl start rpcbind nfs-server nfs-lock nfs-idmap
    

하나의 VM에 VMware Cloud Director 설치

위의 패키지를 모든 VM에 설치한 후 하나의 VM에 VMware Cloud Director를 설치하고 구성합니다.

  1. ssh를 사용하여 Compute Engine VM 중 하나에 연결합니다.
  2. VM에 VMware Cloud Director 바이너리를 다운로드합니다.

    gsutil cp gs://STORAGE_BUCKET/ \
       vmware-vcloud-director-distribution-10.1.0-15967253.bin /tmp/
    

    STORAGE_BUCKET을 Cloud Storage 버킷 경로로 바꿉니다.

  3. 바이너리를 실행 가능하게 만듭니다.

    chmod +x vmware-vcloud-director-distribution-10.1.0-15967253.bin
    
  4. VM에 바이너리를 설치합니다.

    /tmp/vmware-vcloud-director-distribution-10.1.0-15967253.bin
    
  5. VM에 자바 키 저장소 파일을 다운로드합니다.

    gsutil cp gs://STORAGE_BUCKET/certificates.ks /tmp/certificates.ks
    

    STORAGE_BUCKET을 Cloud Storage 버킷 경로로 바꿉니다.

  6. 전송 저장소를 VM에 마운트합니다.

    echo "FILESTORE_INSTANCE_IP:/volume_name \
       /opt/vmware/vcloud-director/data/transfer nfs defaults,_netdev 0 0" >> \
       /etc/fstab
    
    mount /opt/vmware/vcloud-director/data/transfer
    
    chown -R vcloud:vcloud /opt/vmware/vcloud-director/data/transfer
    

    FILESTORE_INSTANCE_IP를 Filestore 인스턴스의 IP로 바꿉니다.

  7. 자동 구성을 사용하여 초기 VMware Cloud Director 셀 구성을 수행합니다.

    /opt/vmware/vcloud-director/bin/configure -ip INSTANCE_IP \
       --primary-port-http 80 --primary-port-https 443 -cons INSTANCE_IP \
       --console-proxy-port-https 8443 -dbhost DB_ENDPOINT -dbport 5432 \
       -dbtype postgres -dbname DB_NAME -dbuser DB_MASTER_USER \
       -dbpassword DB_MASTER_USER_PASSWORD --keystore /tmp/KEYSTORE_FILE \
       -w KEYSTORE_PASSWORD --enable-ceip true -unattended
    

    다음을 바꿉니다.

    • INSTANCE_IP: 포트 번호(선택사항)가 포함된 IPv4 주소
    • DB_ENDPOINT: vCloud Director 데이터베이스 호스트의 IP 주소 또는 정규화된 도메인 이름
    • DB_NAME: 데이터베이스 서비스 이름
    • DB_MASTER_USER: 데이터베이스 사용자의 사용자 이름
    • DB_MASTER_USER_PASSWORD: 데이터베이스 사용자의 비밀번호(null일 수 있음)
    • KEYSTORE_FILE: SSL 인증서와 비공개 키가 포함된 자바 키 저장소
    • KEYSTORE_PASSWORD: SSL 인증서 키 저장소 비밀번호
  8. 성능에 도움이 되도록 자바 힙 크기를 조정합니다.

    1. 자바 XMS 값을 2GB 이상으로 설정합니다.

      sed -i "s/Xms1024M/Xms2048M/g" \
          /opt/vmware/vcloud-director/bin/vmware-vcd-cell-common
      
    2. 최댓값을 VM 메모리 값에서 2GB 뺀 값으로 설정합니다.

      sed -i "s/Xmx4096M/Xmx6144M/g" \
          /opt/vmware/vcloud-director/bin/vmware-vcd-cell-common
      
  9. VMware Cloud Director 서비스를 사용 설정하고 시작합니다.

    chkconfig vmware-vcd on
    
    service vmware-vcd start
    
  10. 서비스가 성공적으로 시작되었는지 확인합니다.

    tail -f /opt/vmware/vcloud-director/logs/cell.log
    
  11. 다른 VMware Cloud Director 셀에 설치하는 데 사용할 전송 저장소에 responses.properties 및 자바 키 저장소 파일을 복사합니다.

    cp /opt/vmware/vcloud-director/etc/responses.properties \
        /opt/vmware/vcloud-director/data/transfer/responses.properties
    
    chmod 644 /opt/vmware/vcloud-director/data/transfer/responses.properties
    
    cp /tmp/certificates.ks \
        /opt/vmware/vcloud-director/data/transfer/certificates.ks
    
    chmod 644 /opt/vmware/vcloud-director/data/transfer/certificates.ks
    
  12. cell-management-tool system-setup 명령어를 사용하여 VMware Cloud Director 설치를 구성합니다.

    /opt/vmware/vcloud-director/bin/cell-management-tool system-setup \
       --email EMAIL --full-name FULL_NAME \
       --installation-id INSTALLATION_ID --password PASSWORD \
       --system-name SYSTEM_NAME --serial-number SERIAL_NUMBER \
       --user USER --unattended
    

    다음을 바꿉니다.

    • EMAIL: 만들려는 시스템 관리자의 이메일 주소
    • FULL_NAME: 만들려는 시스템 관리자의 전체 이름
    • INSTALLATION_ID: 1~63 범위의 정수
    • PASSWORD: 만들려는 시스템 관리자의 비밀번호
    • SYSTEM_NAME: VMware Cloud Director vCenter Server 폴더에 사용할 이름
    • SERIAL_NUMBER: 이 설치의 일련번호(라이선스 키)
    • USER: 만들려는 시스템 관리자의 사용자 이름

다른 VM에 VMware Cloud Director 설치

나머지 셀에 VMware Cloud Director를 설치하고 구성하려면 각 셀에 대해 다음 단계를 반복합니다.

  1. ssh를 사용하여 Compute Engine VM에 연결합니다.
  2. VM에 바이너리를 다운로드합니다.

    gsutil cp gs://STORAGE_BUCKET/ \
       vmware-vcloud-director-distribution-10.1.0-15967253.bin /tmp/
    

    STORAGE_BUCKET을 Cloud Storage 버킷 경로로 바꿉니다.

  3. 바이너리를 실행 가능하게 만듭니다.

    chmod +x vmware-vcloud-director-distribution-10.1.0-15967253.bin
    
  4. VM에 바이너리를 설치합니다.

    /tmp/vmware-vcloud-director-distribution-10.1.0-15967253.bin
    
  5. VM에 자바 키 저장소 파일을 다운로드합니다.

    gsutil cp gs://vcd-builds/certificates.ks /tmp/certificates.ks
    
  6. 이 VM에 전송 저장소를 마운트합니다.

    echo "FILESTORE_INSTANCE_IP:/volume_name \
       /opt/vmware/vcloud-director/data/transfer nfs defaults,_netdev 0 0" >> \
       /etc/fstab
    
    mount /opt/vmware/vcloud-director/data/transfer
    
    chown -R vcloud:vcloud /opt/vmware/vcloud-director/data/transfer
    

    FILESTORE_INSTANCE_IP를 Filestore 인스턴스의 IP로 바꿉니다.

  7. 자동 구성을 사용하여 초기 VMware Cloud Director 셀 구성을 수행합니다.

    /opt/vmware/vcloud-director/bin/configure \
       -r /opt/vmware/vcloud-director/data/transfer/responses.properties \
       -ip INSTANCE_IP --primary-port-http 80 --primary-port-https 443 \
       -cons INSTANCE_IP --console-proxy-port-https 8443 \
       --keystore /opt/vmware/vcloud-director/data/transfer/KEYSTORE_FILE \
       -w KEYSTORE_PASSWORD --enable-ceip true -unattended
    

    다음을 바꿉니다.

    • INSTANCE_IP: 포트 번호(선택사항)가 포함된 IPv4 주소
    • KEYSTORE_FILE: SSL 인증서와 비공개 키가 포함된 자바 키 저장소 파일
    • KEYSTORE_PASSWORD: SSL 인증서 키 저장소 비밀번호
  8. 성능에 도움이 되도록 자바 힙 크기를 조정합니다.

    1. 자바 XMS 값을 2GB 이상으로 설정합니다.

      sed -i "s/Xms1024M/Xms2048M/g" \
          /opt/vmware/vcloud-director/bin/vmware-vcd-cell-common
      
    2. 최댓값을 VM 메모리 값에서 2GB 뺀 값으로 설정합니다.

      sed -i "s/Xmx4096M/Xmx6144M/g" \
          /opt/vmware/vcloud-director/bin/vmware-vcd-cell-common
      
  9. VMware Cloud Director 서비스를 사용 설정하고 시작합니다.

    chkconfig vmware-vcd on
    
    service vmware-vcd start
    
  10. 서비스가 성공적으로 시작되었는지 확인합니다.

    tail -f /opt/vmware/vcloud-director/logs/cell.log
    

Compute Engine 인스턴스 그룹 만들기

Compute Engine 인스턴스 그룹은 인터넷 연결 부하 분산기에서 VMware Cloud Director 셀로 트래픽을 전달합니다. 인스턴스 그룹을 설정하려면 다음 단계를 따르세요.

  1. VMware Cloud Director 셀이 배포된 각 영역에 비관리형 인스턴스 그룹을 만듭니다.
  2. 각 인스턴스 그룹에 다음 포트 매핑을 추가합니다.
    • 인터페이스 또는 API 호출의 경우
      • 포트 이름:https
      • 포트 번호: 443
    • 콘솔 프록시 액세스의 경우
      • 포트 이름:tcp
      • 포트 번호: 8443

다음은 인스턴스 그룹 설정의 예시입니다.

인스턴스 그룹 설정은 포트 443에서 HTTPS 프로토콜을 사용하고 포트 8443에서 TCP 프로토콜을 사용합니다.

부하 분산기 배포

인터넷에서 VMware Cloud Director 인터페이스 또는 콘솔 프록시에 액세스할 수 있도록 2개의 부하 분산기를 Google Cloud에 배포해야 합니다. 이 프로세스는 다음과 같은 단계로 진행됩니다.

  1. 부하 분산기에서 사용할 상태 확인 구성
  2. 인터페이스 또는 API 액세스를 위한 L7 부하 분산기 만들기
  3. 콘솔 프록시 액세스를 위한 L4 부하 분산기 만들기
  4. VMware Cloud Director의 공개 주소 구성

부하 분산기의 상태 확인 구성

부하 분산기의 상태 확인을 구성하려면 다음 안내를 따르세요.

  1. 상태 확인 만들기의 프로세스를 따라 상태 확인 만들기를 시작합니다.
  2. 프로토콜HTTPS로 설정합니다.
  3. 포트 입력란에 443을 입력합니다.
  4. 요청 경로 필드에 /api/server_status를 입력합니다.

다음은 상태 확인 설정의 예시입니다.

상태 확인 구성은 포트 443에서 HTTPS 프로토콜을 사용합니다.

인터페이스 또는 API 액세스를 위한 L7 부하 분산기 만들기

인터페이스 또는 API 액세스를 위한 L7 부하 분산기를 만들려면 다음을 수행합니다.

  1. 내부 HTTP(S) 부하 분산 설정 프로세스에 따라 내부 HTTPS 부하 분산 설정을 시작합니다.
  2. 프로토콜HTTPS로 설정합니다.
  3. 이름이 지정된 포트 필드에 https를 입력합니다. 이 값은 인스턴스 그룹에 구성된 값과 일치합니다.
  4. 백엔드 섹션에서 Compute Engine 인스턴스 그룹 만들기에서 만든 모든 인스턴스 그룹을 추가합니다. 각 항목에 포트 443을 사용하여 HTTPS용으로 생성된 포트와 일치시킵니다.
  5. 상태 확인부하 분산기의 상태 확인 구성에서 구성한 값으로 설정합니다.
  6. 호스트 및 경로 규칙에 기본값을 사용합니다.
  7. 부하 분산기의 프런트엔드를 구성합니다.
    1. 프로토콜HTTPS로 설정합니다.
    2. 공개 IP 주소를 예약합니다.
    3. 부하 분산기에 인증서를 추가합니다.

콘솔 프록시 액세스를 위한 L4 부하 분산기 만들기

콘솔 프록시 액세스를 위한 L4 부하 분산기를 만들려면 다음 안내를 따르세요.

  1. TCP 프록시 부하 분산 설정 프로세스에 따라 부하 분산기 구성을 시작합니다.
  2. 여러 리전 또는 단일 리전여러 리전으로 설정합니다.
  3. 백엔드 유형인스턴스 그룹으로 설정합니다.
  4. 프로토콜TCP로 설정합니다.
  5. 이름이 지정된 포트 필드에 tcp를 입력합니다. 이 값은 인스턴스 그룹에 구성된 값과 일치합니다.
  6. 백엔드 섹션에서 Compute Engine 인스턴스 그룹 만들기에서 만든 모든 인스턴스 그룹을 추가합니다. 각 항목에 포트 8443을 사용하여 TCP용으로 생성된 포트와 일치시킵니다.
  7. 부하 분산기의 프런트엔드를 구성합니다.
    1. 프로토콜TCP로 설정합니다.
    2. 포트443으로 설정합니다.
    3. 공개 IP 주소를 예약합니다.

VMware Cloud Director의 공개 주소 구성

부하 분산기를 만든 후 VMware Cloud Director의 공개 주소를 구성합니다.

  1. 다음 URL을 사용하여 VMware Cloud Director에 액세스합니다.

    https://L7_FQDN/provider

    L7_FQDN을 L7 부하 분산기에 추가한 인증서에 해당하는 FQDN으로 바꿉니다.

  2. VM에서 첫 번째 VMware Cloud Director 셀을 구성할 때 만든 관리자 사용자 인증 정보를 사용합니다.

  3. VMware에서 제공하는 단계에 따라 공개 주소를 구성합니다.

다음 단계

VMware Cloud Director를 Google Cloud에 배포한 후에는 VMware Cloud Director에 VMware Engine 프라이빗 클라우드 리소스를 제공할 수 있습니다. 이 과정에서 조직 가상 데이터 센터 관리의 VMware 안내를 따르세요.