이 튜토리얼에서는 도메인 등록, 샘플 웹 서버 설정, Cloud DNS를 사용하여 도메인 URL을 서버로 가리키는 프로세스를 안내합니다.
Google Cloud에서 Terraform을 처음 사용하는 경우 Terraform 시작하기를 참조하세요.
목표
이 튜토리얼에서는 다음 작업을 완료하는 방법을 보여줍니다.- Cloud Domains를 사용하여 도메인 이름 등록
- Compute Engine 가상 머신(VM) 인스턴스 만들기
- 기본 Apache 웹 서버 실행
- Cloud DNS를 사용하여 도메인 설정
- 네임서버 업데이트
- 설정 확인
비용
도메인 이름 등록에는 비용이 듭니다. Cloud Domains 가격 책정은 Cloud Domains 가격 책정을 참조하세요.
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- 
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- Compute Engine API를 사용 설정합니다. 
도메인 이름 등록
이미 등록된 도메인이 있는 경우 이 섹션을 건너뜁니다.
Cloud Domains를 사용하여 도메인을 등록할 수 있습니다. Cloud Domains를 사용하면 시작하기 전에 섹션에서 만든 도메인의 동일한 결제 계정을 사용할 수 있습니다. Cloud Domains를 사용하여 도메인을 등록하는 방법을 알아보려면 도메인 등록을 참조하세요.
가상 머신 인스턴스 만들기
콘솔
Compute Engine에서 Linux 가상 머신(VM) 인스턴스를 만들려면 다음 안내를 따르세요.
- In the Google Cloud console, go to the Create an instance page.
- In the OS and Storage section, click Change to begin configuring your boot disk.
- Public images 탭에서 Debian GNU/Linux를 선택합니다.
- 선택을 클릭합니다.
- 방화벽 섹션에서 HTTP 트래픽 허용을 선택합니다.
- 만들기를 클릭하여 VM을 만듭니다.
인스턴스가 시작될 때까지 잠시 기다립니다. 인스턴스가 준비되면 VM 인스턴스 페이지에 녹색 상태 아이콘이 표시됩니다.
내 인스턴스에 연결
- In the Google Cloud console, go to the VM instances page.
- 
  
    In the list of virtual machine instances, click SSH in the row of
    the instance that you want to connect to.
    
     
이제 Linux 인스턴스와 상호작용할 수 있는 터미널 창이 생겼습니다.
자세한 내용은 빠른 시작: Linux VM 사용을 참조하세요.
기본 Apache 웹 서버 실행
이 섹션에서는 Apache 웹 서버를 실행하고 테스트합니다.
- SSH 창에서 Debian 패키지 관리자를 사용하여 - apache2패키지를 설치합니다.- sudo apt-get update && sudo apt-get install apache2 -y - Apache를 설치하면 운영체제에서 자동으로 Apache 서버를 시작합니다. 
- 다음 명령어를 사용하여 Apache 웹 서버의 기본 웹페이지를 덮어씁니다. - echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>" 
 | sudo tee /var/www/html/index.html
서버 테스트
인스턴스가 외부 IP 주소에서 트래픽을 제공하고 있는지 테스트합니다.
콘솔
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 외부 IP 열에서 인스턴스의 외부 IP 주소를 복사합니다.
- 브라우저에서 http://[EXTERNAL_IP]로 이동합니다. 서버가Connection Refused오류를 반환하므로https를 사용하여 연결하지 마세요.
이제 Hello World! 페이지가 표시됩니다.
자세한 내용은 기본 Apache 웹 서버 실행을 참조하세요.
Cloud DNS를 사용하여 도메인 설정
기존 제공업체에서 마이그레이션하는 경우 기존 영역을 Cloud DNS로 가져올 수 있습니다. 자세한 내용은 기존 제공업체에서 DNS 구성 내보내기를 참조하세요. 그렇지 않으면 다음 단계에 따라 새 공개 영역을 만듭니다.
콘솔
- Google Cloud 콘솔에서 DNS 영역 만들기 페이지로 이동합니다. 
- 영역 유형에 공개를 선택합니다. 
- 영역 이름에 - my-new-zone을 입력합니다.
- DNS 이름에 등록한 도메인 이름을 사용하여 영역의 DNS 이름 서픽스를 입력합니다(예: - example.com).
- DNSSEC에서 - Off설정이 선택되어 있는지 확인합니다.
- 만들기를 클릭하여 NS 및 SOA 레코드로 채워진 영역을 만듭니다. 
- 등록된 도메인 이름이 호스팅 서버의 IP 주소를 가리키도록 하려면 영역에 A 레코드를 추가해야 합니다. - 영역 세부정보 페이지에서 표준 추가를 클릭합니다.
- 리소스 레코드 유형 메뉴에서 A를 선택합니다.
- IPv4 주소에서 인스턴스의 외부 IP 주소를 입력합니다.
- 만들기를 클릭하여 영역에 대해 A 레코드를 만듭니다.
 
- (선택사항) 도메인 이름의 프리픽스로 CNAME 레코드를 추가합니다(예: - www.).- 표준 추가를 클릭합니다.
- DNS 이름 필드에 도메인의 프리픽스 www를 추가합니다.
- 리소스 레코드 유형에서 CNAME을 선택합니다.
- 표준 이름에 도메인 이름과 마침표를 입력합니다(예: example.com.).
- 만들기를 클릭합니다.
 
네임서버 업데이트
Cloud Domains에서 네임서버를 업데이트하려면 다음 단계를 따르세요.
- Google Cloud 콘솔에서 Cloud Domains 페이지로 이동합니다. 
- 수정할 도메인 이름을 클릭합니다. 도메인 이름 옆에 있는 더보기를 클릭하여 수정 메뉴를 표시할 수도 있습니다. 
- DNS 세부정보를 수정하려면 DNS 세부정보 수정을 클릭합니다. 
- Cloud DNS 사용(권장)을 선택합니다. 
- Cloud DNS 영역 목록에서 - my-new-zone을 선택합니다.
- 저장을 클릭합니다. 
Terraform
Terraform 리소스를 사용하여 가상 머신(VM) 인스턴스를 만들고 Apache 웹 서버를 실행하고 Cloud DNS를 사용하여 도메인을 설정하며 네임서버를 업데이트할 수 있습니다.
Terraform 모듈을 사용하여 공개, 비공개, 피어링 또는 전달 영역으로 Cloud DNS를 설정할 수도 있습니다. 영역에 대한 자세한 내용은 DNS 영역 개요를 참조하세요.
설정 확인
구성이 작동하는지 확인하려면 네임서버가 업데이트된 후 도메인 이름으로 이동합니다(예: example.com). 도메인이 IP 주소를 확인하고 기본 Apache 웹 서버 실행에서 만든 Hello World! 페이지가 표시된 Compute Engine VM을 가리켜야 합니다.
또한 설정이 올바른지 확인하기 위해 터미널 창에서 dig +trace example.com 명령어를 실행할 수도 있습니다. example.com을 등록된 도메인 이름으로 바꿉니다.
dig +trace example.com
출력의 끝에 다음이 포함됩니다.
IP_ADDRESS는 웹 서버의 IP 주소입니다.
example.com. 300 IN A IP_ADDRESS ;; Received 62 bytes from 216.239.34.109#53(ns-cloud-d2.googledomains.com) in 62 ms
변경되었는지 확인하려면 다음 명령어를 실행합니다.
example.com IN NS <your Cloud DNS name servers>
또한 DNS 전파가 완료될 때까지 기다린 후 nslookup 명령어를 실행하여 설정을 확인할 수 있습니다.
nslookup example.com
출력에 다음이 포함됩니다. IP_ADDRESS는 웹 서버의 IP 주소입니다.
Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: example.com Address: IP_ADDRESS
삭제
콘솔
- Google Cloud 콘솔에서 Cloud DNS 영역 페이지로 이동합니다. 
- 영역 이름(예: - my-new-zone)을 클릭하여 영역 세부정보 페이지로 이동합니다.
- 만든 A 및 CNAME 레코드를 선택합니다. 
- 레코드 집합 삭제를 클릭합니다. 
- 영역을 삭제하려면 영역 이름 - my-new-zone에 대해 delete영역 삭제를 클릭합니다.
- VM 인스턴스 페이지로 이동합니다. 
- 삭제할 인스턴스를 선택합니다. 
- 인스턴스 행의 more_vert더보기 메뉴에서 삭제를 클릭합니다. 
다음 단계
- 레코드를 추가, 삭제, 업데이트하려면 레코드 관리를 참조하세요.
- 관리형 영역을 사용하려면 영역 만들기, 수정, 삭제를 참조하세요.
- Cloud DNS를 사용할 때 발생할 수 있는 일반적인 문제에 대한 해결책을 찾으려면 문제 해결을 참조하세요.
- API를 참조하려면 Cloud DNS REST API를 참조하세요.
- 비용을 확인하려면 Cloud DNS 가격 책정을 참조하세요.
- Cloud DNS 개요는 Cloud DNS 개요를 참조하세요.