Google Cloud 제품은 특정 리전 장애 도메인에서 제공되며 서비스수준계약에서 완전하게 지원되므로 Google Cloud 구조 내에서 애플리케이션 아키텍처를 설계할 수 있습니다.
Google Cloud 인프라 서비스는 북미, 남미, 유럽, 아시아, 중동, 오스트레일리아의 여러 위치에서 제공됩니다. 이러한 위치는 리전과 영역으로 구분됩니다. 지연 시간, 가용성, 내구성 요구사항에 따라 애플리케이션을 배치할 위치를 선택할 수 있습니다.
리전과 영역
지역은 영역들로 구성되는 독립적인 지리적 위치입니다. 영역 및 리전은 하나 이상의 물리적 데이터 센터에서 제공하는 기본 물리적 리소스의 논리적 추상화입니다. 이러한 데이터 센터는 Google에서 소유하며 Google Cloud 위치 페이지에 나열되거나 타사 데이터 센터 제공업체에서 임대되기도 합니다. Google Cloud의 전체 데이터 센터 위치 목록은 ISO/IEC 27001 인증서를 참조하세요. Google Cloud는 데이터 센터 소유 또는 임대 여부에 관계없이 데이터 센터를 선택하고 인프라를 설계하여 일관된 수준의 성능, 보안, 안정성을 제공합니다.
영역은 리전 내에 있는 Google Cloud 리소스의 배포 위치입니다. 영역은 리전 내에 있는 단일 장애 도메인으로 간주되어야 합니다. 고가용성을 제공하는 내결함성 애플리케이션을 배포하려면 예상치 못한 오류로부터 보호할 수 있도록 한 리전 내 여러 영역에 애플리케이션을 배포해야 합니다.
자연 재해로 인한 리전 전체의 손실을 방지하려면 재해 복구 계획을 마련하고 기본 리전이 손실될 경우에 애플리케이션을 복원할 수 있는 방법을 알아야 합니다. 자세한 내용은 애플리케이션 배포 고려사항을 참조하세요.
각 위치 옵션에서 제공되는 특정 리소스에 대한 자세한 내용은 Cloud 위치를 참조하세요.
Google Cloud의 서비스와 리소스는 영역 또는 리전별로 제공되거나 여러 리전 간에 Google에서 관리될 수 있습니다. 이러한 옵션이 데이터에 미치는 영향을 자세히 알아보려면 지리적 데이터 관리를 참조하세요.
Google Cloud는 모든 범용 리전에 최소 3개의 가용성 영역(물리적 및 논리적으로 고유한 영역)을 제공하고자 합니다.
영역별 리소스
영역 리소스는 단일 영역 내에서 작동합니다. 영역별 장애는 해당 영역의 일부 또는 전체 리소스에 영향을 줄 수 있습니다. 영역별 리소스의 예시로는 특정 영역 내에 존재하는 Compute Engine 가상 머신(VM) 인스턴스가 있습니다.
리전 리소스
리전별 리소스는 App Engine 애플리케이션 또는 리전 관리형 인스턴스 그룹과 같이 특정 리전 내의 여러 영역에 중복해서 배포되는 리소스입니다. 이 리소스는 영역별 리소스에 비해 가용성이 더 높습니다.
멀티 리전 리소스
Google에서는 여러 Google Cloud 서비스가 리전 내 그리고 리전 간에 중복되고 분산되도록 관리합니다. 이러한 서비스는 최적화된 가용성, 성능, 리소스 효율성을 제공합니다. 따라서 이러한 서비스는 지연 시간 또는 일관성 모델에서 일부 균형점을 찾아야 합니다. 이러한 균형점에 대해서는 제품별로 설명합니다.
다음 서비스에는 리전 위치 외에도 하나 이상의 멀티 리전 위치가 있습니다.
- Artifact Registry
- Bigtable
- 민감한 정보 보호
- Cloud Healthcare API
- Cloud KMS
- Container Registry
- Spanner
- Cloud Storage
- Database Migration Service
- Datastore
- Firestore
이러한 멀티 리전 서비스는 단일 리전이 손실된 후에도 작동할 수 있도록 설계되었습니다.
자세한 내용은 위치별 제공 제품 및 각 제품의 문서를 참조하세요.
글로벌 서비스
Google Cloud는 처음부터 전 세계에서 운영되고 사용자 불편 없이 연중무휴 지속적으로 유지보수 및 업그레이드를 실행하도록 설계되었습니다. Google의 글로벌 백본은 매우 유연한 부하 분산을 제공하며 사용자와 가까운 상호 연결을 확보함으로써 최종 사용자의 지연 시간을 줄여줍니다. Google의 글로벌 클라우드 관리 영역으로 멀티 리전 개발이 간소화됩니다.
내부 서비스
Google Cloud 서비스를 다루는 많은 고객을 지원하고 뒷받침하는 서비스는 Spanner, Colousus, Borg, Chubby와 같은 검증된 내부 서비스 집합입니다.
이러한 내부 서비스는 여러 리전에 전역적으로 부하 분산되거나 사용 가능한 각 리전에서 전용으로 사용됩니다. 서비스가 여러 리전에 부하 분산되는 경우 리전별로 점진적으로 업데이트를 배포하여 서비스 사용량에 영향을 주지 않고 문제를 감지하며 해결할 수 있습니다. 이러한 내부 서비스는 단일 논리적 데이터 센터 또는 단일 리전으로 제한되지 않습니다.
전역 내부 서비스는 다음 클라우드 리전에서 실행되거나 복제될 수 있습니다.
미주
- southamerica-west1
- us-central1
- us-east1
- us-east4
- us-west1
- us-west4
유럽
- europe-north1
- europe-west1
- europe-west4
아시아
- asia-east1
- asia-southeast1
서비스 종속성
일반적으로 Google Cloud 서비스에서는 단일 리전이 실패할 경우 해당 리전의 고객만 영향을 받습니다. 즉, 멀티 리전 제품을 사용하는 고객은 영향을 받지 않습니다. Google Cloud에는 여러 리전에 걸친 연관성 장애를 방지하기 위한 많은 아키텍처가 마련되어 있습니다.
모든 Google Cloud 서비스는 핵심 내부 도구를 사용하여 네트워킹(데이터 센터 내부 및 외부), 데이터 센터 액세스, ID 승인 시스템과 같은 필수 서비스를 제공합니다. 이러한 도구는 리전 중단에 대해 복원력이 있으므로 다른 리전을 사용할 수 없게 되어도 한 리전의 목표는 영향을 받지 않습니다.
Google Cloud는 Compute Engine, BigQuery, Pub/Sub, 기타 서비스와 같이 일반적으로 사용되는 Google Cloud 제품에 대해서 Google Cloud의 공개 웹사이트에서 고객이 원하는 탄력성을 위해 애플리케이션을 설계하는 방법에 대한 명확한 지침을 제공합니다.
아래에 주요 종속 항목이 나와 있으며 모든 서비스에 공통되는 종속 항목부터 나열됩니다. 단, 하위 수준의 구현 세부정보는 변경될 수 있습니다.
모든 서비스의 공통 종속 항목
- 인증 및 승인을 위한 ID 데이터 영역
- 로깅, 메타데이터 스토리지, 워크플로 관리를 제공하는 내부 서비스
- Google Cloud API에 대한 액세스는 DNS, 전 세계에 분산된 부하 분산기, 접속 지점(PoP)에 따라 다릅니다.
- 전역 리소스의 구성: 예를 들어 IAM 정책, 전역 방화벽 규칙, 전역 부하 분산기 구성, Pub/Sub 주제는 복제된 데이터베이스에 저장됩니다.
- Google Cloud 서비스가 고객 제어 엔드포인트에 대한 요청(예: 고객 키를 가져오는 Cloud EKM) 또는 메시지를 제공하는 Pub/Sub가 전송하는 경우 이러한 요청은 Google의 글로벌 네트워크 인프라에 의존하여 해당 고객에 액세스합니다.
추가 종속 항목이 있는 서비스
- Compute Engine 서비스
- Google Cloud VM 및 Persistent Disk 데이터 영역은 Borg 및 Colossus 같은 하위 수준의 Compute Engine과 Cloud Storage 서비스를 기반으로 합니다.
- Google Cloud와 Spanner, Bigtable, Cloud Storage와 같은 인프라 스토리지 서비스는 다음 항목에 따라 달라집니다.
- 고객용 암호화 및 키 관리 인프라(Cloud KMS / Cloud EKM) 및 Google 소유 키의 내부 인프라
- 데이터 액세스 로깅 및 감사를 제공하는 내부 서비스
- 여러 리전에서 데이터를 사용할 수 있어야 하는 내부 데이터 복제 서비스
- 명시적으로 구성된 백업 및 다른 리전에 대한 복제는 리전 간 네트워킹에 따라 다릅니다.
- 메시징 서비스
- Pub/Sub는 전역 네트워크 인프라를 사용하여 고객 제어 엔드포인트에 액세스합니다.
- 네트워킹 서비스
- 전역 부하 분산, DNS, 리전 간 장애 조치 모두 물리적 네트워킹 인프라를 사용합니다.
- DDos 공격 등을 막는 방법은 하위 수준 Compute Engine 인프라에 따라 다릅니다.
- GKE 및 Cloud SQL과 같은 관리형 호스팅 서비스
- Compute Engine과 VM 이미지에 사용되는 Container Registry 또는 Artifact Registry에 따라 달라집니다.
- 자체 포함 하위 수준 인프라
- Borg 및 네트워크 패브릭 등 Google 내부 클러스터 수준 제어 영역
- 클러스터 수준 스토리지(예: Colossus)
- 암호화 및 키 관리 인프라
가용성 및 복원력 유지 및 개선
사이트 안정성 엔지니어링(SRE)은 가용성, 지연 시간, 성능, 용량 관련 업무를 전담하는 Google의 내부 조직입니다. 서비스 중단 및 사용 불능은 새 코드 배포 또는 환경 변경사항과 상관이 있습니다. 업계 권장사항을 따르는 SRE는 새로운 소프트웨어를 출시하고 환경을 보호해야 할 필요성과 필요한 변화로 인한 다운타임 발생 가능성 간의 균형을 맞추고 있습니다.
고객과 파트너십을 맺어 복원력이 우수한 서비스 구축
중요한 니즈가 있고 복원력 및 재해 복구를 위해 설계해야 하는 경우 SRE/CRE 및 PSO팀이 협업하여 애플리케이션을 설계할 수 있습니다. 여러 리전과 영역을 연결하고 고가용성(HA) 시스템 설계를 지원하는 데 도움이 될 수 있습니다.
블랙 프라이데이 및 사이버 먼데이와 같이 특정 날짜 즈음에 높은 가용성이 필요한 경우 Google Cloud는 Google Cloud에서 실행 중인 특정 애플리케이션을 확인하고 검증하며 애플리케이션과 Google 서비스 간의 예상치 못한 서비스 종속 항목을 식별하는 프로그램을 제공합니다.
접속 지점(POP)
Google은 접속 지점을 피어링하는 전 세계 네트워크를 운영합니다. 즉, 고객 트래픽이 해당 대상에 가까워질 때까지 Google 네트워크 내에서 이동되어, 사용자들에게 더 나은 환경 및 보안 기능을 제공합니다. 자세한 내용은 네트워크 에지 위치를 참조하세요.
지리적 데이터 관리
Google Cloud 서비스의 데이터 지역성에는 서비스별 계약을 포함한 서비스 약관이 적용됩니다. Google은 고객마다 보안 및 규정 준수 요구사항이 다를 수 있음을 이해합니다. Google Cloud 영업팀에서 개발자 요구사항이 충족되도록 지원합니다.
리전별 또는 영역별 스토리지 리소스를 사용할 때는 재해 복구 목적으로 데이터를 다른 리전에 복제하거나 멀티 리전 스토리지 리소스에 스냅샷을 만드는 것이 가장 좋습니다.
애플리케이션 배포 고려사항
- 영역을 사용할 수 없을 때에도 서비스 및 애플리케이션의 가용성을 높이려면 다음 안내를 따르세요.
다음 중 하나를 사용합니다.
- 리전별 리소스(예: App Engine 애플리케이션), 리전별 관리형 인스턴스 그룹 또는 관리형 멀티 리전 리소스(예: Cloud Storage, Datastore, Firestore, Spanner)
- 영역별 리소스(예: Compute Engine 가상 머신). 하지만 영역 또는 리전 간의 컴퓨팅 및 스토리지 중복성 직접 관리.
- 전체 리전 손실이 지속되는 경우에도 애플리케이션 재해 복구를 수행할 수 있도록 하려면 다음 안내를 따르세요.
데이터에 대해 다음 전략 중 하나 이상을 사용합니다.
- 관리형 멀티 리전 스토리지 서비스(예: Cloud Storage, Datastore, Firestore, Spanner)를 사용합니다.
- 영역별 또는 리전별 리소스를 사용하되, 데이터를 Cloud Storage, Datastore, Firestore 또는 Spanner와 같은 멀티 리전 리소스에 스냅샷을 만듭니다.
- 영역별 또는 리전별 리소스를 사용하지만 다른 리전 한 개 이상에 대한 고유 데이터 복제를 관리합니다.
컴퓨팅의 경우에는 다음 전략을 사용합니다.
- 영역별 또는 리전별 리소스(예: Compute Engine 또는 App Engine)를 사용하지만 데이터가 아직 관리형 멀티 리전 리소스에 없는 경우, 기본 데이터의 복사본을 참조하는 다른 리전(리전별 오류 발생 시)에서 애플리케이션을 수동 또는 자동으로 가져옵니다.
서비스 종속 항목에 대한 자세한 내용은 영업팀에 문의하세요.
추가 솔루션 및 가이드
다음 솔루션 및 가이드는 애플리케이션의 고가용성 및 장애 내결함성을 보장하기 위한 지침을 제공합니다.
확장 가능하고 복원력이 우수한 앱 패턴
Google Cloud에서 웹 애플리케이션에 널리 적용되는 패턴과 사례를 사용해 확장 가능하고 복원력이 우수한 애플리케이션 아키텍처를 빌드하는 방법을 알아봅니다.
HTTPS 부하 분산기 만들기
여러 리전에서 Compute Engine 인스턴스를 구성하고 HTTP 부하 분산으로 트래픽을 리전 간에 분산하여 리전 간 가용성을 높이고 서비스 중단 시 장애 조치를 제공합니다.
강력한 시스템 설계
Compute Engine 서비스에서 장애, 네트워크 중단, 예기치 않은 재해에 강력한 애플리케이션을 설계합니다.
Cloud Storage를 사용하여 Cassandra 백업 및 복원
Cloud Storage에서 데이터를 백업 및 복원하여 Cassandra 설치에 기본적인 재해 복구를 추가하는 방법을 알아봅니다.
재해 복구 계획 가이드
Google Cloud에서 재해 복구 계획을 설계하고 테스트하는 일반 원칙입니다.