시작하기 전에
- 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
- 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
- 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.
Create a VPC network and firewall rules
/ 5
Create the VM instance with no public IP address
/ 5
Create the Bastion host
/ 5
Create a Cloud Storage Bucket and Enable Private Google Access
/ 5
Configure a Cloud NAT gateway
/ 5
Create a VPC network and firewall rules
/ 5
Create the VM instance with no public IP address
/ 5
Create the Bastion host
/ 5
Create a Cloud Storage Bucket and Enable Private Google Access
/ 5
Configure a Cloud NAT gateway
/ 5
Google Cloud의 네트워크 주소 변환(NAT) 서비스를 사용하면 공개 IP 주소 없이 애플리케이션 인스턴스를 프로비저닝하는 동시에 통제되고 효율적인 방식으로 인터넷에 액세스하여 업데이트, 패치 적용, 구성 관리 등도 수행할 수 있습니다.
이 실습에서는 외부 IP 주소가 없는 VM 인스턴스에 비공개 Google 액세스 및 Cloud NAT를 구성합니다. 그런 다음 Google API 및 서비스의 공개 IP 주소와 다른 인터넷 연결에 액세스할 수 있는지 확인합니다. 마지막으로 Cloud NAT 로깅을 사용하여 게이트웨이에서 설정된 연결을 기록합니다.
이 실습에서는 다음 작업을 수행하는 방법을 알아봅니다.
다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.
실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.
이 실습을 완료하려면 다음을 준비해야 합니다.
실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 대화상자가 열립니다. 오른쪽에는 다음과 같은 항목이 포함된 실습 설정 및 액세스 패널이 있습니다.
실습 타이머는 페이지 상단에 있으며 남은 시간을 표시합니다.
Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).
실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.
팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.
필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.
실습 설정 및 액세스 패널에서도 사용자 이름을 확인할 수 있습니다.
다음을 클릭합니다.
아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.
실습 설정 및 액세스 패널에서도 비밀번호를 확인할 수 있습니다.
다음을 클릭합니다.
이후에 표시되는 페이지를 클릭하여 넘깁니다.
잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.
Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행됩니다. Cloud Shell을 사용하면 명령줄을 통해 Google Cloud 리소스에 액세스할 수 있습니다.
Google Cloud 콘솔 상단에서 Cloud Shell 활성화 를 클릭합니다.
다음 창을 클릭합니다.
연결되면 사용자 인증이 이미 처리된 것이며 프로젝트가 학습자의 PROJECT_ID,
gcloud는 Google Cloud의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 명령줄 자동 완성을 지원합니다.
출력:
출력:
gcloud 전체 문서는 Google Cloud에서 gcloud CLI 개요 가이드를 참고하세요.
이제 외부 IP 주소가 없는 VM 인스턴스 하나와 배스천 호스트 역할을 하는 다른 VM 인스턴스를 생성합니다.
먼저 VM 인스턴스의 VPC 네트워크를 생성한 다음, SSH 액세스를 허용하는 방화벽 규칙을 만듭니다.
Cloud 콘솔의 탐색 메뉴()에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
VPC 네트워크 만들기를 클릭합니다.
이름에 privatenet을 입력합니다.
서브넷 생성 모드의 경우 커스텀을 클릭합니다.
다음을 지정하고 나머지 설정은 기본값으로 둡니다.
| 속성 | 값(지정된 대로 값 입력 또는 옵션 선택) |
|---|---|
| 이름 | privatenet-us |
| 리전 | |
| IP 주소 범위 | 10.130.0.0/20 |
완료를 클릭합니다.
만들기를 클릭하고 네트워크가 생성될 때까지 기다립니다.
왼쪽 창에서 방화벽을 클릭합니다.
방화벽 규칙 만들기를 클릭합니다.
다음을 지정하고 나머지 설정은 기본값으로 둡니다.
| 속성 | 값(지정된 대로 값 입력 또는 옵션 선택) |
|---|---|
| 이름 | privatenet-allow-ssh |
| 네트워크 | privatenet |
| 대상 | 네트워크의 모든 인스턴스 |
| 소스 필터 | IPv4 범위 |
| 소스 IPv4 범위 | 0.0.0.0/0 |
| 프로토콜 및 포트 | 지정된 프로토콜 및 포트 |
tcp에는 포트 22를 지정합니다.
만들기를 클릭합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
Cloud 콘솔의 탐색 메뉴()에서 Compute Engine > VM 인스턴스를 클릭합니다.
인스턴스 만들기를 클릭합니다.
머신 구성으로 이동합니다.
다음 값을 선택합니다.
| 속성 | 값(지정된 대로 값 입력 또는 옵션 선택) |
|---|---|
| 이름 | vm-internal |
| 리전 | |
| 영역 | |
| 시리즈 | E2 |
| 머신 유형 | e2-medium(2 vCPU, 1 core, 4 GB memory) |
네트워킹을 클릭합니다.
네트워크 인터페이스에서 기본값을 펼치고 다음을 지정합니다.
| 속성 | 값(지정된 대로 값 입력 또는 옵션 선택) |
|---|---|
| 네트워크 | privatenet |
| 서브네트워크 | privatenet-us |
| 외부 IPv4 주소 | None |
완료를 클릭합니다.
만들기를 클릭합니다.
VM 인스턴스 페이지에서 vm-internal의 외부 IP가 없음인지 확인합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
vm-internal에는 외부 IP 주소가 없으므로 네트워크의 다른 인스턴스 또는 관리형 VPN 게이트웨이를 통해서만 연결할 수 있습니다. vm-internal에 대한 SSH 액세스도 이에 해당되므로 Cloud 콘솔에서 비활성화(사용 불가)되어 있습니다.
SSH를 통해 vm-internal에 연결하려면 vm-internal과 동일한 VPC 네트워크에 배스천 호스트 vm-bastion을 만들어야 합니다.
Cloud 콘솔의 VM 인스턴스 페이지에서 인스턴스 만들기를 클릭합니다.
머신 구성으로 이동합니다.
다음 값을 선택합니다.
| 속성 | 값(지정된 대로 값 입력 또는 옵션 선택) |
|---|---|
| 이름 | vm-bastion |
| 리전 | |
| 영역 | |
| 시리즈 | E2 |
| 머신 유형 | e2-micro (2vCPU) |
네트워킹을 클릭합니다.
네트워크 인터페이스에서 기본값을 펼치고 다음을 지정합니다.
| 속성 | 값(지정된 대로 값 입력 또는 옵션 선택) |
|---|---|
| 네트워크 | privatenet |
| 서브네트워크 | privatenet-us |
| 외부 IPv4 주소 | Ephemeral |
완료를 클릭합니다.
보안을 클릭합니다.
Set access for each API(각 API에 액세스 설정)Read Write(읽기 쓰기)만들기를 클릭합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
vm-bastion을 통해 vm-internal에 액세스할 수 있는지 확인합니다.
2. vm-bastion SSH 터미널에서 다음 명령어를 실행하여 외부 연결을 확인합니다.
명령어가 정상적으로 실행됩니다.
Y를 입력합니다.vm-internal에 외부 IP 주소가 없기 때문에 이 명령어는 정상적으로 실행되지 않습니다.
ping 명령어가 완료될 때까지 기다립니다.외부 IP 주소가 없는 VM 인스턴스는 비공개 Google 액세스를 사용해 Google API 및 서비스의 외부 IP 주소에 연결할 수 있습니다. 기본적으로 비공개 Google 액세스는 VPC 네트워크에서 사용 설정되어 있지 않습니다.
Cloud Storage 버킷을 만들어 Google API 및 서비스에 대한 액세스를 테스트합니다.
Cloud 콘솔의 탐색 메뉴()에서 Cloud Storage > 버킷을 클릭합니다.
만들기를 클릭합니다.
다음을 지정하고 나머지 설정은 기본값으로 둡니다.
| 속성 | 값(지정된 대로 값 입력 또는 옵션 선택) |
|---|---|
| 이름 | Enter a globally unique name |
| 기본 스토리지 클래스 | Multi-Regional |
만들기를 클릭합니다.
공개 액세스가 차단됨이라는 메시지가 표시되면 확인을 클릭합니다.
다음 하위 작업의 스토리지 버킷 이름을 기록해 둡니다. 이 이름을 [my_bucket]이라고 부르겠습니다.
이미지를 공개 Cloud Storage 버킷에서 내 버킷으로 복사합니다.
[my_bucket]에는 내 버킷 이름을 입력합니다.Cloud 콘솔에서 이미지의 이름을 클릭하면 비공개 Google 액세스가 어떻게 구현되는지에 대한 예시를 볼 수 있습니다.
[my_bucket]에는 내 버킷 이름을 입력합니다.vm-bastion에 외부 IP 주소가 있기 때문에 이 명령어는 정상적으로 실행됩니다.
[my_bucket]에는 내 버킷 이름을 입력합니다.첫 번째 시도 후 요청을 종료하려면 Ctrl+C를 누릅니다.
SSH 터미널을 닫습니다.
비공개 Google 액세스는 서브넷 수준에서 사용 설정됩니다. 비공개 Google 액세스를 사용 설정하면 서브넷에 비공개 IP 주소만 있는 인스턴스가 기본 인터넷 게이트웨이에 대한 다음 홉의 기본 경로(0.0.0.0/0)를 통해 Google API 및 서비스로 트래픽을 전송할 수 있습니다.
vm-internal의 서브넷에서 비공개 Google 액세스가 사용 설정되어 있기 때문에 정상적으로 실행됩니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
이제 vm-internal에서 외부 IP 주소 없이도 특정 Google API 및 서비스에 액세스할 수 있지만 인스턴스는 업데이트 및 패치를 위해 인터넷에 액세스할 수는 없습니다. 이제 vm-internal이 인터넷에 연결할 수 있도록 Cloud NAT 게이트웨이를 구성합니다.
출력은 다음과 같습니다.
vm-bastion에 외부 IP 주소가 있기 때문에 이 명령어는 정상적으로 실행됩니다.
vm-internal은 Google API 및 서비스에만 액세스할 수 있기 때문에 Google Cloud 패키지에 대해서만 정상적으로 작동합니다.
Cloud NAT는 리전별 리소스입니다. 리전에서 전체 서브넷의 모든 범위에서 발생하는 트래픽을 허용하거나 해당 리전의 특정 서브넷에서 발생하는 트래픽만 허용하거나 또는 특정 기본 및 보조 CIDR 범위에서 발생하는 트래픽만 허용하도록 구성할 수 있습니다.
Cloud 콘솔의 탐색 메뉴()에서 모든 제품 보기 > 네트워킹 > 네트워크 서비스 > Cloud NAT를 클릭합니다.
시작하기를 클릭하여 NAT 게이트웨이를 구성합니다.
다음 사항을 지정합니다.
| 속성 | 값(지정된 대로 값 입력 또는 옵션 선택) |
|---|---|
| 게이트웨이 이름 | nat-config |
| 네트워크 | privatenet |
| 리전 |
Cloud Router에서 새 라우터 만들기를 선택합니다.
이름에 nat-router를 입력합니다.
만들기를 클릭합니다.
NAT 구성이 VM에 전달되기까지 최대 3분이 걸릴 수 있으므로 1분 이상 기다린 후 다시 인터넷 액세스를 시도합니다.
출력은 다음과 같습니다.
vm-internal이 NAT 게이트웨이를 사용하고 있기 때문에 이 명령어는 정상적으로 실행됩니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
Cloud NAT 로깅을 사용하면 NAT 연결 및 오류를 로깅할 수 있습니다. Cloud NAT 로깅을 사용 설정하면 다음과 같은 각 시나리오에 대해 로그 항목이 하나씩 생성될 수 있습니다.
두 종류의 이벤트를 모두 로깅하거나 둘 중 하나만 로깅하도록 선택할 수 있습니다. 생성된 로그는 Cloud Logging으로 전송됩니다.
로깅이 사용 설정되면 수집된 모든 로그가 기본적으로 Stackdriver로 전송됩니다. 필터링을 사용하여 특정 로그만 전송되게 할 수 있습니다.
또한 NAT 게이트웨이를 만들 때 또는 생성된 후 수정을 통해 이러한 값을 지정할 수 있습니다. 다음 안내에서는 기존 NAT 게이트웨이에 대해 로깅을 사용 설정하는 방법을 보여줍니다.
Cloud 콘솔의 탐색 메뉴()에서 모든 제품 보기 > 네트워킹 > 네트워크 서비스 > Cloud NAT를 클릭합니다.
nat-config 게이트웨이를 클릭한 다음 수정을 클릭합니다.
고급 구성을 클릭합니다.
로깅에서 변환 및 오류를 선택하고 저장을 클릭합니다.
nat-config 게이트웨이에 Cloud NAT 로깅을 설정했으므로 이제 로그를 확인할 수 있는 위치를 알아보겠습니다. 게이트웨이가 업데이트된 다음 페이지에서 작업을 중단했을 것입니다.
nat-config를 클릭하여 세부정보를 표시합니다. 그런 다음 로그 탐색기에서 보기 링크를 클릭합니다.
그러면 로그 탐색기가 새 탭에서 열립니다. 페이지 상단이 다음과 유사한지 확인합니다.
방금 이 기능을 게이트웨이에 사용 설정했기 때문에 아직 로그가 표시되지 않습니다. 이 탭을 열어두고 다른 Cloud 콘솔 탭으로 돌아갑니다.
참고로 Cloud NAT 로그는 다음 시퀀스에 대해 생성됩니다.
배스천 호스트를 내부 VM에 다시 연결하여 로그가 생성되었는지 확인해 보겠습니다.
출력은 다음과 같습니다.
이 연결을 열어서 로그에 새로운 내용이 표시되었는지 확인해 보겠습니다.
NAT 로깅 탭으로 돌아가 현재 시점으로 이동 버튼을 클릭합니다.
이제 배스천 호스트를 내부 VM에 연결한 이후에 생성된 두 개의 새로운 로그가 표시됩니다.
이제 연결한 VPC 네트워크와 사용한 연결 방법에 대한 세부정보를 로그를 통해 확인할 수 있습니다. 다양한 라벨과 세부정보를 펼쳐서 살펴보세요.
이것으로 사용자 주도형 실습인 '비공개 Google 액세스 및 Cloud NAT 구성'을 마치겠습니다.
외부 IP 주소가 없는 인스턴스인 vm-internal과 vm-internal에 안전하게 연결할 수 있는 배스천 호스트인 vm-bastion을 만들어 보았습니다. 그리고 비공개 Google 액세스를 사용 설정하고 NAT 게이트웨이를 구성했으며 vm-internal이 Google API 및 서비스와 다른 공개 IP 주소에 액세스할 수 있는지 확인했습니다. 마지막으로 NAT 로깅을 구성하는 방법과 Stackdriver에서 이러한 로그를 생성하고 보는 방법을 배웠습니다.
외부 IP 주소가 없는 VM 인스턴스는 외부 네트워크로부터 격리됩니다. 이러한 인스턴스는 Cloud NAT를 사용해 인터넷에 액세스하여 업데이트와 패치를 적용할 수 있으며 경우에 따라 부트스트랩을 수행할 수 있습니다. 관리형 서비스인 Cloud NAT는 사용자 관리와 개입 없이도 고가용성을 제공합니다.
Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.
설명서 최종 업데이트: 2026년 6월 2일
실습 최종 테스트: 2026년 6월 2일
Copyright 2026 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 연락드리겠습니다.
한 번에 실습 1개만 가능
모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.