대부분의 Google Cloud 리소스에는 내부 IP 주소와 외부 IP 주소가 있습니다. 예를 들어 Compute Engine 인스턴스에 내부 및 외부 IP 주소를 할당할 수 있습니다. 인스턴스는 이러한 주소를 사용하여 다른 Google Cloud 리소스 및 외부 시스템과 통신합니다.
인스턴스에서 사용하는 각 네트워크 인터페이스에는 하나의 기본 내부 IPv4 주소가 있어야 합니다. 각 네트워크 인터페이스는 하나 이상의 별칭 IPv4 범위와 하나의 외부 IPv4 주소를 포함할 수도 있습니다. 인스턴스가 IPv6를 지원하는 서브넷에 연결된 경우 각 네트워크 인터페이스에 내부 또는 외부 IPv6 주소가 할당될 수도 있습니다.
인스턴스는 인스턴스의 내부 IPv4 주소를 사용하여 동일한 Virtual Private Cloud (VPC) 네트워크의 인스턴스와 통신할 수 있습니다. 인스턴스에 IPv6가 구성되어 있으면 인스턴스의 내부 또는 외부 IPv6 주소 중 하나를 사용할 수도 있습니다. 가능한 한 내부 통신에는 내부 IPv6 주소를 사용하는 것이 좋습니다.
인터넷 통신을 위해서는 인스턴스에 구성된 외부 IPv4 또는 외부 IPv6 주소를 사용할 수 있습니다. 인스턴스에 외부 주소가 구성되지 않았으면 IPv4 트래픽에 Cloud NAT를 사용할 수 있습니다.
마찬가지로, 인스턴스의 외부 IPv4 또는 외부 IPv6를 사용해서 동일한 VPC 네트워크 외부의 인스턴스에 연결해야 합니다. 그러나 VPC 네트워크 피어링 사용과 같이 네트워크가 동일한 방법으로 연결되어 있으면 인스턴스의 내부 IP 주소를 사용할 수 있습니다.
인스턴스의 내부 및 외부 IP 주소를 식별하는 방법은 인스턴스의 네트워크 구성 보기를 참고하세요.
내부 IP 주소
인스턴스의 네트워크 인터페이스에는 인스턴스가 연결된 서브넷의 IP 주소가 할당됩니다. 각 네트워크 인터페이스에는 서브넷의 기본 IPv4 범위에서 할당되는 하나의 기본 내부 IPv4 주소가 있습니다. 서브넷에 내부 IPv6 범위가 있는 경우 기본 내부 IPv4 주소 외에도 선택적으로 기본 내부 IPv6 주소로 네트워크 인터페이스를 구성할 수 있습니다.
내부 IPv4 주소는 다음 방법으로 할당될 수 있습니다.
- Compute Engine이 기본 IPv4 서브넷 범위에서 단일 IPv4 주소를 자동으로 할당합니다.
- 컴퓨팅 인스턴스를 만들 때 특정 내부 IPv4 주소를 할당할 수 있습니다.
내부 IPv6 주소는 다음과 같은 방법으로 내부 IPv6 범위가 있는 서브넷에 연결된 인스턴스에 할당할 수 있습니다.
- 인스턴스의 vNIC에서 내부 IPv6 주소를 구성하면 Compute Engine은 서브넷의 내부 IPv6 범위에서 IPv6 주소의 단일
/96
범위를 할당합니다. - 인스턴스를 만들 때 특정 내부 IPv6 주소를 할당할 수 있습니다.
서브넷의 IPv4 또는 IPv6 범위에서 고정 내부 주소를 예약하고 인스턴스에 할당할 수도 있습니다.
컴퓨팅 인스턴스에는 별칭 IP 주소 및 범위가 있을 수도 있습니다. 인스턴스에서 두 개 이상의 서비스가 실행 중인 경우 각 서비스에 고유한 IP 주소를 할당할 수 있습니다.
내부 DNS 이름
Google Cloud 는 인스턴스의 정규화된 DNS 이름 (FQDN)을 인스턴스의 내부 IP 주소로 자동으로 확인합니다. 내부 DNS 이름은 인스턴스의 VPC 네트워크 내에서만 작동합니다.
정규화된 도메인 이름(FQDN)에 대한 자세한 내용은 내부 DNS를 참조하세요.
외부 IP 주소
인터넷 또는 다른 VPC 네트워크의 리소스와 통신해야 하는 경우 인스턴스에 외부 IPv4 또는 IPv6 주소를 할당할 수 있습니다. 방화벽 규칙 또는 계층적 방화벽 정책에서 연결을 허용하는 경우 VPC 네트워크 외부의 소스는 외부 IP 주소를 사용하여 특정 리소스에 연결할 수 있습니다. 외부 IP 주소가 있는 리소스만 VPC 네트워크 외부의 리소스와 직접 통신할 수 있습니다. 외부 IP 주소를 사용하여 리소스와 통신하면 추가 청구 요금이 발생할 수 있습니다.
외부 IPv4 주소는 모든 컴퓨팅 인스턴스에서 사용할 수 있습니다. 인스턴스의 vNIC에 외부 IPv4 주소를 구성하면 Google의 외부 IPv4 주소 범위에서 단일 IPv4 주소가 할당됩니다. 자세한 내용은 Compute Engine IP 범위를 어디에서 찾을 수 있나요?를 참고하세요.
외부 IPv6 주소는 외부 IPv6 범위를 갖는 서브넷에 연결된 컴퓨팅 인스턴스에서 사용할 수 있습니다. 인스턴스의 네트워크 인터페이스에서 외부 IPv6 주소를 구성하면 서브넷의 외부 IPv6 범위에서 IPv6 주소의 단일
/96
범위가 할당됩니다.서브넷의 IPv6 범위에서 고정 외부 IPv6 주소를 예약하여 컴퓨팅 인스턴스에 할당할 수도 있습니다.
외부 IP 주소를 사용하는 대안
내부 또는 비공개 IP 주소는 외부 또는 공개 IP 주소에 비해 다음과 같은 여러 가지 이점이 있습니다.
- 공격에 취약한 부분 감소. 컴퓨팅 인스턴스에서 외부 IP 주소를 삭제하면 공격자가 인스턴스에 연결하여 잠재적인 취약점을 악용하기가 더 어려워집니다.
- 유연성 향상. 부하 분산기 또는 NAT 서비스 같은 추상화 계층을 도입하면 고정 외부 IP 주소와 비교할 때 보다 안정적이고 유연하게 서비스를 제공할 수 있습니다.
다음 표에는 외부 IP 주소가 없는 경우 컴퓨팅 인스턴스가 인터넷에 액세스하거나 인터넷에서 액세스할 수 있는 방법이 요약되어 있습니다.
액세스 방법 | 솔루션 | 가장 효과적인 경우 |
---|---|---|
양방향 | IAP (Identity-Aware Proxy)용 TCP 전달 구성 | SSH 및 RDP와 같은 관리 서비스를 사용하여 백엔드 인스턴스에 연결하려고 하지만 요청이 대상 리소스에 도달하기 전에 인증 및 승인 검사를 통과해야 합니다. |
가져오기 | Cloud NAT 게이트웨이 | 외부 IP 주소가 없는 Compute Engine 인스턴스를 인터넷에 연결하려고 하는데 (아웃바운드) VPC 네트워크 외부의 호스트가 Compute Engine 인스턴스에 대한 자체 연결을 시작할 수 없습니다 (인바운드). 이 접근 방식은 OS 업데이트나 외부 API에 사용할 수 있습니다. |
보안 웹 프록시 | 관리되는 보안 정책을 준수하면서 Compute Engine 인스턴스를 대신하여 새 TCP 연결을 만들어 인터넷에서 Compute Engine 인스턴스를 격리해야 합니다. | |
서빙 | 외부 부하 분산기 만들기 | 클라이언트가 Google Cloud 어디서나 외부 IP 주소 없이 리소스에 연결하면서 컴퓨팅 인스턴스를 DDoS 공격 및 직접 공격으로부터 보호하려고 합니다. |
리전별 및 전역 IP 주소
프로젝트에서 IP 주소를 나열하거나 기술할 때 Google Cloud는 특정 주소의 사용 방법을 나타내는 전역 또는 리전별 라벨을 주소에 지정합니다. 인스턴스와 같은 리전별 리소스에 주소를 연결할 때 Google Cloud 는 주소에 리전별 라벨을 지정합니다.
리전은 us-east4
또는 europe-west2
와 같은 Google Cloud
리전입니다.
전역 IP 주소는 다음 구성에서 사용됩니다.
- 전역 내부 IP 주소: 엔드포인트를 통한 Google API 액세스 또는 비공개 서비스 액세스
- 전역 외부 IP 주소: 프리미엄 등급 네트워크를 사용하는 외부 프록시 네트워크 부하 분산기 및 외부 애플리케이션 부하 분산기
글로벌 IP 주소를 만드는 방법에 관한 안내는 새 고정 외부 IP 주소 예약을 참고하세요.
Compute Engine 네트워킹 SLA 개요
Compute Engine에는 네트워크 서비스 등급의 월별 가동 시간 비율에 대한 서비스 수준 목표 (SLO)를 정의하는 서비스수준계약 (SLA)이 있습니다.
Compute Engine 인스턴스를 만들면 기본적으로 내부 IP 주소가 할당됩니다. 프리미엄 등급 (기본값) 또는 표준 등급 네트워킹을 사용하여 외부 IP 주소를 추가로 구성할 수 있습니다. 선택하는 네트워크 서비스 등급은 비용 및 서비스 품질 요구사항에 따라 달라집니다. 네트워크 서비스 등급마다 SLO가 다릅니다.
컴퓨팅 인스턴스를 만들 때 인스턴스에 연결된 여러 NIC를 구성할 수 있으며, 각 NIC는 다음 다이어그램과 같이 서로 다른 네트워크 구성을 가질 수 있습니다.
그림 1. 각각 다른 네트워크 서비스 등급으로 서로 다른 네트워크 트래픽을 처리하는 NIC가 3개인 인스턴스
위 다이어그램에서 VM 어플라이언스라는 예시 인스턴스에는 다음과 같이 구성된 NIC가 3개 있습니다.
nic0
는 내부 IP 서브넷으로 구성됩니다.nic1
는 외부 IP 서브넷으로 구성되며 표준 네트워킹 등급을 사용합니다.nic2
는 외부 IP 서브넷으로 구성되며 프리미엄 네트워킹 등급을 사용합니다.
이 예시에서 VM 인스턴스는 메모리 최적화 VM이 아닙니다. 연결이 끊긴 NIC에 따라 서로 다른 SLO가 적용됩니다. 다음 목록에는 이 예시의 여러 NIC에 대한 SLA가 설명되어 있습니다.
nic0
: 내부 IP 주소가 있는 단일 인스턴스 VM입니다. 월간 업타임 비율은 99.9%입니다.nic1
: 표준 네트워킹 등급을 사용하는 외부 IP 주소가 있는 단일 인스턴스 VM입니다. 이 VM은 SLA의 보호를 받지 않습니다. 표준 네트워킹 등급에서는 영역 전반의 여러 인스턴스만 99.9% 의 가용성으로 보호됩니다.nic2
: 프리미엄 네트워킹 등급을 사용하는 외부 IP 주소가 있는 단일 인스턴스 VM입니다. 월간 업타임 비율은 99.9%입니다. 여러 영역에 걸쳐 있는 여러 인스턴스의 경우 프리미엄 네트워킹 등급을 사용하면 월간 업타임 비율이 99.99% 입니다.
다음 단계
- 인스턴스의 네트워크 구성 보기
- 새로운 정적 외부 IP 주소 예약
- 새 인스턴스에 고정 외부 IP 주소 할당
- 인스턴스를 만들 때 내부 IP 주소 선택
- 임시 외부 IP 주소 승격
- 내부 VPC 네트워크를 통해 인스턴스를 처리하기 위해 내부 DNS 이름을 사용하는 방법 알아보기
- IP 주소 자세히 알아보기
- IPv6 자세히 알아보기
- IP 주소 및 부하 분산 자세히 알아보기
- 외부 IP 주소 가격 책정 검토