다음 단계에 따라 NSX Cloud에서 제공한 Terraform 스크립트를 사용하여 Microsoft Azure의 NSX Cloud 마켓플레이스 이미지를 사용하여 NSX Cloud를 배포하십시오.

사전 요구 사항

  • Microsoft 구독에서 NSX Cloud 마켓플레이스 이미지에 액세스할 수 있는지 확인합니다.
  • NSX Cloud 장치를 배포하는 경우 구독에서 Microsoft Azure Marketplace 약관을 수락했는지 확인합니다.
  • 시스템에 Microsoft Azure CLI를 설치 및 구성해야 합니다. 이것은 Terraform 스크립트에서 사용되는 Azure API를 인증하고 실행하는 데 필요합니다.

    가능하면 동일한 시스템을 사용하여 Microsoft 구독에 액세스하는 데 사용하는 Terraform 스크립트를 실행합니다. 이렇게 하면 시스템 내에서 Microsoft Azure 자격 증명을 사용할 수 있으며 이 정보를 다른 시스템과 공유하지 않게 됩니다.

    또한 보안 권장 사항으로, Python 암호화 모듈을 지원하는 Linux/Unix 또는 macOS 시스템에서 이러한 스크립트를 실행합니다.

  • Terraform 스크립트를 실행할 시스템에 Terraform 0.13 이상의 바이너리가 있는지 확인합니다.
  • 이 시스템에 Python 3.0 이상이 설치되어 있어야 합니다.

프로시저

  1. 계정에 로그인하고 NSX > 드라이버 및 도구 > VMware NSX Terraform 제공자 > 다운로드로 이동 > 지금 다운로드로 이동하여 Terraform 스크립트를 다운로드합니다. 예를 들어, 계정에 로그인한 후 드라이버 및 도구에 대한 다운로드 페이지로 이동합니다.
  2. NSXCloudScriptsforAddingPublicCloudAccounts.tar.gz 파일 압축을 풉니다. Terraform 스크립트 및 관련 파일은 NSXCloudScripts/cloud-native-deployment/azure/igw 폴더에 있습니다.
  3. Terraform 구성 파일을 업데이트합니다.
    1. config.auto.vars에서 다음 정보를 추가합니다.
      매개 변수 설명
      subscription_id Microsoft Azure 계정에 대한 구독 ID를 제공하십시오.
      location NSX Cloud 관리 VNet이 배포될 Microsoft Azure 위치를 지정합니다.
      deployment_prefix

      이것은 자동 생성된 모든 엔티티의 접두사가 되는 배포 이름입니다. 각 Microsoft subscription_idlocation에 대해 고유한지 확인합니다.

    2. credentials_nsx.auto.tfvars에서 다음 정보를 추가합니다.
      매개 변수 설명
      mgr_public_key_path 이것은 NSX Manager 장치에 적용될 공용 키에 대한 경로입니다.
      csm_public_key_path 이것은 CSM 장치에 적용될 공용 키에 대한 경로입니다.
      license_key

      NSX Manager에 대한 라이센스 키입니다. NSX Enterprise Plus 라이센스가 있어야 합니다.

    3. 고급 구성 정보를 확인하고 필요에 따라 advanced_config.auto.tfvars 파일에서 업데이트합니다.
      매개 변수 설명
      mgmt_vnet_address_space 새로 배포된 NSX Cloud 관리 VNet에 대한 주소 공간입니다.
      mgmt_subnet_address_prefix NSX Cloud 관리 VNet에 배포된 NSX Cloud 관리 장치의 서브넷입니다.
  4. 다음 명령을 지정된 순서대로 실행합니다.
    ~/terraform init 이 명령은 배포에 필요한 모든 모듈을 수집합니다.
    ~/terraform plan 이 명령은 배포에 포함된 절차의 청사진 또는 단계 목록을 표시합니다.
    ~/terraform apply 이 명령은 스크립트를 실행합니다.

    실행하는 동안 문제가 발생하면 해당하는 오류 메시지가 표시됩니다. 오류를 수정한 후에는 중지된 위치에서 배포를 재개할 수 있습니다.

  5. 다음 단계에 따라 NSX Manager 및 CSM에 대해 생성된 암호를 Terraform 스크립트를 통해 변경합니다.
    1. 스크립트가 성공적으로 실행된 후 NSX Manager 및 CSM에 대한 다음 암호를 기록해 둡니다.
      • admin_password
      • root_password
      이러한 암호는 배포 종료 시 화면에 표시됩니다. 다음과 같이 NSXCloudScripts/cloud-native-deployment/azure/igw/terraform.tfstate 파일의 "outputs" 섹션에서 이러한 암호를 찾을 수도 있습니다.
        "outputs": {
          "csm": {
            "value": {
              "admin_password": "<pwd>",
              "admin_username": "nsxadmin",
              "private_ip": "<private IP>",
              "public_ip": "<public IP>",
              "root_password": "<pwd>"
            },
          "mgrs": {
            "value": [
              {
                "admin_password": "<pwd>",
                "admin_username": "nsxadmin",
                "private_ip": "<private IP",
                "public_ip": "<public IP>",
                "root_password": "<pwd>"
              },
    2. Microsoft Azure에서 NSX Manager 및 CSM에 대해 생성된 네트워크 보안 그룹 <deployment_prefix>-nsx-mgr-sg<deployment_prefix>-nsx-csm-sg로 이동한 후 SSH에 대해 다음과 같은 임시 인바운드 "허용" 규칙을 추가합니다.
      우선 순위 이름 포트 프로토콜 소스 대상 작업
      1010 AllowInboundRuleSSH 22 TCP 임의 임의 허용
    3. 개인 키를 사용하여 NSX Manager 장치에 로그인하고 Terraform 스크립트에서 생성한 암호를 변경합니다.
      $ ssh -i <nsx_mgr_key> nsxadmin@<NSX Manager public IP address>
      WARNING: Your password has expired. 
      You must change your password now and login again!
      Changing password for nsxadmin.
      (current) UNIX password: <Enter mgr_admin_pwd from the Terraform scripts>
      New password: <Enter new password conforming to NSX password complexity>
      Retype new password:
      passwd: password updated successfully
    4. 개인 키를 사용하여 CSM에 로그인하고 Terraform 스크립트에서 생성한 암호를 변경합니다.
      $ ssh -i <nsx_csm_key> nsxadmin@<CSM public IP address>
      WARNING: Your password has expired. 
      You must change your password now and login again!
      Changing password for nsxadmin.
      (current) UNIX password: <Enter csm_admin_pwd from the Terraform scripts>
      New password: <Enter new password conforming to NSX password complexity>
      Retype new password:
      passwd: password updated successfully
  6. 설정한 새 암호를 사용하여 CSM 장치에 로그인하고 다음 NSX CLI 명령을 실행하여 CSM을 NSX Manager 클러스터에 가입시킵니다.
    join <nsx-manager-ip-address & port(optional)> cluster-id <nsx-manager-cluster-id> username <username> password <password> thumbprint <nsx-manager-api-thumbprint> 
    

    CSM UI가 나타나려면 몇 분 정도 걸립니다. CSM 장치 CLI에서 get cluster status 명령을 실행합니다. 상태가 stable인 경우 다음 단계를 계속합니다.

    NSX Manager 노드에서 NSX CLI 명령 get cluster status를 실행하여 cluster-id를 얻을 수 있습니다. 지정된 NSX Manager에서 get certificate api thumbprint 명령을 실행하여 NSX Manager 지문을 가져올 수 있습니다. " NSX 명령줄 인터페이스 참조" 에서 CLI 명령에 대한 자세한 내용을 참조하고 NSX Manager의 지문 가져오기 항목을 참조하십시오.
    참고: CSM 장치에 가입한 NSX Manager 노드가 손실된 경우 이 NSX CLI 명령을 실행하여 정상 상태의 NSX Manager 노드 중 하나에 CSM을 가입시키거나, <deployment_prefix>nsx-mgr-image 이미지 파일을 사용하여 손실된 NSX Manager 노드를 다시 배포할 수 있으며 이 노드가 다시 온라인 상태가 되면 CSM가 이 노드에 자동으로 다시 가입됩니다. 자세한 내용은 " NSX 관리 가이드" 에서 " Microsoft Azure의 nsx_mgr_image에서 NSX Manager 다시 배포" 를 참조하십시오.
  7. CSM을 NSX Manager에 연결하려면 CSM을 NSX Manager에 연결에 설명된 대로 NSX Manager 자격 증명 화면에 세부 정보를 추가합니다.

결과

이 스크립트는 Microsoft Azure 구독에 다음을 배포합니다.
  • NSX Cloud 관리 장치를 호스팅할 VNet. 이 VNet의 이름은 <deployment_prefix>-nsx-mgmt-vnet입니다.
  • NSX Manager 클러스터의 3개 노드가 배포된 가용성 집합. 이 가용성 집합의 이름은 <deployment_prefix>-nsx-aset입니다.
  • <deployment_prefix>nsx-mgmt-rg라는 Microsoft Azure 리소스 그룹.
  • 각 NSX Manager 노드 및 CSM 장치에 대한 다음 리소스:
    1. VM: CSM의 경우 <deployment_prefix>nsx-csm, NSX Manager 클러스터의 경우 <deployment_prefix>nsx-mgr0, <deployment_prefix>nsx-mgr1<deployment_prefix>nsx-mgr2.
    2. 각 VM에 대한 OS 디스크.
    3. 각 VM에 대한 NIC(네트워크 인터페이스).
    4. 각 VM의 공용 IP 주소.
    5. 각 VM에 대한 데이터 디스크.
  • 이러한 장치에 대한 연결을 허용하는 NSX Cloud 관리 구성 요소의 네트워크 보안 그룹.
    • <deployment_prefix>-nsx-mgr-sg:
      표 1. Terraform 스크립트를 사용하여 배포된 NSX Manager에 대한 인바운드 규칙
      우선 순위 이름 포트 프로토콜 소스 대상 작업
      1000 AllowInboundRuleAPI 443 TCP 임의 임의 허용
      표 2. Terraform 스크립트를 사용하여 배포된 NSX Manager에 대한 아웃바운드 규칙
      우선 순위 이름 포트 프로토콜 소스 대상 작업
      100 AllowOutboundRuleAPI 임의 TCP 임의 임의 허용
    • <deployment_prefix>-nsx-csm-sg:
      표 3. Terraform 스크립트를 사용하여 배포된 CSM에 대한 인바운드 규칙
      우선 순위 이름 포트 프로토콜 소스 대상 작업
      1000 AllowInboundRuleAPI 443 TCP 임의 임의 허용
      표 4. Terraform 스크립트를 사용하여 배포된 CSM에 대한 아웃바운드 규칙
      우선 순위 이름 포트 프로토콜 소스 대상 작업
      100 AllowOutboundRuleAPI 80,443 TCP 임의 임의 허용
    참고: 자동으로 생성된 이러한 네트워크 보안 그룹의 Source 필드를 NSX Manager 및 CSM에 액세스하려는 제한된 CIDR 집합으로 업데이트하는 것이 좋습니다. 기본 Any는 안전하지 않습니다.
  • 3개의 NSX Manager 노드와 CSM 장치의 반복 백업을 수행하는 저장소 정책이 포함된 Microsoft Azure Recovery Service Vault입니다. 저장소 정책은 이름이 <deployment_prefix>-nsx-vault이고 기본 백업 스케줄은 UTC로 매일 오후 11시에 반복되도록 설정됩니다.

    복원 옵션에 대한 자세한 내용은 "NSX 관리 가이드" 에서 "Microsoft Azure에서 NSX Manager 및 CSM의 백업 및 복원 관리" 를 참조하십시오.

다음에 수행할 작업

VNet에서 PCG 배포