Active Directory 리소스 포리스트 배포

이 시리즈는 관리형 Microsoft AD를 사용하여 Google Cloud에 Active Directory 리소스 포리스트를 배포하는 과정을 안내합니다. 다음 작업을 수행하는 방법을 배우게 됩니다.

  • 여러 프로젝트에서 관리형 Microsoft AD에 액세스하고 포리스트 트러스트를 사용하여 관리형 Microsoft AD를 온프레미스 Active Directory에 연결할 수 있는 공유 VPC를 설정합니다.
  • 승인되지 않은 소스로부터 Active Directory에 대한 액세스를 보호하는 방화벽 규칙을 구성하세요.
  • 단일 리전에 관리형 Microsoft AD를 배포하고 기존 공유 VPC에 연결합니다.
  • 관리 VM을 만들어 도메인에 가입합니다.
  • 위임된 관리자를 사용하여 관리형 Microsoft AD에 연결하세요.

아키텍처 개요

여러 프로젝트의 VM이 Active Directory를 사용하도록 허용하려면 공유 VPC와 3개의 개별 서브넷이 필요합니다.

  • 관리형 Microsoft AD 서브넷: 관리형 Microsoft AD에서 도메인 컨트롤러를 실행하는 데 사용됩니다.
  • 관리 서브넷: Active Directory 관리 목적으로만 사용되는 머신을 포함합니다.
  • 리소스 서브넷 : Active Directory 구성원 서버(예: 애플리케이션 또는 데이터베이스 서버)가 있습니다. 각 리소스 서브넷의 범위는 단일 리전입니다. 이 가이드에서는 단일 리소스 서브넷만 만들지만 나중에 여러 리전에 서버를 배포하려는 경우 추가 리소스 서브넷을 추가할 수 있습니다.

배포 개요

보안 위험을 줄이기 위해 인터넷 액세스가 없는 내부 RFC 1918 IP 주소를 사용하여 관리 VM을 배포합니다. VM 인스턴스에 로그인하려면 IAP TCP 터널링을 사용합니다.

관리 및 서버에 별도의 프로젝트를 사용하는 권장사항에 따라 두 개의 별도 프로젝트를 만듭니다.

  • VPC 호스트 프로젝트: 공유 VPC 구성 및 관리형 Microsoft AD가 포함되어 있습니다.
  • 관리 프로젝트: 관리형 Active Directory 전용입니다. 이 프로젝트에서 관리 VM을 만들고 이를 사용하여 Active Directory를 구성합니다.

시작하기 전에

이 가이드에서는 Google Cloud 조직을 사용해야 하는 공유 VPC를 사용합니다. 조직이 없으면 먼저 하나를 만듭니다. 또한 일부 설정 작업에는 관리 역할이 필요합니다. 계속하기 전에 다음 IAM 역할이 부여되었는지 확인하세요.

이 문서에서는 Google Cloud CLI가 설치된 Windows 머신을 사용한다고 가정합니다. 다른 운영체제를 사용하는 경우 일부 단계를 조정해야 합니다.

마지막으로 시작하기 전에 다음 정보를 수집하세요.

  • VPC 호스트 프로젝트관리 프로젝트의 프로젝트 이름 이 두 프로젝트는 배포에서 중앙 역할을 수행하므로 쉽게 알아볼 수 있는 이름을 선택하고 회사 이름 지정 규칙을 따릅니다.
  • VPC 호스트 프로젝트관리 프로젝트를 만들기 위한 폴더. 적합한 폴더가 없는 경우 기능 간 리소스를 위한 별도의 하위 폴더 및 Active Directory와 같은 서비스를 만드는 것이 좋습니다.
  • 새 Active Directory 포리스트의 포리스트 루트 도메인에 사용할 DNS 도메인 이름입니다.
  • 리소스를 배포할 초기 리전. 일부 리전에만 관리형 Microsoft AD를 배포할 수 있습니다(이는 VPC가 있는 모든 리전에서 사용 가능한 도메인의 일반 가용성에 영향을 미치지 않음). 어느 리전이 니즈에 가장 적합한지 확실하지 않은 경우 리전 선택 권장사항을 참조하세요. 나중에 추가 리전으로 배포를 확장할 수 있습니다.
  • 생성할 공유 VPC의 이름입니다. VPC가 여러 프로젝트에서 공유되므로 인식하기 쉬운 이름을 선택해야 합니다.
  • 서브넷 범위는 다음 조건을 충족해야 합니다.

    • 관리형 Microsoft AD 서브넷: 크기가 /24 이상이어야 합니다.
    • 관리 서브넷: 모든 관리 서버를 수용해야 합니다. 크기가 /28 이상인 서브넷 범위가 권장됩니다.
    • 리소스 서브넷: 초기 리전에 배포하려는 모든 서버를 수용할 수 있도록 이 서브넷의 크기를 조정하세요.

    서브넷이 온프레미스 서브넷과 겹치지 않도록 하고 충분한 공간을 확보하세요.

비용

이 가이드는 Compute Engine, Cloud DNS, Google Cloud Observability를 포함하여 Google Cloud의 청구될 수 있는 구성요소를 사용합니다. 가격 계산기를 참조하여 이 가이드를 완료하는 비용을 계산해 보세요. 배포와 관련된 다른 리소스를 반드시 포함하세요.

VPC 네트워킹 설정

VPC 호스트 프로젝트 만들기

VPC 호스트 프로젝트는 공유 VPC를 만들고 서브넷, 방화벽 규칙, 경로와 같은 네트워크 관련 구성을 관리하는 데 사용됩니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지를 엽니다.

    리소스 관리 페이지 열기

  2. 왼쪽 상단의 조직 드롭다운 목록에서 조직을 선택합니다.

  3. 프로젝트 만들기를 클릭하고 다음 설정을 입력하세요.

    1. 프로젝트 이름: 프로젝트 이름으로 선택한 ID입니다.
    2. 결제 계정: 결제 계정
    3. 위치: 프로젝트를 만들 폴더
  4. 만들기를 클릭합니다.

실수로 인한 삭제로부터 프로젝트 보호

프로젝트를 삭제하면 프로젝트 내에 배포된 관리형 Microsoft AD 도메인도 삭제됩니다. IAM 정책을 사용하여 프로젝트에 대한 액세스 권한을 제한하는 것 외에도 실수로 인한 삭제로부터 프로젝트를 보호해야 합니다.

  1. Google Cloud 콘솔에서 Cloud Shell을 엽니다. Cloud Shell은 Google Cloud 콘솔의 명령줄에 대한 액세스 권한을 제공하며 Google Cloud CLI 및 Google Cloud 관리에 필요한 기타 도구를 포함합니다. Cloud Shell은 프로비저닝하는 데 몇 분 정도 걸릴 수 있습니다.
    Cloud Shell 활성화

  2. VPC 호스트 프로젝트의 조직 이름과 프로젝트 ID를 포함하도록 변수를 초기화하세요.

    ORG_NAME=[ORG-NAME] \
    VPCHOST_PROJECT_ID=[PROJECT-ID]
    

    조직 이름으로 [ORG-NAME]을 바꾸고 VPC 호스트 프로젝트의 ID로 [PROJECT-ID]를 바꾸세요. 예를 들면 다음과 같습니다.

    ORG_NAME=example.com
    VPCHOST_PROJECT_ID=ad-host-123
    
  3. 다음 명령어를 실행하여 조직의 ID를 찾아 ORG-NAME을 조직 이름(예: example.com)으로 바꾸세요.

    ORG_ID=$(gcloud organizations list \
      --filter="DISPLAY_NAME=$ORG_NAME" \
      --format=value\(ID\)) && \
    echo "ID of $ORG_NAME is $ORG_ID"
    
  4. 조직에 compute.restrictXpnProjectLienRemoval 정책을 시행하세요.

    gcloud resource-manager org-policies enable-enforce \
      --organization $ORG_ID compute.restrictXpnProjectLienRemoval
    

기본 VPC 삭제

Compute Engine은 사용자가 만드는 각 프로젝트에서 default VPC를 만듭니다. 이 VPC는 자동 모드로 구성됩니다. 즉, 서브넷이 각 리전에 사전 할당되며 서브넷 범위가 자동으로 할당됩니다.

VPC를 온프레미스 네트워크에 연결하려는 경우 Compute Engine이 자동 모드에서 사용하는 사전 정의된 IP 범위는 니즈에 맞지 않을 수 있습니다. 기존 IP 범위와 겹치거나 크기가 적절하지 않을 수 있습니다. 기본 VPC를 삭제하고 커스텀 모드 VPC로 바꿔야 합니다.

  1. 기존 Cloud Shell 세션으로 돌아갑니다.

  2. VPC 호스트 프로젝트에서 Compute Engine API를 사용 설정합니다.

    gcloud services enable compute.googleapis.com --project=$VPCHOST_PROJECT_ID
    
  3. default VPC와 관련된 모든 방화벽 규칙을 삭제하세요.

    gcloud compute firewall-rules list \
      --filter="network=default" \
      --project=$VPCHOST_PROJECT_ID \
      --format=value\(name\) | \
    xargs gcloud compute firewall-rules delete \
      --project=$VPCHOST_PROJECT_ID
    
  4. 기본 VPC를 삭제하세요.

    gcloud compute networks delete default --project=$VPCHOST_PROJECT_ID
    

공유 VPC 및 서브넷 만들기

default VPC가 삭제되면 이제 커스텀 VPC를 만들 수 있습니다(나중에 이를 공유 VPC로 전환함).

  1. 기존 Cloud Shell 세션으로 돌아갑니다.

  2. VPC 이름, 초기 리전, 서브넷 범위에 대한 변수를 만듭니다.

    SHAREDVPC_NAME=[NAME] \
    SUBNET_REGION=[REGION] \
    SUBNET_RANGE_MANAGEMENT=[MANAGEMENT-RANGE] \
    SUBNET_RANGE_RESOURCES=[RESOURCES-RANGE] \
    SUBNET_RANGE_MANAGEDAD=[MANAGED-AD-RANGE] \
    SUBNET_RANGE_ONPREMAD=[ONPREM-AD-RANGE]
    

    자리표시자 변수를 다음으로 바꾸세요.

    • 이름이 [NAME]와 같은 ad-network-env-test.
    • Active Directory 도메인 컨트롤러를 배포할 리전이 있는 [REGION] 언제든지 추가 리전을 포함하도록 VPC와 도메인을 확장할 수 있습니다.
    • 관리 서브넷에 사용할 서브넷 범위가 있는 [MANAGEMENT-RANGE]
    • 리소스 서브넷에 사용할 서브넷 범위가 있는 [RESOURCES-RANGE]
    • 관리형 Microsoft AD 서브넷에 사용할 서브넷 범위가 있는 [MANAGED-AD-RANGE]
    • 온프렘 AD 서브넷에 사용할 서브넷 범위가 있는 [ONPREM-AD-RANGE]

    예를 들면 다음과 같습니다.

    SHAREDVPC_NAME=ad-network \
    SUBNET_REGION=us-central1 \
    SUBNET_RANGE_MANAGEMENT=10.0.0.0/24 \
    SUBNET_RANGE_RESOURCES=10.0.1.0/24 \
    SUBNET_RANGE_MANAGEDAD=10.0.2.0/24 \
    SUBNET_RANGE_ONPREMAD=192.168.0.0/24
    
  3. VPC 호스트 프로젝트를 사용 설정하여 공유 VPC를 호스팅하세요.

    gcloud compute shared-vpc enable $VPCHOST_PROJECT_ID
    
  4. 새로운 커스텀 모드 VPC 네트워크를 만듭니다.

    gcloud compute networks create $SHAREDVPC_NAME \
        --subnet-mode=custom \
        --project=$VPCHOST_PROJECT_ID
    
  5. 관리 및 리소스 서브넷을 만들고 비공개 Google 액세스를 사용 설정하면 VM에 직접 인터넷 액세스 권한을 부여하지 않고도 Windows를 정품 인증할 수 있습니다.

    gcloud compute networks subnets create $SUBNET_REGION-management \
      --network=$SHAREDVPC_NAME \
      --range=$SUBNET_RANGE_MANAGEMENT \
      --region=$SUBNET_REGION \
      --enable-private-ip-google-access \
      --project=$VPCHOST_PROJECT_ID && \
    gcloud compute networks subnets create $SUBNET_REGION-resources \
      --network=$SHAREDVPC_NAME \
      --range=$SUBNET_RANGE_RESOURCES \
      --region=$SUBNET_REGION \
      --enable-private-ip-google-access \
      --project=$VPCHOST_PROJECT_ID
    

공유 VPC 보안

VPC 호스트 프로젝트에는 이제 두 개의 서브넷이 있는 공유 VPC가 포함됩니다. 이 공유 VPC에 서비스 프로젝트를 연결하면 공유 VPC를 여러 프로젝트에서 사용할 수 있습니다.

서비스 프로젝트 구성원에게 공유 VPC의 모든 서브넷 사용 권한을 부여하는 대신 서브넷별로 액세스 권한을 부여해야 합니다.

보안상의 이유로 소규모 관리 직원 그룹에만 관리 서브넷에 액세스할 수 있는 권한을 부여하세요. 이렇게 하면 서브넷이 Active Directory를 관리하는 데만 사용됩니다. 리소스 서브넷에 보다 관대한 액세스 제어를 적용할 수 있습니다.

방화벽 규칙 만들기

Active Directory를 배포하기 전에 이를 관리하고 사용할 수 있는 방화벽 규칙을 만들어야 합니다.

  1. 기존 Cloud Shell 세션으로 돌아갑니다.

  2. 모든 실패한 액세스 시도가 로깅되도록 인그레스 트래픽에 방화벽 로깅을 사용 설정하세요.

    gcloud compute firewall-rules create deny-ingress-from-all \
        --direction=INGRESS \
        --action=deny \
        --rules=tcp:0-65535,udp:0-65535 \
        --enable-logging \
        --source-ranges=0.0.0.0/0 \
        --network=$SHAREDVPC_NAME \
        --project=$VPCHOST_PROJECT_ID \
        --priority 65000
    
  3. 관리 서브넷에 배포된 전용 관리 서버를 사용하여 Active Directory를 관리합니다. 이 서버는 외부 IP 주소 없이 배포되므로 IAP TCP 전달을 사용하여 서버에 연결해야 합니다.

    IAP에서 RDP 인그레스를 허용하려면 다음 방화벽 규칙을 만듭니다.

    gcloud compute firewall-rules create allow-rdp-ingress-from-iap \
      --direction=INGRESS \
      --action=allow \
      --rules=tcp:3389 \
      --enable-logging \
      --source-ranges=35.235.240.0/20 \
      --network=$SHAREDVPC_NAME \
      --project=$VPCHOST_PROJECT_ID \
      --priority 10000
    

이제 공유 VPC를 관리형 Microsoft AD 배포에 사용할 수 있습니다.

Active Directory 배포

관리형 Microsoft AD는 Active Directory 도메인 컨트롤러의 프로비저닝과 유지보수를 처리합니다. 다음 역할은 도메인 컨트롤러에 배포됩니다.

  • Active Directory 도메인 서비스
  • DNS

도메인 컨트롤러는 프로젝트 외부에 배포되며 프로젝트의 VM 인스턴스로 표시되지 않습니다. 사용하려는 도메인 컨트롤러를 사용할 수 있게 하도록 관리형 Microsoft AD를 배포할 때 프로젝트에 다음과 같은 변경사항이 적용됩니다.

  • VPC 피어링이 VPC에 추가됩니다. 그러면 VPC가 도메인 컨트롤러가 포함된 서비스 VPC에 연결됩니다.
  • 프로젝트에 Cloud DNS 비공개 DNS 피어 영역이 생성되었습니다. Active Directory 도메인과 일치하는 DNS 쿼리를 관리형 Microsoft AD의 일부로 실행되는 DNS 서비스로 전달합니다.

공유 VPC를 사용하고 있으므로 모든 서비스 프로젝트에서 Active Directory를 사용할 수 있으려면 VPC 호스트 프로젝트에 관리형 Microsoft AD를 배포해야 합니다.

Active Directory 포리스트 및 도메인 만들기

가이드의 이전 부분에서 만든 VPC 호스트 프로젝트에서 관리형 Microsoft AD를 배포하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Cloud Shell로 돌아갑니다.

  2. 만들 새 Active Directory 포레스트의 포레스트 루트 도메인 이름을 포함하도록 변수를 초기화합니다. 이름 선택에 대한 지침은 Microsoft 이름 지정 규칙을 참조하세요.

    AD_DNS_DOMAIN=[AD-DNS-NAME]
    

    예를 들면 다음과 같습니다.

    AD_DNS_DOMAIN=cloud.example.com
    
  3. VPC 호스트 프로젝트에서 Cloud DNS를 사용 설정합니다.

    gcloud services enable dns.googleapis.com --project $VPCHOST_PROJECT_ID
    
  4. VPC 호스트 프로젝트에서 관리형 Microsoft AD API를 사용 설정합니다.

    gcloud services enable managedidentities.googleapis.com --project $VPCHOST_PROJECT_ID
    
  5. 도메인 컨트롤러를 프로비저닝하고 새 포리스트를 만듭니다.

    gcloud active-directory domains create $AD_DNS_DOMAIN \
      --admin-name=SetupAdmin \
      --reserved-ip-range=$SUBNET_RANGE_MANAGEDAD \
      --region=$SUBNET_REGION \
      --authorized-networks=projects/$VPCHOST_PROJECT_ID/global/networks/$SHAREDVPC_NAME \
      --project=$VPCHOST_PROJECT_ID
    

    명령어가 완료될 때까지 15~20분 정도 기다리세요.

  6. 이전 명령어는 이름이 SetupAdmin@[AD_DNS_DOMAIN]인 초기 Active Directory 사용자를 만듭니다. 이 사용자는 관리자 권한을 위임했으며 이 권한을 사용하여 새 Active Directory 포리스트 구성을 완료할 수 있습니다.

    사용자의 사용자 인증 정보를 나타내려면 다음 명령어를 실행하세요. 비밀번호가 화면에 표시되는 것이 안전한지 확인해야 합니다.

    gcloud active-directory domains reset-admin-password $AD_DNS_DOMAIN \
      --project=$VPCHOST_PROJECT_ID
    

    비밀번호를 복사하세요. 나중에 필요할 것입니다.

    비밀번호는 언제든지 VPC 호스트 프로젝트의 프로젝트 소유자와 프로젝트 편집자가 재설정할 수 있습니다.

관리 프로젝트 만들기

관리형 Microsoft AD에서 만든 Active Directory 포리스트 및 포리스트 루트 도메인은 이제 완전히 작동하며 추가 구성을 수행할 첫 번째 사용자(SetupAdmin)가 있습니다. 그러나 관리형 Microsoft AD 도메인 컨트롤러는 RDP를 사용하여 직접 액세스할 수 없으므로 관리 VM을 사용하여 모든 구성을 처리해야 합니다.

Active Directory 관리 전용 프로젝트에서 이 VM 인스턴스를 만든 다음 VM 인스턴스를 공유 VPC의 관리 서브넷에 연결합니다.

도메인에 가입하면 원격 서버 관리 도구, 그룹 정책 관리 콘솔, PowerShell을 사용하여 Active Directory 및 Active Directory 관련 리소스를 관리할 수 있습니다.

관리 프로젝트를 만들려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 리소스 관리 페이지를 엽니다.

    리소스 관리 페이지 열기

  2. 왼쪽 상단의 조직 드롭다운 목록에서 조직을 선택합니다.
  3. 프로젝트 만들기를 클릭하고 다음 필드를 완료하세요.
    1. 프로젝트 이름: 프로젝트 이름으로 선택한 ID입니다.
    2. 결제 계정: 결제 계정 결제 계정 여러 개에 액세스할 수 있는 경우 각 계정의 내부 정책을 검토하고 적합한 계정을 선택합니다.
    3. 위치: 프로젝트를 만들 폴더
  4. 만들기를 클릭합니다.

관리 프로젝트에는 Active Directory 관리를 위한 VM 인스턴스가 포함됩니다. 계층형 관리 모델에서 이는 계층 0의 권한이 높은 사용자가 이러한 VM 인스턴스에 로그인한다는 것을 의미합니다.

이러한 인스턴스는 잠재적으로 암호, 암호 해시 또는 Kerberos 토큰을 캡처할 수 있는 기회를 제공하므로 공격자에게 매력적인 대상이 될 수 있습니다. 이러한 사용자 인증 정보는 Active Directory에 대한 관리 액세스 권한이 있으므로 도메인을 손상시키는 데 사용될 수 있습니다.

관리 프로젝트의 VM 인스턴스는 권한이 있는 액세스 워크스테이션과 동일하게 취급되어야 합니다. 이는 다음을 의미합니다.

  • 소규모의 관리 직원 그룹만 이러한 인스턴스에 로그인할 수 있는 권한을 부여받아야 합니다(RDP 또는 기타 수단에 의해).
  • 포함되는 관리 프로젝트에 대한 액세스 권한은 최소 권한을 기준으로 부여되어야 합니다. 선택된 소수의 사용자만 Google Cloud 프로젝트의 리소스를 보고 액세스할 수 있어야 합니다.

Google Cloud 프로젝트 보안에 대해 자세히 알아보려면 리소스 액세스 제어에 대한 권장사항을 검토하세요.

기본 VPC 대신 공유 VPC 사용

현재 관리 프로젝트에는 자체 default VPC가 있습니다. 대신 공유 VPC를 사용하므로 이 VPC를 삭제할 수 있습니다.

  1. Google Cloud 콘솔에서 Cloud Shell로 돌아갑니다.

  2. 관리 프로젝트의 프로젝트 ID를 포함하도록 변수를 초기화하세요(방금 만든 관리 프로젝트의 프로젝트 ID로 [MANAGEMENT_PROJECT_ID]를 바꾸세요).

    MANAGEMENT_PROJECT_ID=[MANAGEMENT_PROJECT_ID]
    
  3. VPC 호스트 프로젝트에서 Compute Engine API를 사용 설정합니다.

    gcloud services enable compute.googleapis.com \
      --project=$MANAGEMENT_PROJECT_ID
    
  4. default VPC와 관련된 모든 방화벽 규칙을 삭제하세요.

    gcloud compute firewall-rules list \
      --filter="network=default" \
      --project=$MANAGEMENT_PROJECT_ID \
      --format=value\(name\) | \
    xargs gcloud compute firewall-rules delete \
        --project=$MANAGEMENT_PROJECT_ID
    
  5. default VPC를 삭제하세요.

    gcloud compute networks delete default --project=$MANAGEMENT_PROJECT_ID
    
  6. 관리 프로젝트를 공유 VPC와 연결합니다.

    gcloud compute shared-vpc associated-projects add $MANAGEMENT_PROJECT_ID \
      --host-project=$VPCHOST_PROJECT_ID
    

관리 프로젝트는 이제 서비스 프로젝트이며 관리 프로젝트 내에서 공유 VPC를 사용할 수 있습니다.

Active Directory에 연결

이제 첫 번째 관리 VM 인스턴스를 만들어 Active Directory에 가입시킬 준비가 되었습니다. 이 VM을 사용하여 Active Directory 포리스트 및 포리스트 루트 도메인을 구성할 수 있습니다.

관리 VM 만들기

관리 VM 인스턴스를 만들려면 다음 단계를 수행하세요.

  1. Google Cloud 콘솔에서 Cloud Shell로 돌아갑니다.
  2. RSAT(원격 서버 관리 도구), DNS 서버 관리 도구, GPMC(그룹 정책 관리 콘솔)가 사전 설치된 Windows Server 2019를 실행하는 새 VM 인스턴스를 만듭니다.

    IAP TCP 전달을 사용하여 머신에 액세스하므로 인스턴스에 외부 IP 주소를 할당할 필요가 없습니다.

    gcloud compute instances create admin-01 \
      --image-family=windows-2019 \
      --image-project=windows-cloud \
      --machine-type=n1-standard-2 \
      --no-address \
      --zone=$SUBNET_REGION-a \
      --subnet=projects/$VPCHOST_PROJECT_ID/regions/$SUBNET_REGION/subnetworks/$SUBNET_REGION-management \
      --project=$MANAGEMENT_PROJECT_ID \
      --metadata="sysprep-specialize-script-ps1=Install-WindowsFeature -Name RSAT-AD-Tools;Install-WindowsFeature -Name GPMC;Install-WindowsFeature -Name RSAT-DNS-Server"
    
  3. 부팅 프로세스를 관찰하려면 다음 명령어를 실행하세요.

    gcloud compute instances tail-serial-port-output admin-01 \
      --zone=$SUBNET_REGION-a \
      --project=$MANAGEMENT_PROJECT_ID
    
  4. 출력으로 Instance setup finished가 표시될 때까지 4분 정도 기다린 다음 Ctrl+C를 누릅니다. 이제 VM 인스턴스를 사용할 수 있습니다.

  5. 인스턴스에서 로컬 SAM 사용자 LocalAdmin을 만듭니다.

    gcloud compute reset-windows-password admin-01 \
      --user=LocalAdmin \
      --project=$MANAGEMENT_PROJECT_ID \
      --zone=$SUBNET_REGION-a \
      --quiet
    

    비밀번호를 복사하세요. 나중에 필요할 것입니다.

관리 VM을 도메인에 가입

이제 관리 VM에 로그인하여 Active Directory에 가입시킬 수 있습니다.

  1. 로컬 Windows 워크스테이션에서 명령 프롬프트(cmd)를 여세요.

  2. 로컬 워크스테이션에서 gcloud을 처음 사용하는 경우 먼저 인증을 수행하세요.

  3. 다음 명령어를 실행하여 로컬 워크스테이션에서 admin-01 VM으로 IAP TCP 터널을 설정하고 [MANAGEMENT_PROJECT_ID]를 관리 프로젝트의 ID로 바꾸세요.

    gcloud compute start-iap-tunnel admin-01 3389 ^
      --local-host-port=localhost:13389 ^
      --project=[MANAGEMENT_PROJECT_ID]
    

    다음 출력이 나타날 때까지 기다리세요.

    Listening on port [13389]`
    

    이제 터널을 사용할 준비가 되었습니다.

  4. Windows 원격 데스크톱 연결 클라이언트(mstsc.exe)를 여세요.

  5. 옵션 표시를 클릭합니다.

  6. 다음 값을 입력합니다.

    1. 컴퓨터: localhost:13389
    2. 사용자 이름: localhost\LocalAdmin
  7. 연결을 클릭합니다.

  8. 사용자 인증 정보 입력 대화상자에서 로컬 LocalAdmin 사용자에 대해 이전에 생성한 비밀번호를 붙여 넣으세요. 그런 다음 확인을 클릭합니다.

  9. 관리 VM에 대한 RDP 인증서를 설정하지 않았으므로 원격 컴퓨터의 ID를 확인할 수 없다는 경고 메시지가 나타납니다. 을 클릭하여 이 경고를 해제하세요.

  10. admin-01 VM의 Windows Server 데스크톱이 표시됩니다.

  11. 시작 버튼을 마우스 오른쪽 버튼으로 클릭하거나 Win+X를 누르고 명령 프롬프트(관리자)를 클릭합니다.

  12. 를 클릭하여 권한 승격 프롬프트를 확인합니다.

  13. 권한 승격 명령 프롬프트에서 powershell을 실행하여 PowerShell 세션을 시작하세요.

  14. 다음 명령어를 실행하여 도메인 가입을 시작하세요.

    Add-Computer -DomainName [AD-DNS-NAME]
    

    포리스트 루트 도메인에 대한 DNS 이름의 DNS 이름으로 [AD-DNS-NAME]을 바꾸세요.

  15. Windows PowerShell 사용자 인증 정보 요청 대화상자에서 다음 값을 입력하세요.

    1. 사용자 이름: SetupAdmin
    2. 비밀번호: 관리형 Microsoft AD를 배포 할 때 SetupAdmin에 대해 만든 암호를 입력하세요. 로컬 LocalAdmin 사용자의 비밀번호를 사용하지 마세요.
  16. Restart-Computer를 실행하여 컴퓨터를 다시 시작합니다. VM을 다시 시작하는 데 약 1분이 걸립니다.

Active Directory 사용자 및 컴퓨터 실행

관리 VM이 이제 Active Directory 도메인의 구성원입니다. 이를 사용하여 Active Directory를 관리할 수 있습니다.

  1. 로컬 Windows 워크스테이션에서 Windows 원격 데스크톱 연결 클라이언트(mstsc.exe)를 엽니다.
  2. 옵션 표시를 클릭합니다.
  3. 다음 값을 입력합니다.
    1. 컴퓨터: localhost:13389
    2. 사용자 이름: SetupAdmin@[AD-DNS-NAME]. [AD-DNS-NAME]을 포리스트 루트 도메인에 대한 DNS 이름의 DNS 이름으로 바꾸세요.
  4. 연결을 클릭합니다.
  5. 사용자 인증 정보 입력 대화상자에서 이전에 SetupAdmin 사용자에 대해 생성한 비밀번호를 붙여 넣으세요. 그런 다음 확인을 클릭합니다.
  6. 관리 VM에 대한 RDP 인증서를 설정하지 않았으므로 원격 컴퓨터의 ID를 확인할 수 없다는 경고 메시지가 나타납니다. 을 클릭하여 이 경고를 해제하세요.
  7. admin-01 VM의 Windows Server 데스크톱이 표시됩니다.
  8. 시작 단추를 마우스 오른쪽 단추로 클릭하거나 Win+X를 누르고 실행을 선택합니다.
  9. dsa.msc을 입력하고 확인을 클릭합니다.

이제 Active Directory 사용자 및 컴퓨터가 표시됩니다.

AD 사용자

축하합니다 관리형 Microsoft AD 도메인에 연결되었습니다!

삭제

나중에 이 가이드의 리소스를 사용하지 않을 계획이면 요금이 청구되지 않도록 리소스를 삭제합니다.

Active Directory 포리스트 및 도메인 삭제

  1. Google Cloud Console에서 Cloud Shell을 엽니다.

  2. 다음 명령어를 실행하여 Active Directory 포리스트 및 도메인을 삭제하고 [AD_DNS_DOMAIN]을 관리형 Microsoft AD 도메인에 사용되는 DNS 도메인 이름으로 바꾸고 [VPCHOST_PROJECT_ID]를 VPC 호스트 프로젝트의 ID로 바꾸세요.

    gcloud active-directory domains delete [AD_DNS_DOMAIN] \
      --project=[VPCHOST_PROJECT_ID]
    

관리 프로젝트 삭제

  1. Google Cloud 콘솔에서 프로젝트 페이지로 이동합니다.

    프로젝트 페이지 열기

  2. 프로젝트 목록에서 관리 프로젝트를 선택하고 삭제을 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제하세요.

VPC 호스트 프로젝트 삭제

  1. Google Cloud 콘솔에서 프로젝트 페이지로 이동합니다.

    프로젝트 페이지 열기

  2. 프로젝트 목록에서 VPC 호스트 프로젝트를 선택하고 삭제을 클릭하세요.
  3. 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제하세요.

다음 단계

  • 액세스 수준조건을 사용하여 IAP를 통한 리소스 액세스를 제한하는 방법에 대해 알아보세요.
  • 프로젝트에 선취권을 사용하여 관리 프로젝트가 실수로 삭제되지 않도록 보호합니다.