회사에서 gcp 사용을 하게 돼 처음에 끄적이며 공부한 내용입니다. 미약하지만 조금이라도 도움이 됐으면 하는 마음에 공유합니다.
https://cloud.google.com/compute/docs/regions-zones
GCP의 핵심 리소스 중 일부는 전역적(Global)이지만 다른 리소스는 지역(Regional)이나 영역(Zone)에 따라 제한될 수 있습니다. 리전 리소스는 동일한 리전 내 어디에서나 사용할 수 있는 반면 영역 리소스는 동일한 영역 내에서 어디에서나 사용할 수 있지만 다른 리전간에는 사용할 수 없습니다.
예를 들어 동일한 영역 내에 있는 한 인스턴스에서 다른 인스턴스로 디스크를 연결할 수 있지만 서로 다른 영역 간에는 이 작업을 수행할 수 없습니다. 그러나 이미지와 스냅샷은 글로벌 리소스이므로 동일한 리전의 여러 영역에서 사용할 수 있습니다.
전역 / 지역 / 영역 리소스에 대하여 간략히 알아보면 다음과 같습니다.
https://cloud.google.com/compute/docs/regions-zones/global-regional-zonal-resources
기본적으로 리소스 목록 반환 요청은 특정 제어 영역으로 범위가 지정됩니다. 모든 영역 또는 리전의 리소스를 나열하려면 집계 목록 쿼리를 이행할 수 있습니다.
모든 지역의 모든 주소를 나열하려면 다음 URI에 요청을 합니다.
https://compute.googleapis.com/compute/v1/projects/<project_id>/aggregated/addresses
자세한 내용은 해당 리소스의 aggregateList 메서드를 참조하세요.
Google이 데이터 센터 내에서 내부의 물리적 하드웨어 클러스터에 공개 영역을 매핑하는 데 사용하는 방법. 영역 가상화를 사용하면 고객에게 영향을 미치지 않으면서 영역을 원활하게 확장하고 하드웨어를 업그레이드하고 물리적 인프라를 사용 중단할 수 있습니다. 에플리케이션이 여러 프로젝트에 분산되어 있어 여러 물리적 인프라에 영역을 분산하는 방법
모든 Google Cloud 하드웨어는 클러스터로 구성됩니다. 클러스터는 빌드, 전원, 냉각 인프라에서 지원하는 컴퓨팅, 네트워크, 스토리지 리소스를 나타냅니다. 인프라 구성 요소는 일반적으로 단일 클러스터를 지원하므로 다른 클러스터와 디펜던시가 없음.
하지만 안정성과 다운스트림 중복성이 충분히 입증된 구성요소는 클러스터 간에 공유될 수 있습니다. 예를 들어 다중 클러스터는 매우 안정적이며 클러스터에서 이중화된 전력 시스템을 사용하기 때문에 일반적으로 전력망 변전소를 공유합니다. Google Cloud에서는 Google Cloud 서비스의 서비스수준계약(SLA) 및 서비스 수준 목표(SLO)를 지원하도록 물리적 인프라를 설계합니다.
프로젝트에서 리전을 처음 사용하는 경우 리전의 영역마다 하나의 고유한 클러스터를 선택합니다. 이러한 선택을 영역-클러스터 매핑이라고 부릅니다. 프로젝트별로 기본 영역-클러스터 매핑이 선택되므로 모든 고객이 동일한 기능과 성능을 경험하게 됩니다. 한 프로젝트 내에서는 논리적 영역과 물리적 클러스터 간의 매핑이 일관되지만 다른 프로젝트에는 프로젝트의 영역 리소스에 따라 완전히 다른 영역-클러스터 매핑이 있을 수 있습니다. 한 프로젝트에서 동일한 물리적 클러스터에 두 영역이 매핑되지 않습니다.
Virtual Private Cloud(VPC) 네트워크를 사용하여 프로젝트 간의 영역-클러스터 매핑을 조정할 수 있습니다. Google Cloud는 VPC 네트워크를 공유하는 모든 프로젝트에 동일한 영역-클러스터 맵을 할당하려고 시도합니다. 프로젝트 간의 일관된 영역-클러스터 맵은 예측 가능한 원자적 애플리케이션 구성요소 장애에 적합합니다.
프로젝트 간 연결을 위해 여러 프로젝트에서 VPC 네트워크를 공유하거나 조직 간 연결을 위해 조직이 공유 VPC 네트워크를 피어링할 수 있습니다.
리전이 확장되면 각 영역이 여러 클러스터에서 지원됩니다. Google은 공유 인프라 장애가 한 리전의 단일 영역에만 영향을 미치도록 건물 또는 냉각 인프라와 같은 공유 인프라가 포함된 클러스터를 논리적 영역으로 그룹화합니다.
그림 2 asia-east1의 세 영역 중 두 영역이 확장되었으며 이제 2개의 클러스터가 포함됩니다.
고객 워크로드는 가능한 한 적은 수의 클러스터에서 유지보수됩니다. 일반적으로 영역 워크로드는 단일 클러스터에 포함됩니다. 그러나 영역-클러스터 매핑에 맵의 기본 클러스터에서 추가 용량 또는 특수 하드웨어를 사용할 수 없는 경우 추가 클러스터가 포함할 수 있습니다.
그림 3 두 프로젝트의 영역-클러스터 매핑 다이어그램을 표시합니다.
프로젝트 Fizz에는 asia-east1-a에 매핑된 클러스터가 2개 있습니다. 클러스터 z만 GPU 워크로드를 지원하고 클러스터 y만 TPU 워크로드를 지원하기 때문입니다.
프로젝트 Fizz 및 프로젝트 Buzz에는 asia-east1-b에 매핑된 서로 다른 클러스터가 있습니다.
gcp의 경우 traceroute 찍으면 언제나 하나의 홉만 찍힘. 네트웍 효율이 좋다.
모든 리전이 단일 VPC. 다른 리전이지만 서브넷과의 연결을 라우팅만 잡아주면 됨.
별도의 VPN이나 피어링이 필요하지 않음.
VPC 는 글로벌, Subnet은 지역 레벨로 구성 가능.
Anycast IP 사용한 글로벌 부하분산기.
한 리전에서 생성한 lb의 IP를 다른 리전에서 사용함. 글로벌 네트워크에 대한 백본을 가지고 있기 때문에.
하나의 vpc를 확장해서 사용함. 네트웍을 중앙에서 통제 가능.
VPN, Interconnect, Direct Peering
프로젝트 그룹별로 vm - 서비스, 서비스 - 서비스의 통신 규칙을 지정
공개 및 비공개
지역 또는 글로벌
공인 Ip는 리저브해서 vm or lb에 할당할 수 있음.
리전별 내부 주소는 vm, gke 등에서 사용
글로벌 외부 주소는 설정하게 되면 pop에 등록돼 저세계 어디에서든 가까운 곳으로 접근 가능(8.8.8.8)
VM의 egress 밴드위스는 제한이 있기때문에 최대치보다 더 필요하다면 스케일아웃(MIG) - LB 구성해서 사용해야함.
MIG - managed instance groups
탬플릿 기반으로 인스턴스 오토스케일링 제공
트리거 : cpu 사용량, lb 사용량, 리소스, 큐 기반