로드 중...
검색 결과가 없습니다.

Google Cloud 콘솔에서 기술 적용

01

Google Cloud IAM and Networking for AWS Professionals

700개 이상의 실습 및 과정 이용하기

VPC 네트워킹(AWS)

실습 1시간 30분 universal_currency_alt 크레딧 5개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
700개 이상의 실습 및 과정 이용하기

솔루션 설계자라면 사용 중인 네트워크가 AWS의 클라우드 인프라 요소 중 하나라는 사실을 잘 알고 있을 것입니다. 어떤 방식으로 다양한 리소스를 연결하고, 네트워크를 세분화하며, 보안을 보장할 수 있는가는 Google Cloud로 작업하는 클라우드 설계자의 주요 관심사입니다.

AWS에는 다른 리소스와 함께 AWS 계정 전용의 격리된 가상 네트워크인 Amazon Virtual Private Cloud(VPC)가 하나 이상 있습니다. Amazon VPC를 사용하여 안전한 가상 네트워크에서 리소스를 실행할 수 있습니다.

AWS의 VPC는 범위가 리전별로 구분되며 한 리전에만 존재할 수 있습니다. AWS 계정을 생성하면 구성할 필요 없이 각 AWS 리전에 하나의 기본 VPC가 생성됩니다.

둘 이상의 리전에 있는 앱이나 리소스를 연결하려는 경우 VPC 피어링 또는 전송 게이트웨이를 사용할 수 있습니다.

AWS VPC에서는 다양한 가용성 영역에 비공개 및 공개 서브넷을 설정하여 가용성과 내결함성을 개선합니다. 권장사항에 따라 보안 그룹, 경로 테이블, AWS Network Firewall 규칙을 만들면 네트워크 보안을 개선할 수 있습니다.

이 모든 것을 염두에 두고 강력한 아키텍처 배포를 위해 Google Cloud에서 사용할 수 있는 네트워킹 서비스에 대해 살펴보겠습니다.

개요

Google Cloud Virtual Private Cloud(VPC)는 Compute Engine 가상 머신(VM) 인스턴스, Kubernetes Engine 컨테이너, App Engine 가변형 환경에 네트워킹 기능을 제공합니다. 즉, VPC 네트워크가 없으면 VM 인스턴스, 컨테이너 또는 App Engine 애플리케이션을 만들 수 없습니다. 따라서 시작하려면 각 Google Cloud 프로젝트에 기본 네트워크가 있어야 합니다.

VPC 네트워크는 Google Cloud 내에서 가상화된다는 점을 제외하면 물리적 네트워크와 유사하다고 생각할 수 있습니다. VPC 네트워크는 데이터 센터의 리전별 가상 서브네트워크(서브넷) 목록으로 구성된 전역 리소스이며 모든 리소스는 전역 광역 통신망(WAN)을 통해 연결됩니다. VPC 네트워크는 Google Cloud에서 논리적으로 서로 격리됩니다.

이 실습에서는 방화벽 규칙과 두 개의 VM 인스턴스가 있는 자동 모드 VPC 네트워크를 만듭니다. 그런 다음 자동 모드 네트워크를 커스텀 모드 네트워크로 전환하고 아래의 네트워크 다이어그램 예시와 같이 다른 커스텀 모드 네트워크를 만듭니다. 또한 네트워크 간의 연결도 테스트합니다.

목표

이 실습에서는 다음 작업을 수행하는 방법을 알아봅니다.

  • 기본 VPC 네트워크 살펴보기
  • 방화벽 규칙이 있는 자동 모드 네트워크 만들기
  • 자동 모드 네트워크를 커스텀 모드 네트워크로 전환하기
  • 방화벽 규칙이 있는 커스텀 모드 VPC 네트워크 만들기
  • Compute Engine을 사용하여 VM 인스턴스 만들기
  • VPC 네트워크 간 VM 인스턴스의 연결 살펴보기

각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.

  1. 시크릿 창을 사용하여 Qwiklabs에 로그인합니다.

  2. 실습 사용 가능 시간(예: 1:15:00)을 참고하여 해당 시간 내에 완료합니다.
    일시중지 기능은 없습니다. 필요한 경우 다시 시작할 수 있지만 처음부터 시작해야 합니다.

  3. 준비가 되면 실습 시작을 클릭합니다.

  4. 실습 사용자 인증 정보(사용자 이름비밀번호)를 기록해 두세요. Google Cloud Console에 로그인합니다.

  5. Google Console 열기를 클릭합니다.

  6. 다른 계정 사용을 클릭한 다음, 안내 메시지에 실습에 대한 사용자 인증 정보를 복사하여 붙여넣습니다.
    다른 사용자 인증 정보를 사용하는 경우 오류가 발생하거나 요금이 부과됩니다.

  7. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.

작업 1. 기본 네트워크 살펴보기

각 Google Cloud 프로젝트에는 서브넷, 경로, 방화벽 규칙이 있는 기본 네트워크가 있습니다.

서브넷 보기

기본 네트워크는 각 Google Cloud 리전에 서브넷을 하나씩 가지고 있습니다.

  • Cloud Console의 탐색 메뉴()에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
  • 서브넷이 있는 기본 네트워크를 확인합니다.
    각 서브넷은 내부 IP 주소 범위게이트웨이를 위해 Google Cloud 리전 및 비공개 RFC 1918 CIDR 블록과 연결되어 있습니다.

경로 보기

경로는 인스턴스에서 네트워크 내부 또는 Google Cloud 외부에 있는 대상으로 트래픽을 보내는 방법을 VM 인스턴스 및 VPC 네트워크에 알려줍니다. 각 VPC 네트워크에는 해당 서브넷 간에 트래픽을 라우팅하고 요건을 충족하는 인스턴스에서 인터넷으로 트래픽을 전송하는 몇 가지 기본 경로가 있습니다.

  • 왼쪽 창에서 경로를 클릭합니다.
    각 서브넷과 기본 인터넷 게이트웨이(0.0.0.0/0)에 경로가 하나씩 있습니다.
    이러한 경로는 자동으로 관리되지만 일부 패킷을 특정 대상으로 전달하기 위해 사용자가 커스텀 정적 경로를 만들 수 있습니다. 예를 들어 모든 아웃바운드 트래픽을 NAT 게이트웨이로 구성된 인스턴스로 보내는 경로를 만들 수 있습니다.

방화벽 규칙 보기

각 VPC 네트워크는 사용자가 구성할 수 있는 분산 가상 방화벽을 구현합니다. 방화벽 규칙을 사용하면 어떤 패킷이 어떤 대상으로 이동하는지 제어할 수 있습니다. 모든 VPC 네트워크에는 모든 수신 연결을 차단하고 모든 발신 연결을 허용하는 두 가지 묵시적인 방화벽 규칙이 있습니다.

  • 왼쪽 창에서 방화벽을 클릭합니다.
    기본 네트워크에는 다음 4개의 인그레스 방화벽 규칙이 있습니다.

    • default-allow-icmp
    • default-allow-rdp
    • default-allow-ssh
    • default-allow-internal

    이 방화벽 규칙은 모든(0.0.0.0/0) ICMP, RDP, SSH 인그레스 트래픽을 허용하고 네트워크(10.128.0.0/9) 내부의 모든 TCP, UDP, ICMP 트래픽을 허용합니다. 대상, 필터, 프로토콜/포트, 작업 열에 이 규칙이 설명되어 있습니다.

방화벽 규칙 삭제

  1. 왼쪽 창에서 방화벽을 클릭합니다.
  2. 모든 기본 네트워크 방화벽 규칙을 선택합니다.
  3. 삭제를 클릭합니다.
  4. 삭제를 클릭하여 방화벽 규칙이 삭제되었는지 확인합니다.

기본 네트워크 삭제

  1. 왼쪽 창에서 VPC 네트워크를 클릭합니다.
  2. 기본 네트워크를 선택합니다.
  3. VPC 네트워크 삭제를 클릭합니다.
  4. 삭제를 클릭하여 기본 네트워크가 삭제되었는지 확인합니다.

네트워크가 삭제될 때까지 기다렸다가 진행하세요.

  1. 왼쪽 창에서 경로를 클릭합니다.

경로가 없는 것을 알 수 있습니다.

  1. 왼쪽 창에서 방화벽을 클릭합니다.

방화벽 규칙이 없는 것을 알 수 있습니다.

참고: VPC 네트워크가 없으면 경로도 없습니다.

VM 인스턴스 만들기

VPC 네트워크가 없으면 VM 인스턴스를 만들 수 없음을 확인합니다.

  1. 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.
  2. 인스턴스 만들기를 클릭합니다.
  3. 기본값을 그대로 두고 만들기를 클릭합니다.

오류를 확인합니다.

  1. 인스턴스 만들기를 클릭합니다.
  2. 네트워킹을 클릭합니다. 네트워크 인터페이스에서 더 이상 사용 가능한 네트워크 없음 오류를 확인합니다.
  3. 취소를 클릭합니다.
참고: 예상대로 VPC 네트워크가 없으면 VM 인스턴스를 만들 수 없습니다.

작업 2. 자동 모드 네트워크 만들기

두 개의 VM 인스턴스가 있는 자동 모드 네트워크를 만드는 작업을 수행해야 합니다. 자동 모드 네트워크는 각 리전에 서브넷을 자동으로 생성하기 때문에 쉽게 설정하고 사용할 수 있습니다. 하지만 사용하는 리전과 IP 주소 범위를 포함하여 VPC 네트워크에 생성되는 서브넷을 완전히 제어할 수는 없습니다.

Google VPC 문서에서 자동 모드 네트워크 선택 시 고려사항을 언제든지 자세히 살펴볼 수 있으며, 지금은 프로토타입 제작을 위해 자동 모드 네트워크를 사용하고 있다고 가정하겠습니다.

방화벽 규칙이 있는 자동 모드 VPC 네트워크 만들기

  1. 탐색 메뉴()에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
  2. VPC 네트워크 만들기를 클릭합니다.
  3. 이름mynetwork를 입력합니다.
  4. 서브넷 생성 모드에서 자동을 클릭합니다.

자동 모드 네트워크는 각 리전에 자동으로 서브넷을 만듭니다.

  1. 방화벽 규칙에서 사용 가능한 규칙을 모두 선택합니다.

이들은 기본 네트워크에 지정된 표준 방화벽 규칙과 동일합니다. deny-all-ingressallow-all-egress 규칙도 표시되지만 이러한 규칙은 묵시적이기 때문에 사용자가 선택하거나 중지할 수 없습니다. 이 두 규칙은 우선순위가 낮으므로(정수 값이 클수록 우선순위가 낮음) ICMP, 커스텀, RDP, SSH 규칙이 먼저 고려됩니다.

  1. 만들기를 클릭합니다.

  2. 새 네트워크가 준비되면 mynetwork를 클릭합니다. 의 서브넷 IP 주소 범위를 기록해 둡니다.

참고: 기본 네트워크를 삭제한 경우 방금 한 것처럼 자동 모드 네트워크를 만들면 빠르게 다시 생성할 수 있습니다.

에 VM 인스턴스 만들기

리전에서 VM 인스턴스를 만듭니다. 리전과 영역을 선택하면 서브넷이 결정되고 서브넷의 IP 주소 범위에서 내부 IP 주소가 할당됩니다.

  1. Cloud 콘솔탐색 메뉴(☰)에서 Compute Engine > VM 인스턴스를 클릭하고 인스턴스 만들기를 클릭합니다.

    다음과 같이 필드를 작성하고 다른 필드는 모두 기본값으로 둡니다.

  2. 머신 구성에서

    다음 값을 선택합니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 mynet-vm-1
    리전
    영역
    시리즈 E2
    머신 유형 e2-micro(vCPU 2개, 1GB 메모리)
  3. OS 및 스토리지를 클릭합니다.

    변경을 클릭하여 부팅 디스크 구성을 시작합니다.

    • 부팅 디스크Debian GNU/Linux 12(bookworm) 용으로 구성되었는지 확인합니다.

    선택을 클릭합니다.

  4. 만들기를 클릭합니다.

에 VM 인스턴스 만들기

리전에서 VM 인스턴스를 만듭니다.

  1. 인스턴스 만들기를 클릭합니다.

  2. 머신 구성에서

    다음 값을 선택합니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 mynet-vm-2
    리전
    영역
    시리즈 E2
    머신 유형 e2-micro(vCPU 2개, 1GB 메모리)
  3. OS 및 스토리지를 클릭합니다.

    변경을 클릭하여 부팅 디스크 구성을 시작합니다.

    • 부팅 디스크Debian GNU/Linux 12(bookworm) 용으로 구성되었는지 확인합니다.

    선택을 클릭합니다.

  4. 만들기를 클릭합니다.

참고: 두 VM 인스턴스의 외부 IP 주소는 임시 주소입니다. 인스턴스가 중지되면 해당 인스턴스에 할당된 모든 임시 외부 IP 주소가 일반 Compute Engine 풀로 다시 해제되어 다른 프로젝트에서 사용할 수 있게 됩니다.

중지된 인스턴스가 다시 시작되면 해당 인스턴스에 새 임시 외부 IP 주소가 할당됩니다. 아니면 고정 외부 IP 주소를 예약할 수도 있습니다. 그러면 해당 주소는 명시적으로 해제될 때까지 프로젝트에 무기한으로 할당됩니다.

VM 인스턴스의 연결 확인

mynetwork에 만든 방화벽 규칙은 mynetwork 내부(내부 IP)와 해당 네트워크 외부(외부 IP)에서 발생한 인그레스 SSH 및 ICMP 트래픽을 허용합니다.

  1. 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.

mynet-vm-2의 외부 및 내부 IP 주소를 확인합니다.

  1. mynet-vm-1에서 SSH를 클릭하여 터미널 및 연결을 실행합니다.
참고: tcp:22에 대해 모든(0.0.0.0/0) 수신 트래픽을 허용하는 allow-ssh 방화벽 규칙이 있으므로 SSH로 연결할 수 있습니다. Compute Engine에서 SSH 키를 생성해 다음 위치 중 하나에 저장하기 때문에 SSH 연결이 원활하게 작동합니다.
  • 기본적으로 Compute Engine은 생성된 키를 프로젝트 또는 인스턴스 메타데이터에 추가합니다.
  • 계정이 OS 로그인을 사용하도록 구성된 경우 Compute Engine은 생성된 키를 사용자 계정에 저장합니다.
또는 SSH 키를 만들고 공개 SSH 키 메타데이터를 편집하여 Linux 인스턴스에 대한 액세스를 제어할 수 있습니다.
  1. mynet-vm-2의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 mynet-vm-2의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 mynet-vm-2의 내부 IP 입력>

allow-custom 방화벽 규칙이 있으므로 mynet-vm-2의 내부 IP를 핑할 수 있습니다.

  1. mynet-vm-2의 외부 IP에 대한 연결을 테스트하려면 다음 명령어에 mynet-vm-2의 외부 IP를 삽입하여 실행합니다.
ping -c 3 <여기에 mynet-vm-2의 외부 IP 입력>

참고: 예상대로 mynet-vm-1에 SSH로 연결하고 mynet-vm-2의 내부 및 외부 IP 주소를 핑할 수 있습니다. 또는 mynet-vm-2에 SSH로 연결하고 mynet-vm-1의 내부 및 외부 IP 주소를 핑할 수 있습니다.

네트워크를 커스텀 모드 네트워크로 전환

자동 모드 네트워크가 지금까지 원활하게 작동했지만, 실습 목표에 따라 새 리전을 사용할 수 있을 때 새 서브넷이 자동으로 생성되지 않도록 이 네트워크를 커스텀 모드 네트워크로 전환해야 합니다. 이 경우 수동으로 생성된 서브넷 또는 정적 경로에 사용되는 IP 주소와 겹치거나 전체적인 네트워크 계획에 차질이 발생할 수 있습니다.

  1. 탐색 메뉴()에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
  2. mynetwork를 클릭하여 네트워크 세부정보를 엽니다.
  3. 수정을 클릭합니다.
  4. 서브넷 생성 모드에서 커스텀을 선택합니다.
  5. 저장을 클릭합니다.
  6. VPC 네트워크 페이지로 돌아갑니다.

mynetwork모드커스텀으로 변경될 때까지 기다립니다.

기다리는 동안 새로고침을 클릭해도 됩니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. VPC 네트워크 및 VM 인스턴스 만들기

참고: 자동 모드 네트워크를 커스텀 모드 네트워크로 전환하는 것은 간단한 작업이며, 이렇게 하면 유연성이 향상됩니다. 프로덕션에는 커스텀 모드 네트워크를 사용하는 것이 좋습니다.

작업 3. 커스텀 모드 네트워크 만들기

아래 다이어그램 예시와 같이 SSH, ICMP, RDP 인그레스 트래픽을 허용하는 방화벽 규칙과 VM 인스턴스가 있는 커스텀 네트워크 2개(managementnetprivatenet)를 추가로 만드는 작업을 수행해야 합니다(vm-appliance 제외).

이들 네트워크의 IP CIDR 범위는 겹치지 않기 때문에 네트워크 간의 VPC 피어링과 같은 메커니즘을 설정할 수 있습니다. 온프레미스 네트워크와 다른 IP CIDR 범위를 지정하는 경우에는 VPN 또는 Cloud Interconnect를 사용하여 하이브리드 연결을 구성할 수도 있습니다.

managementnet 네트워크 만들기

Cloud 콘솔을 사용하여 managementnet 네트워크를 만듭니다.

  1. Cloud 콘솔의 탐색 메뉴()에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.

  2. VPC 네트워크 만들기를 클릭합니다.

  3. 이름managementnet를 입력합니다.

  4. 서브넷 생성 모드에서 커스텀을 클릭합니다.

  5. 다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 managementsubnet-1
    리전
    IPv4 범위 10.240.0.0/20
  6. 완료를 클릭합니다.

  7. 상응하는 명령줄을 클릭합니다.

    이러한 명령어는 gcloud 명령줄을 사용하여 네트워크와 서브넷을 만들 수 있음을 보여줍니다. 유사한 매개변수와 함께 이러한 명령어를 사용하여 privatenet 네트워크를 만들겠습니다.

  8. 닫기를 클릭합니다.

  9. 만들기를 클릭합니다.

privatenet 네트워크 만들기

gcloud 명령줄을 사용하여 privatenet 네트워크를 만듭니다.

  1. Cloud 콘솔에서 Cloud Shell 활성화()를 클릭합니다.
  2. 메시지가 표시되면 계속을 클릭합니다.
  3. 다음 명령어를 실행하여 privatenet 네트워크를 만듭니다. 메시지가 표시되면 승인을 클릭합니다.
gcloud compute networks create privatenet --subnet-mode=custom
  1. 다음 명령어를 실행하여 privatesubnet-1 서브넷을 만듭니다.
gcloud compute networks subnets create privatesubnet-1 --network=privatenet --region={{{project_0.default_region|Region 1}}} --range=172.16.0.0/24
  1. 다음 명령어를 실행하여 privatesubnet-2 서브넷을 만듭니다.
gcloud compute networks subnets create privatesubnet-2 --network=privatenet --region={{{ project_0.default_region_2|Region 2}}} --range=172.20.0.0/20
  1. 다음 명령어를 실행하여 사용 가능한 VPC 네트워크의 목록을 출력합니다.
gcloud compute networks list

출력은 다음과 같습니다.

NAME SUBNET_MODE BGP_ROUTING_MODE IPV4_RANGE GATEWAY_IPV4 managementnet CUSTOM REGIONAL mynetwork CUSTOM REGIONAL privatenet CUSTOM REGIONAL
  1. 다음 명령어를 실행하여 사용 가능한 VPC 서브넷의 목록을 출력합니다(VPC 네트워크 기준으로 정렬).
gcloud compute networks subnets list --sort-by=NETWORK 참고: managementnetprivatenet 네트워크는 커스텀 모드 네트워크이므로 직접 생성한 서브넷만 있습니다. mynetwork도 커스텀 모드 네트워크이지만, 자동 모드 네트워크로 시작되었으므로 각 리전에 서브넷이 있습니다.
  1. Cloud 콘솔의 탐색 메뉴()에서 VPC 네트워크 > VPC 네트워크를 클릭합니다.
    Cloud 콘솔에 동일한 네트워크와 서브넷이 나열되는지 확인합니다.

managementnet의 방화벽 규칙 만들기

managementnet 네트워크의 VM 인스턴스에 대한 SSH, ICMP, RDP 인그레스 트래픽을 허용하는 방화벽 규칙을 만듭니다.

  1. Cloud Console의 탐색 메뉴()에서 VPC 네트워크 > 방화벽을 클릭합니다.

  2. 방화벽 규칙 만들기를 클릭합니다.

  3. 다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 managementnet-allow-icmp-ssh-rdp
    네트워크 managementnet
    대상 네트워크의 모든 인스턴스
    소스 필터 IPv4 범위
    소스 IPv4 범위 0.0.0.0/0
    프로토콜 및 포트 지정된 프로토콜 및 포트
참고: 소스 IPv4 범위/0을 입력하여 모든 네트워크를 지정할 수 있도록 합니다.
  1. tcp를 선택하고 포트 223389를 지정합니다.

  2. 기타 프로토콜을 선택하고 icmp 프로토콜을 지정합니다.

  3. 상응하는 명령줄을 클릭합니다.

    이러한 명령어는 gcloud 명령줄을 사용하여 방화벽 규칙을 만들 수도 있음을 보여줍니다. 유사한 매개변수와 함께 이러한 명령어를 사용하여 privatenet의 방화벽 규칙을 만들겠습니다.

  4. 닫기를 클릭합니다.

  5. 만들기를 클릭합니다.

privatenet의 방화벽 규칙 만들기

gcloud 명령줄을 사용하여 privatenet 네트워크의 방화벽 규칙을 만듭니다.

  1. Cloud Shell로 돌아갑니다. 필요한 경우 Cloud Shell 활성화()를 클릭합니다.
  2. 다음 명령어를 실행하여 privatenet-allow-icmp-ssh-rdp 방화벽 규칙을 만듭니다.
gcloud compute firewall-rules create privatenet-allow-icmp-ssh-rdp --direction=INGRESS --priority=1000 --network=privatenet --action=ALLOW --rules=icmp,tcp:22,tcp:3389 --source-ranges=0.0.0.0/0

출력은 다음과 같습니다.

NAME NETWORK DIRECTION PRIORITY ALLOW DENY privatenet-allow-icmp-ssh-rdp privatenet INGRESS 1000 icmp,tcp:22,tcp:3389
  1. 다음 명령어를 실행하여 모든 방화벽 규칙의 목록을 출력합니다(VPC 네트워크 기준으로 정렬).
gcloud compute firewall-rules list --sort-by=NETWORK

출력은 다음과 같습니다.

NAME NETWORK DIRECTION PRIORITY ALLOW managementnet-allow-icmp-ssh-rdp managementnet INGRESS 1000 icmp,tcp:22,tcp:3389 mynetwork-allow-icmp mynetwork INGRESS 1000 icmp mynetwork-allow-internal mynetwork INGRESS 65534 all mynetwork-allow-rdp mynetwork INGRESS 1000 tcp:3389 mynetwork-allow-ssh mynetwork INGRESS 1000 tcp:22 privatenet-allow-icmp-ssh-rdp privatenet INGRESS 1000 icmp,tcp:22,tcp:3389

mynetwork 네트워크의 방화벽 규칙은 이미 생성되어 있습니다. 여러 개의 프로토콜과 포트를 하나의 방화벽 규칙(privatenetmanagementnet)에 정의하거나 여러 규칙(기본mynetwork)에 분산시킬 수 있습니다.

  1. Cloud 콘솔의 탐색 메뉴()에서 VPC 네트워크 > 방화벽을 클릭합니다.
    Cloud 콘솔에 동일한 방화벽 규칙이 나열되는지 확인합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 방화벽 규칙이 있는 커스텀 모드 VPC 네트워크 만들기

이어서 다음 두 개의 VM 인스턴스를 만듭니다.

  • managementsubnet-1managementnet-vm-1
  • privatesubnet-1privatenet-vm-1

managementnet-vm-1 인스턴스 만들기

Cloud 콘솔을 사용하여 managementnet-vm-1 인스턴스를 만듭니다.

  1. Cloud 콘솔탐색 메뉴(☰)에서 Compute Engine > VM 인스턴스를 클릭하고 인스턴스 만들기를 클릭합니다.

    다음과 같이 필드를 작성하고 다른 필드는 모두 기본값으로 둡니다.

  2. 머신 구성에서

    다음 값을 선택합니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    이름 managementnet-vm-1
    리전
    영역
    시리즈 E2
    머신 유형 e2-micro(vCPU 2개, 1GB 메모리)
  3. OS 및 스토리지를 클릭합니다.

    변경을 클릭하여 부팅 디스크 구성을 시작합니다.

    • 부팅 디스크Debian GNU/Linux 12(bookworm) 용으로 구성되었는지 확인합니다.

    선택을 클릭합니다.

  4. 네트워킹을 클릭합니다.

    네트워크 인터페이스에서 드롭다운 화살표를 클릭하여 수정합니다.

    다음을 지정하고 나머지 설정은 기본값으로 둡니다.

    속성 값(지정된 대로 값 입력 또는 옵션 선택)
    네트워크 managementnet
    서브네트워크 managementsubnet-1
참고: 선택 가능한 서브넷은 선택된 리전의 서브넷으로 제한됩니다.
  1. 완료를 클릭합니다.

  2. 상응하는 코드를 클릭합니다.

    이는 gcloud 명령줄을 사용하여 VM 인스턴스를 만들 수도 있음을 보여줍니다. 유사한 파라미터와 함께 이러한 명령어를 사용하여 privatenet-vm-1 인스턴스를 만들겠습니다.

  3. 닫기를 클릭합니다.

  4. 만들기를 클릭합니다.

privatenet-vm-1 인스턴스 만들기

gcloud 명령줄을 사용하여 privatenet-vm-1 인스턴스를 만듭니다.

  1. Cloud Shell로 돌아갑니다. 필요한 경우 Cloud Shell 활성화()를 클릭합니다.
  2. 다음 명령어를 실행하여 privatenet-vm-1 인스턴스를 만듭니다.
gcloud compute instances create privatenet-vm-1 --zone={{{project_0.default_zone|Zone 1}}} --machine-type=e2-micro --subnet=privatesubnet-1 --image-family=debian-12 --image-project=debian-cloud --boot-disk-size=10GB --boot-disk-type=pd-standard --boot-disk-device-name=privatenet-vm-1
  1. 다음 명령어를 실행하여 모든 VM 인스턴스의 목록을 출력합니다(영역 기준으로 정렬).
gcloud compute instances list --sort-by=ZONE
  1. Cloud 콘솔의 탐색 메뉴()에서 Compute Engine > VM 인스턴스를 클릭합니다.

Cloud 콘솔에 해당 VM 인스턴스가 나열되는지 확인합니다.

  1. 에서 영역을 선택합니다.

    에는 인스턴스가 3개, 에는 인스턴스가 1개 있습니다. 하지만 이러한 인스턴스는 VPC 네트워크 3개(managementnet, mynetwork, privatenet)에 분산되어 있으며 다른 인스턴스와 같은 영역 또는 네트워크에 존재하는 경우는 없습니다. 다음 작업에서는 이러한 점이 내부 연결에 미치는 영향에 대해 살펴보겠습니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. VM 인스턴스 만들기

참고: 내부 IP 열에서 nic0 링크를 클릭하여 각 VM 인스턴스의 네트워킹 정보를 자세히 확인할 수 있습니다. 표시되는 네트워크 인터페이스 세부정보 페이지에 서브넷과 IP CIDR 범위, 방화벽 규칙, 인스턴스에 적용되는 경로, 기타 네트워크 분석이 나타납니다.

작업 4. 네트워크 간의 연결 살펴보기

VM 인스턴스 간의 연결을 살펴봅니다. 구체적으로는 여러 VM 인스턴스가 동일한 영역에 존재하는 경우와 동일한 VPC 네트워크에 존재하는 경우 어떤 결과가 발생하는지 비교해 봅니다.

외부 IP 주소 핑하기

VM 인스턴스의 외부 IP 주소를 핑하여 공용 인터넷에서 인스턴스에 도달할 수 있는지 확인합니다.

  1. Cloud 콘솔의 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.
    mynet-vm-2, managementnet-vm-1, privatenet-vm-1의 외부 IP 주소를 확인합니다.
  2. mynet-vm-1에서 SSH를 클릭하여 터미널 및 연결을 실행합니다.
  3. mynet-vm-2의 외부 IP에 대한 연결을 테스트하려면 다음 명령어에 mynet-vm-2의 외부 IP를 삽입하여 실행합니다.
ping -c 3 <여기에 mynet-vm-2의 외부 IP 입력>

명령어가 정상적으로 실행됩니다.

  1. managementnet-vm-1의 외부 IP에 대한 연결을 테스트하려면 다음 명령어에 managementnet-vm-1의 외부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 managementnet-vm-1의 외부 IP 입력>

명령어가 정상적으로 실행됩니다.

  1. privatenet-vm-1의 외부 IP에 대한 연결을 테스트하려면 다음 명령어에 privatenet-vm-1의 외부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 privatenet-vm-1의 외부 IP 입력>

명령어가 정상적으로 실행됩니다.

참고: 모든 VM 인스턴스가 다른 영역이나 다른 VPC 네트워크에 위치해 있음에도 인스턴스의 외부 IP 주소를 핑할 수 있습니다. 이 사실을 통해 이러한 인스턴스에 대한 공개 액세스가 앞서 설정한 ICMP 방화벽 규칙에 의해서만 제어된다는 점을 확인할 수 있습니다.

내부 IP 주소 핑하기

VM 인스턴스의 내부 IP 주소를 핑하여 VPC 네트워크 내에서 인스턴스에 도달할 수 있는지 확인합니다.

  1. Cloud 콘솔의 탐색 메뉴에서 Compute Engine > VM 인스턴스를 클릭합니다.
    mynet-vm-2, managementnet-vm-1, privatenet-vm-1의 내부 IP 주소를 메모해 둡니다.
  2. mynet-vm-1SSH 터미널로 돌아갑니다.
  3. mynet-vm-2의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 mynet-vm-2의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 mynet-vm-2의 내부 IP 입력> 참고: mynet-vm-1의 내부 IP 주소를 핑할 수 있는 이유는 해당 VM 인스턴스와 핑의 소스인 VM 인스턴스(mynet-vm-1)가 각기 다른 영역, 리전, 대륙에 존재하면서도 같은 VPC 네트워크에 있기 때문입니다.
  1. managementnet-vm-1의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 managementnet-vm-1의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 managementnet-vm-1의 내부 IP 입력> 참고: 이 명령어는 100% 패킷 손실이라고 표시되면서 정상적으로 실행되지 않습니다.
  1. privatenet-vm-1의 내부 IP에 대한 연결을 테스트하려면 다음 명령어에 privatenet-vm-1의 내부 IP를 삽입한 후 실행합니다.
ping -c 3 <여기에 privatenet-vm-1의 내부 IP 입력> 참고: 이 역시 100% 패킷 손실이라고 표시되면서 정상적으로 실행되지 않습니다. managementnet-vm-1privatenet-vm-1의 내부 IP 주소를 핑할 수 없는 이유는 해당 VM 인스턴스가 핑의 소스인 VM 인스턴스(mynet-vm-1)와 같은 영역에 존재하지만 다른 VPC 네트워크에 있기 때문입니다.

작업 5. 검토

이 실습에서는 기본 네트워크를 살펴보고 VPC 네트워크 없이는 VM 인스턴스를 만들 수 없다는 사실도 확인했습니다. 이 실습을 통해 서브넷, 경로, 방화벽 규칙, 2개의 VM 인스턴스가 있는 자동 모드 VPC 네트워크를 새로 만들고 VM 인스턴스의 연결을 테스트해 보았습니다. 프로덕션에는 자동 모드 네트워크가 권장되지 않기 때문에 자동 모드 네트워크를 커스텀 모드 네트워크로 전환했습니다.

이어서 Cloud 콘솔과 gcloud 명령줄을 사용하여 방화벽 규칙 및 VM 인스턴스가 있는 커스텀 모드 VPC 네트워크를 두 개 더 만들었습니다. 그런 다음 VPC 네트워크 간의 연결을 테스트했는데, 외부 IP 주소를 핑할 때는 실행됐지만 내부 IP 주소를 핑할 때는 실행되지 않았습니다.

VPC 네트워크는 기본적으로 격리되어 있는 비공개 네트워크 도메인입니다. 따라서 VPC 피어링 또는 VPN과 같은 메커니즘을 설정하지 않는 한, 네트워크 간 내부 IP 주소 통신은 허용되지 않습니다.

AWS와 Google Cloud의 유사점을 살펴보겠습니다.

  • AWS와 Google Cloud 모두 계정을 만들면 사전 구성된 기본 VPC를 사용할 수 있으며 서브넷 크기처럼 구체적인 요건에 따라 자체 커스텀 VPC를 생성하고 구성할 수도 있습니다. AWS에서는 이를 기본값이 아닌 VPC라고 합니다.
  • 다양한 접근 방식과 권장사항을 따라 네트워크의 보안을 보장할 수 있습니다. 이를 위한 한 가지 방법은 지정한 구성에 따라 가상 머신(VM) 또는 EC2 인스턴스와 연결을 허용하거나 거부하는 VPC 방화벽 규칙 집합을 생성하는 것입니다. 각 방화벽 규칙은 수신(인그레스)이나 송신(이그레스) 연결에 적용됩니다. 각 방화벽 규칙은 트래픽을 허용하거나 거부할 수 있고, 스테이트풀(Stateful)입니다. 이는 네트워크 연결 상태를 계속 추적한다는 의미입니다.

Google Cloud와 AWS의 차이점을 이해하는 것도 중요합니다.

  • Google Cloud에서 VPC는 리전 단위인 AWS VPC와 달리 글로벌 서비스입니다. Google Cloud VPC는 여러 리전에 걸쳐 다양한 지역의 리소스를 원활하게 연결할 수 있습니다.
  • Google Cloud에서 클래스 없는 도메인 간 라우팅(CIDR) 블록은 VPC 수준이 아닌 서브넷 수준에서 정의됩니다.
  • 서브넷의 범위도 다릅니다. Google Cloud에서 서브넷은 여러 리전과 영역에 걸쳐 있지만, AWS에서는 하나의 가용성 영역으로 제한됩니다.
  • Amazon VPC와 Google Cloud VPC의 또 다른 중요한 차이점은 VPC를 배포하는 모드입니다. AWS에서는 기본 VPC와 별개로 기본값이 아닌 VPC를 생성할 수 있는데, 이는 사용하고자 하는 서브넷 및 가용성 영역을 포함하여 상세하게 설정하고 구성한 VPC를 의미합니다. Google Cloud에서는 자동 또는 커스텀 모드에서 VPC를 생성할 수 있습니다. Google Cloud에서 자동 모드 VPC 네트워크가 생성되면 네트워크 내 각 리전에서 하나의 서브넷이 자동으로 생성되고 서브넷에 대해 일련의 IPv4 범위가 사전 정의됩니다. 커스텀 모드 VPC에서는 서브넷이 자동으로 생성되지 않으므로 서브넷과 IP 범위를 완전히 제어할 수 있습니다. 사용자가 직접 지정한 IP 범위를 사용하여 선택한 리전에 만들 서브넷을 결정합니다.

실습 종료하기

실습을 완료하면 실습 종료를 클릭합니다. Google Cloud Skills Boost에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.

실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.

별점의 의미는 다음과 같습니다.

  • 별표 1개 = 매우 불만족
  • 별표 2개 = 불만족
  • 별표 3개 = 중간
  • 별표 4개 = 만족
  • 별표 5개 = 매우 만족

의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.

의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.

Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

이전 다음

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
미리보기