PowerShell 명령은 Google Cloud Platform 내의 Compute Engine에 Unified Access Gateway 2103 이상을 배포하는 데 사용됩니다.
권장 운영 체제 및 PowerShell 버전
| 운영 체제 | 권장 OS 버전 | PowerShell 버전 |
|---|---|---|
| Windows | 10 및 11 | 5 및 7 |
| Ubuntu | 20.04, 22.04, 24.04 | 7 |
절차
- 클라이언트 시스템 준비
- Google Cloud Platform 환경 준비
- Unified Access Gateway 이미지를 Google Cloud Platform에 업로드
- Google Cloud Platform에 배포할
.ini파일 준비 - Compute Engine에 배포
1단계: PowerShell 배포를 위해 클라이언트 시스템 준비
클라이언트 시스템에 Google Cloud 유틸리티를 설치합니다.
-
gsutil를 설치합니다. Windows 및 Ubuntu에gsutil도구를 설치하는 방법에 대한 지침은 Google Cloud 설명서에서 Google Cloud CLI의 일부로 gsutil 설치를 참조하십시오. -
Windows 시스템의 경우 관리 권한으로 다음 PowerShell 명령을 실행합니다.
Install-Package 7Zip4PowerShell
2단계: Google Cloud Platform 환경 준비
Google Cloud 프로젝트를 사용합니다. 이 프로젝트는 VPC 네트워크, 해당 서브넷 네트워크 및 방화벽 규칙으로 구성되어야 합니다. 자세한 내용은 Google Cloud 설명서를 참조하십시오.
전제 조건
- Google Cloud Platform 개념을 알고 있는지 확인합니다.
- Google Cloud 프로젝트에서 이미지, VPC 네트워크, 서브넷, 방화벽 규칙 등과 같은 리소스를 생성하거나 수정하는 데 필요한 사용 권한이 있는지 확인합니다.
- Compute Engine API를 사용하도록 설정해야 합니다.
절차
-
Google Cloud 프로젝트를 사용합니다.
옵션 조치 새 프로젝트 - Google Cloud Console에서 프로젝트 선택기 페이지로 이동합니다.
- Google Cloud 프로젝트를 생성합니다.
기존 프로젝트 프로젝트를 이미 사용할 수 있고 활성 상태인 경우 기존 프로젝트를 사용할 수 있습니다. -
각 NIC에 대해 VPC(Virtual Private Cloud) 네트워크를 생성합니다.
Unified Access Gateway의 각 NIC는 고유한 VPC 네트워크와 해당 네트워크 내의 서브넷을 사용합니다.
VPC 네트워크를 생성하지 않도록 선택하면 단일 NIC Unified Access Gateway를 배포할 수 있습니다. Compute Engine에 배포된 Unified Access Gateway 장치는 Google Cloud Platform에서 사용할 수 있는 기본 VPC 네트워크를 사용합니다.
예를 들어 다음 이미지에서는 Google Cloud Console에 두 개의 VPC 네트워크
uag-front-vpc및uag-back-vpc가 생성됩니다. 이러한 VPC 네트워크에는 각각 서브넷으로uag-front-network및uag-back-network가 있습니다. 두 NIC 장치를 배포할 수 있는 Unified Access Gateway는 프런트엔드 인터넷 연결에 대해 이러한 두 서브넷을 사용하고 백엔드 연결을 위해 별도의 서브넷 네트워크를 사용합니다.
참고: 공유 VPC 네트워크로 Unified Access Gateway를 구성할 수도 있습니다. 이 경우 서비스 프로젝트에 배포된 Unified Access Gateway 인스턴스는 호스트 프로젝트에서 생성 및 관리되는 공유 VPC 네트워크에 연결됩니다. Unified Access Gateway의 각 NIC(네트워크 인터페이스)는 공유 VPC 네트워크 또는 로컬 VPC 네트워크를 사용하도록 독립적으로 구성할 수 있습니다. 자세한 내용은 Google Cloud 설명서에서 공유 VPC 구성을 참조하십시오.
-
생성한 서브넷 이름을 기록해 둡니다.
PowerShell을 사용하여 Unified Access Gateway를 배포하는 동안 VPC 네트워크 내의 서브넷 이름이
.ini파일에 사용됩니다. -
인터넷 액세스 가능 VPC의 Unified Access Gateway 장치에 대한 TCP 및 UDP 포트 액세스를 허용하려면 필요한 수의 방화벽 항목을 생성합니다.
중요사항: 인터넷에서 TCP 포트 22의 Unified Access Gateway에 대한 SSH 원격 액세스를 방화벽에서 신중하게 제한해야 합니다. SSH 액세스가 필요한 경우 방화벽 규칙은 특정 소스 IP 주소에서만 이러한 액세스를 허용하거나 액세스를 제어할 수 있는 클라우드의 Jumpbox 가상 시스템에서 이러한 액세스를 허용해야 합니다.
예를 들어 다음 Google Cloud Console 이미지에서
uag-horizon-protocols라는 방화벽 규칙이 인터넷 연결 VPC 네트워크uag-front-vpc에 생성됩니다. 이 방화벽 규칙은uag-front-vpc네트워크에 연결된 모든 인스턴스에 적용되며 공용 인터넷의 지정된 포트에서 인바운드 TCP 및 UDP 트래픽을 허용합니다.
3단계: Unified Access Gateway 이미지를 Google Cloud Platform에 업로드
Unified Access Gateway 인스턴스를 Compute Engine에 배포하려면 Unified Access Gateway 장치 디스크 이미지를 Google Cloud Platform에 업로드해야 합니다.
-
Omnissa Customer Connect에서 vSphere, AWS 및 Google Cloud용 UAG(Unified Access Gateway) 파일로 이동한 후 지금 다운로드를 클릭합니다.
zip 파일euc-unified-access-gateway-x.x.x.xxxxxxxxx.ova이(가) 로컬 시스템에 다운로드됩니다. -
PowerShell 명령 창을 열고 다음 명령을 실행하여 이전에 다운로드한
.ova파일에서.vmdk파일을 추출합니다.- ova-filename은 Customer Connect에서 다운로드한
.ova이미지 파일입니다. - target-location은
.vmdk파일이 추출된 위치입니다.
Windows Ubuntu
예를 들어expand-7zip ova-filename target-locationeuc-unified-access-gateway-22.12.0.0-42741890_OVF10.ova는 다운로드된 파일입니다. 여기서22-12는 버전 번호이고42741890은 빌드 번호입니다..vmdk파일을C:\temp로 추출하려면 다음 명령을 실행합니다.expand-7zip C:\temp\euc-unified-access-gateway-22.12.0.0-42741890_OVF10.ova C:\temp\
예를 들면 다음과 같습니다.tar -xvf ova-filenametar -xvf euc-unified-access-gateway-22.12.0.0-42741890_OVF10.ova - ova-filename은 Customer Connect에서 다운로드한
-
다음 변수를 설정합니다.
- $gcImageFile은 2단계에서 추출된
.vmdk파일의 파일 이름입니다. - $gcImageFolder는
.vmdk파일의 폴더 경로입니다. 예:
$gcImageFolder="C:\temp" $gcImageFile="euc-unified-access-gateway-22.12.0.0-42741890-system.vmdk" $gcBucket="uag-appliance-images" $gcImageName=$gcImageFile.Replace("-system.vmdk","").Replace(".", "-") gcloud auth login gcloud config set project "my-project" - $gcImageFile은 2단계에서 추출된
-
Google Cloud 스토리지 버킷을 생성합니다.
참고: 다른 Google Cloud 프로젝트에서 호스팅되는 계산 이미지로 Unified Access Gateway를 배포할 수도 있습니다. 이 경우 Unified Access Gateway 배포 중에 계산 이미지 이름($gcImageName) 및 호스팅 프로젝트 ID를 지정합니다.
동일한 프로젝트에서 스토리지 버킷을 생성하려면 이 명령을 실행합니다.
gsutil mb -l us-east1 gs://$gcBucket다른 프로젝트에서 스토리지 버킷을 생성하려면 이 명령을 실행합니다.
gsutil mb -l us-east1 gs://$gcBucket -p my-image-hosting-project -
다음 명령을 사용하여
.vmdk이미지를 Google Cloud 스토리지 버킷에 업로드합니다.gsutil cp $gcImageFolder\$gcImageFile gs://$gcBucket -
업로드된
.vmdk에서 Compute Engine에 장치 이미지를 생성합니다.동일한 프로젝트에 이미지를 가져오려면 이 명령을 실행합니다.
gcloud compute images import $gcImageName --source-file gs://$gcBucket/$gcImageFile --data-disk다른 프로젝트에 이미지를 가져오려면 이 명령을 실행합니다.
gcloud compute images import $gcImageName --source-file gs://$gcBucket/$gcImageFile --data-disk --project my-image-hosting-project참고: 계산 이미지를 가져올 때 가져오기 도구에서 생성된 임시 VM에 사용할 서브넷을 지정할 수 있습니다. 다음 예제와 같이 플래그
--subnet을 사용합니다.gcloud compute images import $gcImageName --source-file gs://$gcBucket/$gcImageFile --data-disk --subnet default이러한 명령에 대한 자세한 내용은 Google Cloud SDK 설명서를 참조하십시오.
이전 단계에서 언급한 예를 고려할 때 Compute Engine에 생성된 장치 이미지는
euc-unified-access-gateway-22-12-0-0-42741890입니다. 여기서22-12는 버전 번호이고42741890은 빌드 번호입니다.
4단계: Google Cloud Platform에 배포할 .ini 파일 준비
Unified Access Gateway에 대한 Compute Engine PowerShell 배포 스크립트는 .ini 구성 파일에서 모든 구성 설정을 읽습니다. 이 섹션에서는 .ini 파일 형식에 대해 설명하고 배포에 사용할 수 있는 설정의 예를 보여 줍니다.
.ini 파일의 섹션 대부분은 다른 모든 하이퍼바이저 배포에 대해 지원되는 Unified Access Gateway의 표준 .ini 설정과 동일합니다. .ini 파일에 대한 자세한 내용은 PowerShell을 사용하여 Unified Access Gateway 장치 배포 섹션을 참조하십시오.
-
[일반] 섹션에서 필요한 설정을 구성합니다. PowerShell 배포 매개 변수를 참조하십시오.
참고: Google Cloud Platform 배포의 경우 [일반] 섹션의 다음 설정이 사용되지 않습니다.
diskModedsfoldernetInternetnetManagementNetworknetmask0,netmask1,netmask2netBackendNetworksourcetargetip0,defaultGateway,netmask0,ipmode0v6ip0,v6ipprefix0,v6DefaultGateway
-
.ini파일에서 새 그룹 [GoogleCloud] 및 Google Cloud Platform과 관련된 필요한 설정을 추가합니다.
다음 표에는 Google Cloud Platform 배포에 필요한 설정(값 이름)이 나열되어 있습니다.
| 그룹 | 값 이름 | 예 | 설명 | 필수/선택 사항 |
|---|---|---|---|---|
| [GoogleCloud] | projectId | projectId=my-project | 새 Unified Access Gateway 인스턴스를 생성하는 데 사용되는 Google Cloud Platform 프로젝트 ID입니다. 프로젝트 ID가 제공되지 않으면 클라우드 SDK의 활성 구성을 사용한 프로젝트가 사용됩니다. | 선택 사항 |
| imageName | imageName=euc-unified-access-gateway-22-12-0-0-42741890 | 새 인스턴스를 생성해야 하는 Compute Engine의 가져온 장치 이미지의 이름입니다. | 필수 | |
| imageProjectId | imageProjectId= (image-host-project) | 계산 이미지 imageName을 호스팅하는 프로젝트입니다. 지정하지 않으면 계산 이미지를 조회하는 데 기본 projectId가 사용됩니다. | 선택 사항 | |
| machineType | machineType=e2-standard-4 | Compute Engine 시스템 유형을 나타냅니다.
machineType의 기본값은 e2-standard-4입니다.
참고: 지정된 machineType이 필요한 Unified Access Gateway NIC 수에 적합한지 확인합니다.
예: e2-standard-2는 1개의 NIC 또는 2개의 NIC 배포를 지원하지만 3개의 NIC는 지원하지 않습니다. 자세한 내용은 Google Cloud 설명서에서 최대 네트워크 인터페이스 수를 참조하십시오. | 선택 사항 | |
| zone | zone=us-central1-a | Unified Access Gateway 인스턴스가 새로 생성되는 Compute Engine 영역입니다. zone 값이 제공되지 않으면 클라우드 SDK의 활성 구성을 사용하는 영역이 사용됩니다. | 선택 사항 | |
| subnet0 subnet1 subnet2 | subnet0=custom-subnet | Unified Access Gateway의 eth0, eth1 및 eth2 NIC를 생성해야 하는 서브넷입니다.
다음은 deploymentOption의 값과 사용된 해당 서브넷입니다.
| 2개의 NIC 또는 3개의 NIC 배포에서 서브넷 값 중 하나만 선택 사항일 수 있습니다. | |
| vpcHostProjectId | vpcHostProjectId= (shared-vpc-host-project) | Unified Access Gateway NIC가 공유 VPC에서 구성된 경우 호스트 프로젝트 역할을 하는 프로젝트입니다. 공유 VPC에서 지정된 서브넷을 구성하려면 sharedVpcForSubnet<n> 플래그를 true로 설정합니다. 여기서 n은 NIC 번호입니다. | 선택 사항 | |
| sharedVpcForSubnet0 sharedVpcForSubnet1 sharedVpcForSubnet2 | | vpcHostProjectId를 지정한 경우 이 플래그는 지정된 서브넷이 공유 VPC에서 생성되었는지 여부를 나타냅니다. vpcHostProjectId를 지정하지 않으면 이 필드는 무시됩니다. 기본값은 false입니다. | 선택 사항 | |
| privateIPAddress0 privateIPAddress1 privateIPAddress2 | privateIPAddress0=10.30.11.213 | NIC의 내부 IP 주소입니다.
이 설정은 Unified Access Gateway의 eth0, eth1 및 eth2를 Google Cloud의 VPC 네트워크에서 고정 내부 IP 주소로 연결하는 데 사용할 수 있습니다.
privateIPAddress 값을 제공하지 않으면 Compute Engine은 해당 NIC를 동적 내부 IP 주소와 연결합니다.
예: 두 NIC 배포 고려
| 선택 사항 | |
| publicIPAddress0 publicIPAddress1 publicIPAddress2 |
publicIPAddress0=eipalloc-027afa45f34984c87
publicIPAddress1=no-address | NIC의 외부 IP 주소
이 설정은 Unified Access Gateway의 eth0, eth1 및 eth2를 Google Cloud의 VPC 네트워크에서 예약된 외부 IP 주소로 연결하는 데 사용할 수 있습니다.
publicIPAddress 값을 제공하지 않으면 Compute Engine은 해당 NIC를 동적 외부 IP 주소와 연결합니다.
NIC가 외부 IP 주소와 연결되지 않도록 하려면 no-address를 값으로 사용합니다.
이 예에서는 세 NIC 배포를 고려합니다.
| 선택 사항 | |
| labels | labels=label0=value0,label1=value1 | Unified Access Gateway 인스턴스와 연결된 레이블입니다.
기본적으로 name=$uagName 레이블은 PowerShell 스크립트에 의해 Unified Access Gateway 인스턴스와 연결됩니다. | 선택 사항 | |
| tags | tags=tag0,tag1 | Unified Access Gateway 인스턴스와 연결된 태그입니다.
기본적으로 https-server 태그는 PowerShell 스크립트에 의해 Unified Access Gateway 인스턴스와 연결됩니다. | 선택 사항 | |
| serviceAccount | serviceAccount=51841023978-compute@prod.gserviceaccount.com | 서비스 계정은 Unified Access Gateway 인스턴스에 연결된 ID입니다. 서비스 계정의 액세스 토큰은 Unified Access Gateway 인스턴스 메타데이터 서버를 통해 액세스할 수 있으며 인스턴스에서 애플리케이션을 인증하는 데 사용됩니다. 필수 서비스 계정에 해당하는 이메일 주소를 사용하여 계정을 설정할 수 있습니다. 서비스 계정이 제공되지 않으면 Unified Access Gateway 인스턴스는 프로젝트의 기본 서비스 계정을 사용합니다. | 선택 사항 |
예 1: Google Cloud Platform에 Unified Access Gateway를 배포하기 위한 INI 파일 정의
[General]
name=uag1
deploymentOption=onenic
sshEnabled=true
[GoogleCloud]
projectId=my-project
imageName=euc-unified-access-gateway-22-12-0-0-42741890
zone=us-central1-a
subnet0=uag-front-network
[Horizon]
proxyDestinationUrl=https://myhorizon.example.com
예 2: Google Cloud Platform에 Unified Access Gateway를 배포하기 위한 INI 파일 정의
[General]
name=uag2
deploymentOption=twonic
sshEnabled=true
routes1=10.20.0.0/16 10.2.0.1
[GoogleCloud]
projectId=my-project
imageName=euc-unified-access-gateway-22-12-0-0-42741890
imageProjectId=my-image-hosting-project
zone=us-central1-a
vpcHostProjectId=my-sharedvpc-host-project
subnet0=uag-front-network
sharedVpcForSubnet0=true
subnet1=uag-back-network
sharedVpcForSubnet1=false
[Horizon]
proxyDestinationUrl=https://myhorizon.example.com
5단계: Compute Engine에 배포
uagdeploygce.ps1 PowerShell 명령을 사용하여 Unified Access Gateway를 Compute Engine에 배포할 수 있습니다. 이 명령은 .ini 파일의 모든 구성 설정을 가져오고 Unified Access Gateway 인스턴스를 배포합니다.
Compute Engine의 기존 인스턴스가 .ini 파일의 일반 섹션에 지정된 것과 동일한 이름을 갖는 경우 PowerShell 스크립트는 배포 중에 기존 인스턴스를 제거하고 동일한 이름으로 새 Unified Access Gateway 인스턴스를 생성합니다. 이렇게 바꾸면 Unified Access Gateway 장치를 업그레이드하거나 업데이트된 설정으로 장치를 다시 배포하는 데 도움이 됩니다.
-
Omnissa Customer Connect에서 UAG(Unified Access Gateway) PowerShell 스크립트 파일로 이동한 후 지금 다운로드를 클릭합니다.
zip 파일uagdeploy-xx.xx.x.x-xxxxxxxx이(가) 로컬 시스템에 다운로드됩니다. -
zip 파일에서 파일의 압축을 풉니다. 시스템에 다음 PowerShell 스크립트가 있는지 확인합니다.
Windows 시스템의uagdeploygce.ps1및uagdeploy.psm1. -
PowerShell 명령 창을 시작하고 디렉토리를 다운로드한 스크립트가 포함된 폴더로 변경합니다.
-
Unified Access Gateway를 Compute Engine에 배포하려면 다음을 수행합니다.
-
최신 버전의 Unified Access Gateway로 업그레이드하는 경우
.ini파일을 편집하여imageName설정을 이전 작업 중 하나에서 Compute Engine으로 업로드된 새 이미지 이름으로 업데이트합니다..ini파일의 다른 모든 구성 매개 변수는 동일하게 유지되어야 합니다. -
대화형 모드를 선택하는지 또는 비대화형 모드를 선택했는지에 따라 다음 명령을 실행합니다.
모드 명령 대화형
<ini-filename>은 이전 작업에서 준비된.\uagdeploygce.ps1 <ini-filename>.ini.ini파일의 이름입니다. 예:.\uagdeploygce.ps1 uag1.iniuag1.ini는 이전 작업에 사용된 파일 이름입니다.비대화형 .\uagdeploygce.ps1 <ini-filename> <root-pwd> <admin-pwd> <ceip-yes-no>
.\uagdeploygce.ps1 <ini-filename> <secret> <admin-pwd> yes- <ini-filename>은 이전 작업에서 준비된
.ini파일의 이름입니다. - 명령에 표시된 것처럼 명령줄에 암호를 지정한 경우 Unified Access Gateway를 배포한 후
Clear-HistoryPowerShell 명령을 사용합니다. - 암호가 약한 경우 배포가 실패합니다. 암호는 ! @ # $ % * ( ) 문자 중 하나를 포함해야 합니다.
uagdeploygce.ps1명령을 다시 실행하면 이전 Unified Access Gateway 인스턴스와 연결된 리소스가 삭제되고 이름이 같은 새 인스턴스로 대체됩니다. 첫 번째 부팅 시 Unified Access Gateway 장치를 운영 환경에서 사용할 준비가 되도록 새.ini파일에 필요한 모든 구성 매개 변수가 있어야 합니다. - <ini-filename>은 이전 작업에서 준비된
-
루트 사용자 및 관리자 암호 요구 사항에 대한 자세한 내용은 암호 요구 사항을 참조하십시오.
다음에 수행할 작업
Unified Access Gateway가 Compute Engine에 배포되고 모든 설정이 적용되면 Google Cloud에서 Unified Access Gateway 장치의 구성 설정을 적용하는 데 사용되는 메타데이터를 제거해야 합니다. 메타데이터를 제거하려면 예제와 같이 다음 명령을 사용합니다.
$uagName=uag1
$zone=us-central1-a
$projectId=my-project
gcloud compute instances remove-metadata $uagName --zone=$zone --project $projectId --keys "user-data"
이 페이지가 도움이 되었나요?