다음 단계에 따라 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 이상이 설치되어 있어야 합니다.
프로시저
- 계정에 로그인하고 로 이동하여 Terraform 스크립트를 다운로드합니다. 예를 들어, 계정에 로그인한 후 드라이버 및 도구에 대한 다운로드 페이지로 이동합니다.
- NSXCloudScriptsforAddingPublicCloudAccounts.tar.gz 파일 압축을 풉니다. Terraform 스크립트 및 관련 파일은 NSXCloudScripts/cloud-native-deployment/azure/igw 폴더에 있습니다.
- Terraform 구성 파일을 업데이트합니다.
- config.auto.vars에서 다음 정보를 추가합니다.
매개 변수 |
설명 |
subscription_id |
Microsoft Azure 계정에 대한 구독 ID를 제공하십시오. |
location |
NSX Cloud 관리 VNet이 배포될 Microsoft Azure 위치를 지정합니다. |
deployment_prefix |
이것은 자동 생성된 모든 엔티티의 접두사가 되는 배포 이름입니다. 각 Microsoft subscription_id 및 location에 대해 고유한지 확인합니다. |
- credentials_nsx.auto.tfvars에서 다음 정보를 추가합니다.
매개 변수 |
설명 |
mgr_public_key_path |
이것은 NSX Manager 장치에 적용될 공용 키에 대한 경로입니다. |
csm_public_key_path |
이것은 CSM 장치에 적용될 공용 키에 대한 경로입니다. |
license_key |
NSX Manager에 대한 라이센스 키입니다. NSX Enterprise Plus 라이센스가 있어야 합니다. |
- 고급 구성 정보를 확인하고 필요에 따라 advanced_config.auto.tfvars 파일에서 업데이트합니다.
매개 변수 |
설명 |
mgmt_vnet_address_space |
새로 배포된 NSX Cloud 관리 VNet에 대한 주소 공간입니다. |
mgmt_subnet_address_prefix |
NSX Cloud 관리 VNet에 배포된 NSX Cloud 관리 장치의 서브넷입니다. |
- 다음 명령을 지정된 순서대로 실행합니다.
~/terraform init |
이 명령은 배포에 필요한 모든 모듈을 수집합니다. |
~/terraform plan |
이 명령은 배포에 포함된 절차의 청사진 또는 단계 목록을 표시합니다. |
~/terraform apply |
이 명령은 스크립트를 실행합니다. 실행하는 동안 문제가 발생하면 해당하는 오류 메시지가 표시됩니다. 오류를 수정한 후에는 중지된 위치에서 배포를 재개할 수 있습니다. |
- 다음 단계에 따라 NSX Manager 및 CSM에 대해 생성된 암호를 Terraform 스크립트를 통해 변경합니다.
- 스크립트가 성공적으로 실행된 후 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>"
},
- Microsoft Azure에서 NSX Manager 및 CSM에 대해 생성된 네트워크 보안 그룹 <deployment_prefix>-nsx-mgr-sg 및 <deployment_prefix>-nsx-csm-sg로 이동한 후 SSH에 대해 다음과 같은 임시 인바운드 "허용" 규칙을 추가합니다.
우선 순위 |
이름 |
포트 |
프로토콜 |
소스 |
대상 |
작업 |
1010 |
AllowInboundRuleSSH |
22 |
TCP |
임의 |
임의 |
허용 |
- 개인 키를 사용하여 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
- 개인 키를 사용하여 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
- 설정한 새 암호를 사용하여 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 다시 배포" 를 참조하십시오.
- 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 장치에 대한 다음 리소스:
- VM: CSM의 경우 <deployment_prefix>nsx-csm, NSX Manager 클러스터의 경우 <deployment_prefix>nsx-mgr0, <deployment_prefix>nsx-mgr1 및 <deployment_prefix>nsx-mgr2.
- 각 VM에 대한 OS 디스크.
- 각 VM에 대한 NIC(네트워크 인터페이스).
- 각 VM의 공용 IP 주소.
- 각 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의 백업 및 복원 관리" 를 참조하십시오.