1. 소개
Google Cloud의 IP 주소 지정 옵션
IP 주소는 네트워크의 호스트와 네트워크를 식별하는 데 도움이 됩니다. IPv4 및 IPv6 주소 유형이 있습니다. 네트워킹의 트래픽이 패킷 교환의 소스와 대상을 식별할 수 있도록 하려면 이러한 주소가 고유해야 합니다. IP 주소 지정은 Google Cloud에만 해당하는 것이 아니며 클라우드와 온프레미스 환경 모두에 존재합니다.
Virtual Private Cloud(VPC)
VPC는 기존 데이터 센터를 논리적으로 표현한 것입니다. 기본 VPC와 자동 모드 VPC 외에도 Google Cloud에서는 커스텀 VPC를 만들 수 있습니다. 이러한 맞춤 VPC를 사용하면 VPC 구성을 완전히 관리할 수 있습니다.
부하 분산기
부하 분산기를 사용하면 애플리케이션의 여러 인스턴스에 트래픽을 분산할 수 있습니다. Google Cloud에는 부하 분산 문서에 나와 있는 여러 부하 분산기 유형이 있습니다. 이 실습에서는 간단한 웹사이트에 액세스할 수 있는 전역 외부 애플리케이션 부하 분산기를 만듭니다.
Cloud NAT
이렇게 하면 비공개 서브넷이 인터넷과 통신할 수 있습니다. 내부 IP 주소를 공개 IP 주소로 변환하여 외부 호스트에 연결하면 됩니다. 그런 다음 외부 소스의 반환 트래픽이 NAT 게이트웨이에서 역변환되어 비공개 주소 지정을 사용하여 트래픽을 클라이언트에 반환합니다. 연결은 이그레스 방식으로 시작됩니다.
가상 머신
운영 체제를 실행하는 가상 시스템입니다. 이는 사용자 요구사항에 따라 구성할 수 있으며 메모리, 스토리지, 네트워킹, OS 구성요소로 구성됩니다.
빌드할 항목
이 Codelab에서는 두 개의 맞춤 VPC를 만들고 IPv4 및 IPv6 주소 유형(내부 및 외부)을 사용 설정 및 구성합니다. 또한 비공개 IP 주소가 있는 VM에서 간단한 nginx 서버를 빌드하고 외부 애플리케이션 부하 분산기를 사용하여 노출한 후 IPv4 및 IPv6 주소를 사용하여 연결합니다.
- 커스텀 VPC 2개 만들기 및 방화벽 규칙 추가
- 단일 스택 IPv4 및 이중 스택 IPv4_IPv6 서브넷 만들기
- 서브넷의 비공개 리소스에 대한 NAT 게이트웨이를 만들어 업데이트 가져오기
- MIG를 사용하여 비공개 VM Apache 서버 만들기
- 정적 IPv4 및 IPv6 주소로 애플리케이션 LB를 통해 비공개 VM 서버 노출
- 외부 IPv4, IPv6 클라이언트 만들기
- 클라이언트에서 IPv4 및 IPv6 애플리케이션 부하 분산기 주소에 연결
학습할 내용
- 커스텀 VPC를 만드는 방법
- 서브넷에서 IPv6를 사용 설정하는 방법
- 방화벽 규칙을 설정하는 방법
- NAT 게이트웨이 만드는 방법
- 관리형 인스턴스 그룹을 만드는 방법
- IPv4, IPv6 클라이언트를 만드는 방법
- 고정 IP를 만드는 방법
- 애플리케이션 LB를 만드는 방법
이 Codelab은 IP 주소 지정에 중점을 두고 있으며 구체적으로 VM과 부하 분산기도 사용합니다.
필요한 항목
- Google Cloud 콘솔에 연결할 웹브라우저
- VPC 및 방화벽 규칙을 만들 수 있는 기능
- ssh를 사용할 수 있는 기능
- Google Cloud 계정
2. 설정
실험실 설정
자습형 환경 설정
- Google Cloud Console에 로그인하여 새 프로젝트를 만들거나 기존 프로젝트를 재사용합니다. 아직 Gmail이나 Google Workspace 계정이 없는 경우 계정을 만들어야 합니다.
- 프로젝트 이름은 이 프로젝트 참가자의 표시 이름입니다. 이는 Google API에서 사용하지 않는 문자열이며 언제든지 업데이트할 수 있습니다.
- 프로젝트 ID는 모든 Google Cloud 프로젝트에서 고유하며, 변경할 수 없습니다(설정된 후에는 변경할 수 없음). Cloud 콘솔은 고유한 문자열을 자동으로 생성합니다. 일반적으로는 신경 쓰지 않아도 됩니다. 대부분의 Codelab에서는 프로젝트 ID (일반적으로
PROJECT_ID
로 식별됨)를 참조해야 합니다. 생성된 ID가 마음에 들지 않으면 다른 임의 ID를 생성할 수 있습니다. 또는 직접 시도해 보고 사용 가능한지 확인할 수도 있습니다. 이 단계 이후에는 변경할 수 없으며 프로젝트 기간 동안 유지됩니다. - 참고로 세 번째 값은 일부 API에서 사용하는 프로젝트 번호입니다. 이 세 가지 값에 대한 자세한 내용은 문서를 참고하세요.
- 다음으로 Cloud 리소스/API를 사용하려면 Cloud 콘솔에서 결제를 사용 설정해야 합니다. 이 Codelab 실행에는 많은 비용이 들지 않습니다. 이 튜토리얼이 끝난 후에 요금이 청구되지 않도록 리소스를 종료하려면 만든 리소스 또는 프로젝트를 삭제하면 됩니다. Google Cloud 신규 사용자는 300달러(USD) 상당의 무료 체험판 프로그램에 참여할 수 있습니다.
Cloud Shell 시작
Google Cloud를 노트북에서 원격으로 실행할 수 있지만, 이 Codelab에서는 Cloud에서 실행되는 명령줄 환경인 Google Cloud Shell을 사용합니다.
Google Cloud Console의 오른쪽 상단 툴바에 있는 Cloud Shell 아이콘을 클릭합니다.
환경을 프로비저닝하고 연결하는 데 몇 분 정도 소요됩니다. 완료되면 다음과 같이 표시됩니다.
가상 머신에는 필요한 개발 도구가 모두 들어있습니다. 영구적인 5GB 홈 디렉터리를 제공하고 Google Cloud에서 실행되므로 네트워크 성능과 인증이 크게 개선됩니다. 이 Codelab의 모든 작업은 브라우저 내에서 수행할 수 있습니다. 아무것도 설치할 필요가 없습니다.
3. 커스텀 VPC 구성
커스텀 VPC를 사용해야 하는 이유
이 실습에서는 IPv6 트래픽을 위한 규칙을 비롯한 몇 가지 방화벽 규칙을 추가할 예정이며, 이러한 규칙은 기본 네트워크와 분리하는 것이 좋습니다. 또한 서브넷에서 IPv6를 사용 설정할 예정입니다. 이를 위해 커스텀 모드 네트워크에서 사용 설정해야 합니다. 자동 모드 네트워크에서 자동으로 생성된 서브넷은 지원되지 않습니다.
내부 IPv6로 맞춤 VPC 설정하기
- 네트워킹에서 VPC 네트워크를 선택합니다.
- 상단에서 VPC 네트워크 만들기를 선택합니다.
- VPC 네트워크 만들기 섹션에 다음을 추가합니다.
- 네트워크의 이름을 ipv4-ipv6-network로 입력합니다.
- VPC 네트워크 ULA 내부 IPv6 범위 섹션에서 사용 설정됨을 선택합니다.
- ULA 내부 IPv6 범위 할당 섹션에서 자동으로를 선택합니다.
- 서브넷 생성 모드에서 커스텀을 선택합니다.
- 새 서브넷 섹션에서 서브넷에 다음 구성 매개변수를 지정합니다.
구성 | 값 |
이름 | ipv4 |
지역 | europe-west1 |
IP 스택 유형 | IPv4(단일 스택) |
IPv4 범위 | 192.168.10.0/24 |
보조 IPv4 범위 만들기 | 선택 |
서브넷 범위 이름 1 | ipv4-sec |
보조 IPv4 범위 1 | 10.0.10.0/24 |
- 완료를 선택합니다.
- 다른 서브넷을 추가하고 IPV6을 사용 설정하겠습니다. 다른 서브넷을 추가하려면 '서브넷 추가'를 선택합니다. 새 서브넷 섹션에서 서브넷에 다음 구성 매개변수를 지정합니다.
- 서브넷 이름에 ipv6net을 입력합니다.
- 리전에서 us-central1을 선택합니다.
- IP 스택 유형에 IPv4 및 IPV6(이중 스택)을 선택합니다.
- IPv4 범위를 입력하고 192.168.20.0/24를 사용합니다.
- IPv6 액세스 유형에서 내부를 선택합니다.
- 완료를 선택합니다.
- 방화벽 규칙 섹션에서 다음을 선택합니다.
- IPv4 방화벽 규칙 탭에서 사용 가능한 모든 옵션(allow-cutom(내부 통신용), allow-icmp, allow-rdp, allow-ssh)을 선택합니다.
- IPv6 방화벽 규칙 탭에서 사용 가능한 모든 옵션(allow-ipv6-cutom(내부 통신용), allow-ipv6-icmp, allow-ipv6-rdp, allow-ipv6-ssh)을 선택합니다.
이 옵션은 새 서브넷에 일치하는 규칙을 자동으로 만듭니다.
- 동적 라우팅 모드 섹션에서 VPC 네트워크의 전역을 선택합니다. 자세한 내용은 동적 라우팅 모드를 참고하세요. 나중에 동적 라우팅 모드를 변경할 수 있습니다.
- 최대 전송 단위 (MTU)에서 1460을 선택합니다.
- 만들기를 클릭합니다.
외부 IPv6로 맞춤 VPC 설정하기
- 네트워킹에서 VPC 네트워크를 선택합니다.
- 상단에서 VPC 네트워크 만들기를 선택합니다.
- VPC 네트워크 만들기 섹션에 다음을 추가합니다.
- 네트워크의 이름을 external-ipv6-network로 입력합니다.
- VPC 네트워크 ULA 내부 IPv6 범위 섹션에서 사용 설정됨을 선택합니다.
- ULA 내부 IPv6 범위 할당 섹션에서 자동으로를 선택합니다.
- 서브넷 생성 모드에서 커스텀을 선택합니다.
- 새 서브넷 섹션에서 서브넷에 다음 구성 매개변수를 지정합니다.
- 서브넷 이름에 ipv6-external을 입력합니다.
- 리전에서 us-east1을 선택합니다.
- IP 스택 유형에서 IPv4 및 IPv6 (이중 스택)를 선택합니다.
- IPv4 범위를 입력합니다. 192.168.200.0/24를 사용합니다.
- IPv6 액세스 유형에서 외부를 선택합니다.
- 완료를 선택합니다.
- 방화벽 규칙 섹션에서 다음을 선택합니다.
- IPv4 방화벽 규칙 탭에서 사용 가능한 모든 옵션(allow-cutom(내부 통신용), allow-icmp, allow-rdp, allow-ssh)을 선택합니다.
- IPv6 방화벽 규칙 탭에서 사용 가능한 모든 옵션을 선택합니다. allow-ipv6-cutom (내부 통신용), allow-ipv6-icmp, allow-ipv6-rdp, allow-ipv6-ssh가 있습니다. 이 실습에서는 이 옵션을 사용하여 새 서브넷에 일치 규칙을 자동으로 만듭니다.
- 동적 라우팅 모드 섹션에서 VPC 네트워크의 전역을 선택합니다. 자세한 내용은 동적 라우팅 모드를 참조하세요. 나중에 동적 라우팅 모드를 변경할 수 있습니다.
- 최대 전송 단위(MTU)에서 1,460을 선택합니다.
- 만들기를 클릭합니다.
방화벽 규칙 확인
방화벽 규칙 제어를 사용하면 서비스에 대한 트래픽을 거부할 수 있습니다.
규칙이 있는지 확인하려면 다음 단계를 따르세요.
- VPC 네트워크로 이동합니다.
- 왼쪽 패널에서 방화벽 을 선택합니다.
- 디스플레이 영역을 확인하여 새로 만든 네트워크의 방화벽 규칙이 표시되는지 확인합니다. 가로로 스크롤하여 네트워크 열을 찾은 다음 아래로 스크롤합니다. 방화벽 규칙의 네트워크 열에 만든 네트워크의 이름이 표시됩니다. 이 경우 ipv4-ipv6-network 및 external-ipv6-network입니다. 이 이름은 프로젝트에서 고유해야 합니다.
- 다음으로 상태 점검을 허용하는 새 방화벽 규칙을 만듭니다.
- Cloud Run을 엽니다(아직 열려 있지 않으면 상단 표시줄에서 Cloud Shell 활성화()를 선택). Cloud Shell 세션이 열리고 명령줄 프롬프트가 표시됩니다. 올바른 프로젝트인지 확인하고 다음 코드를 붙여넣으세요.
gcloud compute firewall-rules create ipv4-ipv6-hc \ --direction=INGRESS \ --network=ipv4-ipv6-network \ --action=ALLOW \ --rules=tcp:80,tcp:8080,tcp:443 \ --source-ranges=35.191.0.0/16,130.211.0.0/22,209.85.152.0/22,209.85.204.0/22 \ --target-tags=ipv6-server
- 완료되면 ipv4-ipv6-network에 연결된 방화벽 규칙 ipv6-ipv4-hc의 항목이 표시되는지 확인합니다.
4. NAT 게이트웨이 구성
- Network Services로 이동합니다.
- Cloud NAT를 선택하고 시작하기를 선택합니다.
- 게이트웨이 이름은 ipv4-ipv6-nat를 사용합니다.
- 네트워크 선택 ipv4-ipv6-network
- 리전 선택 us-central1
- Cloud Router에서 새 라우터 만들기 선택
- 라우터 페이지를 만들고 다음을 구성합니다.
- 이름을 ipv4-ipv6-nat-router로 지정합니다.
- 나머지는 모두 기본값으로 두고 create를 선택합니다.
- Cloud NAT 게이트웨이 만들기 페이지로 돌아가서 다른 옵션은 create(만들기)이므로 그대로 둡니다.
5. 비공개 VPC에서 인스턴스 구성
인스턴스 템플릿 비공개 VPC 만들기
- Cloud Shell을 엽니다.
- 프로젝트가 여러 개인 경우 올바른 프로젝트에 있는지 확인합니다.
- 다음을 복사하여 붙여넣습니다.
gcloud compute instance-templates create ipv6-internal-server \ --region=us-central1 \ --network-interface=subnet=ipv6net,no-address,stack-type=IPV4_IPV6 \ --machine-type=n1-standard-1 \ --metadata=^,@^startup-script=\#\!/bin/bash$'\n'\#\ package\ updates\ \ \ \ \ \ $'\n'apt\ update\ -y$'\n'apt\ install\ nginx\ -y$'\n'systemctl\ start\ nginx$'\n'systemctl\ enable\ nginx$'\n'systemctl\ status\ nginx\ \|\ grep\ Active$'\n'chown\ -R\ \$USER:\$USER\ /var/www$'\n'cd\ /var/www/html/$'\n'echo\ \'\<\!DOCTYPE\ html\>\'\ \>\ /var/www/html/index.html$'\n'echo\ \'\<html\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<head\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<title\>Awesome\ web\ app\</title\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<meta\ charset=\"UTF-8\"\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\</head\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<body\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<h1\>IPv6\ server\</h1\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\<h3\>You\ are\ successful\</h3\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\</body\>\'\ \>\>\ /var/www/html/index.html$'\n'echo\ \'\</html\>\'\ \>\>\ /var/www/html/index.html$'\n' --tags=ipv6-server,http-server,https-server \ --create-disk=auto-delete=yes,boot=yes,device-name=ipv6-internal-server,image=projects/debian-cloud/global/images/debian-11-bullseye-v20230306,mode=rw,size=20,type=pd-balanced
- Compute Engine으로 이동합니다.
- 인스턴스 템플릿을 선택합니다.
- 인스턴스 템플릿 창에서 방금 만든 템플릿이 표시되는지 확인합니다.
- 템플릿 이름을 클릭하고 아래로 스크롤하여 구성을 확인합니다.
- 네트워크 인터페이스에서 스택 유형이 IPv4 및 IPv6인지 확인합니다.
비공개 VPC에서 인스턴스 그룹 만들기
- Compute Engine으로 이동합니다.
- 인스턴스 그룹 펼치기 선택
- 상태 점검을 선택합니다.
- 상태 점검 만들기를 선택합니다.
- 상태 점검 만들기 페이지에서 다음을 사용합니다.
- 이름은 ipv6-server-hc를 사용합니다.
- 프로토콜 TCP 포트 80
- 상태 기준 섹션으로 스크롤
- 확인 간격 10, 제한 시간 5
- 정상 기준 2, 비정상 기준 4
- 끝까지 스크롤하여 create를 선택합니다.
- Compute Engine으로 이동
- 인스턴스 그룹 선택
- 인스턴스 그룹 만들기를 선택합니다.
- 새 관리형 인스턴스 그룹(스테이트풀(Stateful))을 선택합니다.
- 이름에 ipv6-server-igp를 사용합니다.
- 인스턴스 템플릿에는 ipv6-internal-server를 사용합니다.
- 인스턴스 수에는 2를 사용합니다.
- 위치에 단일 영역을 사용하고 리전이 us-central1인지 확인합니다.
- 자동 복구에서 아래로 스크롤합니다.
- 상태 점검 사용 ipv6-server-hc
- 초기 지연에 120을 입력합니다.
- 나머지는 모두 기본값으로 두고 만들기를 선택합니다.
인스턴스 그룹 생성을 완료하는 데 몇 분 정도 걸립니다.
인스턴스 그룹 및 VM 확인
인스턴스 그룹이 완료되면 확인해 보겠습니다.
- Compute Engine으로 이동하여 인스턴스 그룹을 선택합니다.
- 방금 만든 인스턴스 그룹의 이름을 선택합니다. ipv6-server-igp
- 다음이 표시되는지 확인합니다.
- 상태별 인스턴스 2개 (아직 정상으로 표시되지 않은 경우 모든 상태 점검이 실행될 때까지 잠시 기다리세요.)
- 상태별 인스턴스 100% 정상
다음으로 이 인스턴스 그룹의 VM으로 바로 이동해 몇 가지 테스트를 수행해 보겠습니다.
- VM 인스턴스를 선택하면 이름이 ipv6-server-igp로 시작하는 VM 2개가 표시됩니다.
- 내부 IP 열을 스크롤하면 IPv4 및 IPv6 주소가 모두 표시됩니다. 각 서버의 두 주소를 모두 기록합니다.
- 첫 번째 VM 옆에 있는 SSH를 선택합니다. 그러면 서버에 대한 SSH 세션이 직접 열립니다.
- SSH 창에
curl localhost
을 입력합니다. VM에서 실행 중인 웹서버에서 다음과 같이 HTML을 표시하는 응답을 받게 됩니다.
- 그런 다음
ip addr
를 입력하여 주소 정보를 표시합니다. exxx 인터페이스에 이 VM에 대해 이전 6단계에서 기록한 것과 동일한 IPv4 및 IPv6 주소가 있는지 확인합니다. - 이 VM에서 두 번째 VM의 IPv4 주소로
ping -c 4 XXXX
를 실행한 다음 두 번째 VM의 IPv6 주소를 사용하여 동일한 작업을 실행합니다.
- <선택사항> SSH로 두 번째 VM에 연결하고 동일한 테스트를 수행할 수 있습니다. VM 1 IPv4 및 IPv6 주소를 핑해 보세요.
비공개 VPC에 독립형 IPv4 전용 인스턴스 만들기
- Compute Engine으로 이동합니다.
- VM 인스턴스를 선택하고 인스턴스 만들기를 선택합니다.
- 다음과 같이 구성 페이지를 작성합니다.
- 이름에 ipv4-only 사용
- 리전은 europe-west1을 선택합니다.
- 아래로 스크롤하여 고급 옵션을 펼친 다음 네트워킹을 펼칩니다. 이제 네트워크 인터페이스 에서 다음을 사용합니다.
- 기본값 옆에 있는 드롭다운 화살표를 선택하여 인터페이스 수정 옵션 을 확인합니다.
- 네트워크가 ipv4-ipv6-network로 변경됨
- 서브네트워크 ipv4
- 외부 IPv4 주소에서 없음을 선택합니다.
- 완료를 선택합니다.
- 끝까지 스크롤하여 create를 선택합니다.
- VM을 만드는 데 몇 분 정도 걸립니다. 이 VM은 외부 IP 주소가 할당되지 않은 IPv4 전용 서브넷에 있습니다. 확인하려면 VM 인스턴스 페이지로 이동하여 ipv4 전용이라는 VM을 찾습니다.
- SSH를 선택하여 ipv4-only라는 VM에 SSH로 연결합니다.
- ipv6-server-igp라는 이름으로 시작하기 전에 생성된 모든 VM의 비공개 IPv4 주소에
ping -c 4 X.X.X.X
를 수행합니다. 이러한 VM의 내부 IPv4 주소를 핑할 수 있습니다.
6. 비공개 VPC에서 IPv4 및 IPv6 주소가 있는 애플리케이션 LB 만들기
고정 외부 IP 2개 만들기
- VPC 네트워크로 이동합니다.
- IP 주소를 선택하고 외부 고정 주소 예약을 선택합니다.
- IPv4 주소의 경우 다음을 사용합니다.
- 이름 ipv4-lb-ip
- IP 버전 IPv4
- 전역을 입력합니다.
- 끝까지 스크롤하여 예약을 선택합니다.
- IPv6 주소의 경우 2단계를 반복하고 다음을 사용합니다.
- 이름 ipv6-lb-ip
- IP 버전 IPv6
- 전역을 입력합니다.
- 끝까지 스크롤하여 예약을 선택합니다.
이 IP 주소를 기록합니다. 마지막 섹션에서 연결을 테스트하는 데 필요합니다.
외부 애플리케이션 LB 만들기
- 네트워크 서비스로 이동합니다.
- 부하 분산기 만들기 선택
- 부하 분산기 유형에서 애플리케이션 부하 분산기(HTTP/HTTPS)를 선택한 다음 다음을 선택합니다.
- 공개 또는 내부에서 공개 (외부)를 선택한 후 다음을 선택합니다.
- 전역 또는 단일 리전 배포에서 전역 워크로드에 적합을 선택한 다음 다음을 클릭합니다.
- 부하 분산기 생성에서 전역 외부 애플리케이션 부하 분산기를 선택한 다음 다음을 선택합니다.
- 구성을 선택합니다.
- 상단의 전역 외부 애플리케이션 부하 분산기 만들기에서 이름으로 ipv4-ipv6-lb-demo를 사용합니다.
- 그런 다음 프런트엔드 구성을 선택하고 다음을 사용합니다.
- 이름 ipv4-fe-lb
- 프로토콜 HTTP
- IP 버전 IPv4
- IP 주소: 앞서 만든 고정 외부 IPv4 IP를 할당하려면 ipv4-lb-ip를 선택합니다.
- 포트 80
- '완료'를 선택합니다.
- 프런트엔드 구성 및 IPv6 첨부파드에서 프런트엔드 IP 및 포트 추가:를 선택합니다.
- 이름 ipv6-fe-lb
- 프로토콜 HTTP
- IP 버전 IPv6
- IP 주소에서 ipv6-lb-ip를 선택하여 생성한 고정 외부 IPv6 IP를 할당합니다.
- 포트 80
- '완료'를 선택합니다.
- 오른쪽 창에서 백엔드 구성을 선택하고 백엔드 서비스 및 백엔드 버킷에서 백엔드 서비스 만들기를 선택한 다음 다음을 사용합니다.
- 이름 server-backend
- 백엔드 유형 인스턴스 그룹
- 프로토콜 HTTP
- 인스턴스 그룹 ipv6-server-igp
- 포트 번호 80, 8080
- Cloud CDN 사용 설정을 선택 해제합니다.
- 상태 점검 선택 ipv6-server-hc
- 스크롤하여 만들기 선택 종료
- 그런 다음 확인 을 선택합니다.
- 페이지 하단으로 스크롤하여 만들기를 선택합니다. 완료되면 다음과 같이 표시됩니다.
- 새 LB의 이름을 클릭하고 프런트엔드에서 IPv4 및 IPv6 주소를 기록합니다. 마지막 테스트에 필요합니다.
7. 외부 및 내부 IPv4 및 IPv6 주소로 단일 인스턴스 만들기
외부 IPv4 및 IPv6 주소로 스탠드얼론 만들기
- Compute Engine으로 이동합니다.
- VM 인스턴스를 선택하고 인스턴스 만들기를 선택합니다.
- 다음과 같이 구성 페이지를 작성합니다.
- 이름은 external-ipv4-ipv6를 사용합니다.
- 리전 us-east1 선택
- 아래로 스크롤하여 고급 옵션을 펼친 다음 네트워킹을 펼칩니다. 이제 다음을 사용합니다.
- 네트워크 인터페이스에서 네트워크 external-ipv6-network를 선택합니다.
- 서브넷 ipv6-external
- IP 스택 유형 IPv4 및 IPv6(이중 스택)
- 외부 IPv4 주소에서 임시를 선택합니다.
- 완료를 선택합니다.
- 끝까지 스크롤하여 create를 선택합니다.
- VM을 만드는 데 몇 분 정도 걸립니다. 이 VM은 외부 IPv6 주소 액세스가 있는 IPv4_IPv6 서브넷에 있습니다. 확인하려면 VM 인스턴스 페이지로 이동하여 external-ipv4-ipv6라는 VM을 찾습니다.
- SSH 옵션을 선택하여 external-ipv4-ipv6 VM에 SSH로 연결합니다.
ip addr
를 입력하여 VM에 할당된 IPv4 및 IPv6 주소를 확인합니다.- ipv4-ipv6-lb-demo의 IPv4 주소로 이동합니다.
- external-ipv4-ipv6 VM SSH 세션에
curl X.X.X.X
을 입력합니다. 여기서 X.X.X.X는 ipv4-ipv6-lb-demo 부하 분산기의 IPv4 주소입니다. ipv4-ipv6-network에서 서버에서 실행 중인 웹사이트의 HTML이 표시됩니다. - external-ipv4-ipv6 VM SSH 세션에
curl [X:X:X:X]:80
을 입력합니다. 여기서 X:X:X:X는 ipv4-ipv6-lb-demo 부하 분산기의 IPv6 주소입니다. 다음과 같이 표시됩니다.curl [2600:1901:X:XXXX::]:80
ipv4-ipv6-network에 서버에서 실행 중인 웹사이트의 HTML이 표시됩니다.
8. 삭제
다음 명령어를 실행하여 프로젝트를 삭제할 수 있습니다.
gcloud compute instances delete external-ipv4-ipv6 --zone=us-east1-b --quiet gcloud compute instances delete ipv4-only --zone=europe-west1-b --quiet gcloud compute forwarding-rules delete ipv4-fe-lb --global --quiet gcloud compute forwarding-rules delete ipv6-fe-lb --global --quiet gcloud compute target-http-proxies delete ipv4-ipv6-lb-demo-target-proxy --quiet gcloud compute target-http-proxies delete ipv4-ipv6-lb-demo-target-proxy-2 --quiet gcloud compute url-maps delete ipv4-ipv6-lb-demo --quiet gcloud compute backend-services delete server-backend --global --quiet gcloud compute addresses delete ipv4-lb-ip --global --quiet gcloud compute addresses delete ipv6-lp-ip --global --quiet gcloud compute instance-groups managed delete ipv6-server-igp --zone us-central1-a --quiet gcloud compute instance-templates delete "ipv6-internal-server" --quiet gcloud compute health-checks delete ipv6-server-hc --quiet gcloud compute routers nats delete ipv4-ipv6-nat --router=ipv4-ipv6-nat-router --region=us-central1 --quiet gcloud compute routers delete ipv4-ipv6-nat-router --region=us-central1 --quiet gcloud compute firewall-rules delete external-ipv6-network-allow-ipv6-custom external-ipv6-network-allow-ipv6-ssh external-ipv6-network-allow-rdp external-ipv6-network-allow-ipv6-rdp external-ipv6-network-allow-ssh external-ipv6-network-allow-ipv6-icmp external-ipv6-network-allow-custom external-ipv6-network-allow-icmp --quiet gcloud compute firewall-rules delete ipv4-ipv6-hc ipv4-ipv6-network-allow-custom ipv4-ipv6-network-allow-ipv6-icmp ipv4-ipv6-network-allow-icmp ipv4-ipv6-network-allow-ssh ipv4-ipv6-network-allow-rdp ipv4-ipv6-network-allow-ipv6-ssh ipv4-ipv6-network-allow-ipv6-rdp ipv4-ipv6-network-allow-ipv6-custom --quiet gcloud compute networks subnets delete ipv4 --region=europe-west1 --quiet gcloud compute networks subnets delete ipv6net --region=us-central1 --quiet gcloud compute networks subnets delete ipv6-external --region=us-east1 --quiet gcloud compute networks delete external-ipv6-network --quiet gcloud compute networks delete ipv4-ipv6-network --quiet
9. 축하합니다
축하합니다. IPv4 및 IPv6 네트워킹 옵션을 모두 성공적으로 살펴보았습니다!
참조 문서
설명서 최종 업데이트: 2023년 3월
실습 최종 테스트: 2023년 3월