이 문서에서는 Compute Engine VM에 배포된 전체 스택을 통해 Oracle Database를 사용하여 고가용성 엔터프라이즈 애플리케이션을 호스팅하는 인프라를 빌드하는 데 도움이 되는 참조 아키텍처를 제공합니다. 이 참조 아키텍처를 사용하면 Oracle Database를 사용하는 온프레미스 애플리케이션을 Google Cloud에 효율적으로 다시 호스팅(리프트 앤 시프트)할 수 있습니다. 이 문서에는Google Cloud 에서 Oracle의 최대 가용성 아키텍처(MAA) 요구사항을 충족하는 Oracle Database 토폴로지를 빌드하는 데 도움이 되는 안내도 포함되어 있습니다. 이 문서의 주요 대상은 클라우드 설계자 및 Oracle Database 관리자입니다. 이 문서에서는 사용자가 Compute Engine 및 Oracle Database에 익숙하다고 가정합니다.
Oracle Exadata 또는 Oracle Real Application Clusters(Oracle RAC)를 사용하여 온프레미스에서 Oracle Database를 실행하는 경우 애플리케이션을 Google Cloud 로 효율적으로 마이그레이션하고 Oracle Database@Google Cloud에서 데이터베이스를 실행할 수 있습니다. 자세한 내용은 Oracle Exadata를 사용하는 Compute Engine의 엔터프라이즈 애플리케이션을 참고하세요.
아키텍처
다음 다이어그램은 Oracle Database를 사용하는 다중 계층 엔터프라이즈 애플리케이션의 인프라를 보여줍니다. 웹 계층, 애플리케이션 계층, Oracle Database 인스턴스는 Compute Engine VM에 호스팅됩니다. 웹 계층과 애플리케이션 계층은 Google Cloud리전 내 두 영역에 배포된 VM에서 활성-활성 모드로 실행됩니다. 기본 데이터베이스 인스턴스와 대기 데이터베이스 인스턴스는 별도의 영역에 배포됩니다. 이 아키텍처는 리전 배포 원형에 맞춰져 있어 단일 영역 서비스 중단에도 Google Cloud 토폴로지가 견고하게 유지되도록 합니다1.
위 다이어그램에 표시된 아키텍처에는 다음 구성요소가 포함됩니다.
구성요소 | 목적 |
---|---|
리전 외부 애플리케이션 부하 분산기 | 리전 외부 애플리케이션 부하 분산기가 사용자 요청을 수신하여 웹 계층 VM에 배포합니다. |
Google Cloud Armor 보안 정책 | Cloud Armor 보안 정책은 DDoS 공격 및 교차 사이트 스크립팅(XSS)과 같은 위협으로부터 애플리케이션 스택을 보호하는 데 도움이 됩니다. |
웹 계층의 리전 관리형 인스턴스 그룹(MIG) | 애플리케이션의 웹 계층은 리전 MIG의 일부인 Compute Engine VM에 배포됩니다. 이 MIG는 외부 애플리케이션 부하 분산기의 백엔드입니다. MIG에는 두 영역에 있는 Compute Engine VM이 포함됩니다. 이러한 각 VM은 애플리케이션 웹 계층의 독립 인스턴스를 호스팅합니다. |
리전 내부 애플리케이션 부하 분산기 | 리전 내부 애플리케이션 부하 분산기는 웹 계층 VM의 트래픽을 애플리케이션 계층 VM으로 분산합니다. |
애플리케이션 계층의 리전 MIG | Oracle WebLogic Server 클러스터와 같은 애플리케이션 계층은 리전 MIG의 일부인 Compute Engine VM에 배포됩니다. 이 MIG는 내부 애플리케이션 부하 분산기의 백엔드입니다. MIG에는 두 영역에 있는 Compute Engine VM이 포함됩니다. 각 VM은 애플리케이션 서버의 독립적인 인스턴스를 호스팅합니다. |
Compute Engine VM에 배포된 Oracle Database 인스턴스 | 이 아키텍처의 애플리케이션은 별도의 영역에 있는 Compute Engine VM에 배포된 Oracle Database 인스턴스의 기본-대기 중인 쌍을 사용합니다. Oracle Database 인스턴스에 대해 사용자 라이선스를 사용(BYOL)하며, VM과 데이터베이스 인스턴스를 관리합니다. |
Google Cloud Hyperdisk Storage Pool | 각 영역의 VM(애플리케이션 스택의 모든 계층에 걸쳐)은 Hyperdisk Storage Pool의 Hyperdisk Balanced 볼륨을 사용합니다. 단일 스토리지 풀에서 모든 디스크를 만들고 관리하면 VM에 필요한 스토리지 용량과 성능을 유지하면서 용량 사용률을 개선하고 운영 복잡성을 줄일 수 있습니다. |
Oracle Data Guard FSFO 관찰자 | Oracle Data Guard 빠른 시작 장애 조치(FSFO) 관찰자는 기본 인스턴스를 사용할 수 없을 때 대기 Oracle Database 인스턴스로 자동 장애 조치를 시작하는 경량 프로그램입니다. 관찰자는 기본 데이터베이스 인스턴스와 대기 데이터베이스 인스턴스가 배포된 영역과 다른 영역의 Compute Engine VM에서 실행됩니다. |
Cloud Storage 버킷 | 이 아키텍처는 Oracle Database 인스턴스의 백업을 저장하기 위해 Cloud Storage 버킷을 사용합니다. 리전 서비스 중단 시 데이터베이스 복구를 용이하게 하려면 이중 리전 또는 멀티 리전 버킷에 백업을 지리적으로 중복하여 저장하면 됩니다. |
가상 프라이빗 클라우드(VPC) 네트워크와 서브넷 | 아키텍처의 모든 Google Cloud 리소스는 단일 VPC 네트워크 및 서브넷을 사용합니다. 요구사항에 따라 여러 VPC 네트워크 또는 여러 서브넷을 사용하는 아키텍처를 빌드할 수 있습니다. 자세한 내용은 여러 VPC 네트워크 생성 여부 결정을 참조하세요. |
공개 Cloud NAT 게이트웨이 | 이 아키텍처에는 내부 IP 주소만 있는 Compute Engine VM에서 보안 아웃바운드 연결을 사용 설정하는 공개 Cloud NAT 게이트웨이가 포함되어 있습니다. |
Cloud Interconnect 및 Cloud VPN | 온프레미스 네트워크를 Google Cloud의 VPC 네트워크에 연결하려면 Cloud Interconnect 또는 Cloud VPN을 사용하면 됩니다. 각 접근 방식의 상대적 이점에 관한 자세한 내용은 네트워크 연결 제품 선택을 참조하세요. |
Cloud Monitoring 및 Cloud Logging | Cloud Monitoring을 사용하면 애플리케이션과 Google Cloud 리소스의 동작, 상태, 성능을 관찰할 수 있습니다. 운영 에이전트는 Oracle Database 인스턴스를 호스팅하는 VM을 비롯하여 Compute Engine VM에서 측정항목과 로그를 수집합니다. 이 에이전트는 로그를 Cloud Logging으로 전송하고 측정항목은 Cloud Monitoring으로 전송합니다. |
사용 제품
이 참조 아키텍처에는 다음과 같은 Google Cloud 제품이 사용됩니다.
- Compute Engine: Google 인프라에서 가상 머신을 만들고 실행할 수 있는 안전하고 맞춤설정 가능한 컴퓨팅 서비스입니다.
- Google Cloud Hyperdisk: 구성 가능하고 예측 가능한 성능으로 블록 스토리지 볼륨을 프로비저닝하고 동적으로 확장하는 데 사용할 수 있는 네트워크 스토리지 서비스입니다.
- Cloud Load Balancing: 확장 가능한 고성능 전역 및 리전 부하 분산기 포트폴리오입니다.
- Cloud Storage: 다양한 데이터 유형에 적합한 저비용, 무제한 객체 스토어입니다. Google Cloud내부 및 외부에서 데이터에 액세스할 수 있고 중복성을 위해 여러 위치에 복제됩니다.
- 가상 프라이빗 클라우드(VPC): Google Cloud 워크로드에 확장 가능한 전역 네트워킹 기능을 제공하는 가상 시스템입니다. VPC에는 VPC 네트워크 피어링, Private Service Connect, 비공개 서비스 액세스, 공유 VPC가 포함됩니다.
- Google Cloud Armor: 웹 애플리케이션 방화벽(WAF) 규칙을 제공하고 DDoS 및 애플리케이션 공격으로부터 보호하는 데 도움이 되는 네트워크 보안 서비스입니다.
- Cloud NAT: Google Cloud에서 관리하는 고성능 네트워크 주소 변환을 제공하는 서비스입니다.
- Cloud Monitoring: 애플리케이션 및 인프라의 성능, 가용성, 상태에 관한 정보를 제공하는 서비스입니다.
- Cloud Logging: 스토리지, 검색, 분석, 알림을 지원하는 실시간 로그 관리 시스템입니다.
- Cloud Interconnect: 지연 시간이 짧은 고가용성 연결을 통해 외부 네트워크를 Google 네트워크로 확장하는 서비스입니다.
- Cloud VPN: IPsec VPN 터널을 통해 피어 네트워크를 Google 네트워크로 안전하게 확장하는 서비스입니다.
이 참조 아키텍처에는 다음과 같은 Oracle 제품이 사용됩니다.
- Oracle Database: 관계형 모델을 객체 관계형 모델로 확장하는 관계형 데이터베이스 관리 시스템(RDBMS)입니다.
- Oracle Data Guard: 하나 이상의 대기 데이터베이스를 만들고, 유지보수하고, 관리하고, 모니터링하는 서비스 세트입니다.
사용자는 Google Cloud에 배포하는 Oracle 제품의 라이선스를 직접 구매하고, 해당 Oracle 라이선스의 이용약관을 준수할 책임이 있습니다.
설계 고려사항
이 섹션에서는 이 참조 아키텍처를 사용하여 보안, 안정성, 운영 효율성, 비용, 성능 관련 특정 요구사항을 충족하는 토폴로지를 개발할 때 고려해야 하는 설계 요소, 권장사항, 설계 권장사항을 설명합니다.
이 섹션의 안내는 일부일 뿐 모든 내용을 포함하지는 않습니다. 애플리케이션의 특정 요구사항과 사용하는 Google Cloud 및 서드 파티 제품과 기능에 따라 추가로 고려해야 할 설계 요소와 장단점이 있을 수 있습니다.
시스템 설계
이 섹션에서는 배포에 사용할 Google Cloud 리전을 선택하고 적절한 Google Cloud 서비스를 선택하는 데 도움이 되는 안내를 제공합니다.
리전 선택
애플리케이션을 배포해야 하는 Google Cloud 리전을 선택할 때 다음 요소와 요구사항을 고려합니다.
- 각 리전의 Google Cloud 서비스 가용성. 자세한 내용은 위치별 제공 제품을 참조하세요.
- 각 리전에서 Compute Engine 머신 유형 사용 가용성. 자세한 내용은 리전 및 영역을 참조하세요.
- 최종 사용자 지연 시간 요구사항
- Google Cloud 리소스 비용
- 리전 간 데이터 전송 비용
- 규제 기관 요구사항
이러한 요소와 요구사항 중 일부는 장단점과 관련될 수 있습니다. 예를 들어 가장 비용 효율적인 리전의 탄소 발자국이 가장 낮은 것은 아닐 수 있습니다. 자세한 내용은 Compute Engine 리전 선택 권장사항을 참고하세요.
컴퓨팅 인프라
이 문서의 참조 아키텍처는 애플리케이션의 특정 계층에 Compute Engine VM을 사용합니다. 애플리케이션 요구사항에 따라 다른 Google Cloud 컴퓨팅 서비스 중에서 선택할 수 있습니다.
- 컨테이너: Google Kubernetes Engine(GKE) 클러스터에서 컨테이너화된 애플리케이션을 실행할 수 있습니다. GKE는 컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화하는 컨테이너 조정 엔진입니다.
- 서버리스: 인프라 리소스를 설정하고 운영하는 대신 데이터와 애플리케이션에 IT 노력을 집중하려는 경우 Cloud Run과 같은 서버리스 서비스를 사용할 수 있습니다.
VM, 컨테이너 또는 서버리스 서비스 사용 여부 결정에는 구성 유연성과 관리 노력 간의 균형이 맞아야 합니다. VM 및 컨테이너는 더 많은 구성 유연성을 제공하지만 개발자가 리소스를 관리해야 합니다. 서버리스 아키텍처에서는 최소한의 관리 노력이 필요한 사전 구성된 플랫폼에 워크로드를 배포합니다.Google Cloud의 워크로드에 적합한 컴퓨팅 서비스를 선택하는 방법에 대한 자세한 내용은 Google Cloud에서 애플리케이션 호스팅을 참조하세요.
스토리지 옵션
아키텍처 내 Compute Engine VM의 경우 Hyperdisk 또는 Persistent Disk 부팅 볼륨을 사용할 수 있습니다. Hyperdisk 볼륨은 Persistent Disk보다 우수한 성능, 유연성, 효율성을 제공합니다. Hyperdisk Balanced를 사용하면 IOPS와 처리량을 별도로, 동적으로 프로비저닝할 수 있으므로, 다양한 워크로드에 맞게 볼륨을 조정할 수 있습니다.
애플리케이션 바이너리를 저장하려면 Filestore를 사용하세요. Filestore 리전 인스턴스에 저장된 파일은 리전 내 3개의 영역에 동기식으로 복제됩니다. 이 복제는 고가용성을 보장하고 영역 서비스 중단에 대한 견고성을 보장합니다. 리전 서비스 중단에 대한 견고성을 확보하려면 Filestore 인스턴스를 다른 리전으로 복제할 수 있습니다. 자세한 내용은 인스턴스 복제를 참조하세요.
워크로드용 스토리지를 설계할 때는 워크로드의 기능적 특성, 복원력 요구사항, 성능 기대치, 비용 목표를 고려합니다. 자세한 내용은 클라우드 워크로드에 최적화된 스토리지 전략 설계를 참조하세요.
네트워크 설계
비즈니스 및 기술 요구사항을 충족하는 네트워크 설계를 선택하세요. 단일 VPC 네트워크 또는 여러 VPC 네트워크를 사용할 수 있습니다. 자세한 내용은 다음 문서를 참조하세요.
보안, 개인 정보 보호, 규정 준수
이 섹션에서는 Google Cloud 에서 워크로드의 보안 및 규정 준수 요구사항을 충족하는 토폴로지를 설계하기 위해 이 참조 아키텍처를 사용할 때 고려해야 하는 요소를 설명합니다.
외부 위협으로부터 보호
DDoS 공격 및 교차 사이트 스크립팅(XSS)과 같은 위협으로부터 애플리케이션을 보호하려면 Google Cloud Armor 보안 정책을 사용하면 됩니다. 각 정책은 평가해야 하는 특정 조건과 조건이 충족될 때 수행할 작업을 지정하는 일련의 규칙입니다. 예를 들어 들어오는 트래픽의 소스 IP 주소가 특정 IP 주소나 CIDR 범위와 일치할 경우, 해당 트래픽이 거부되도록 규칙을 지정할 수 있습니다. 사전 구성된 웹 애플리케이션 방화벽 (WAF) 규칙을 적용할 수도 있습니다. 자세한 내용은 보안 정책 개요를 참조하세요.
VM의 외부 액세스
이 문서에서 설명하는 참조 아키텍처에서 Compute Engine VM은 인터넷의 인바운드 액세스가 필요하지 않습니다. 이러한 VM에는 외부 IP 주소를 할당하지 마세요.비공개 내부 IP 주소만 있는 Google Cloud 리소스는 여전히 Private Service Connect 또는 비공개 Google 액세스를 사용하여 특정 Google API 및 서비스에 액세스할 수 있습니다. 자세한 내용은 서비스 비공개 액세스 옵션을 참조하세요.
이 참조 아키텍처의 Compute Engine VM과 같이 비공개 IP 주소만 있는 Google Cloud 리소스에서 보안 아웃바운드 연결을 사용 설정하려면 Secure Web Proxy 또는 Cloud NAT를 사용하면 됩니다.
서비스 계정 권한
아키텍처의 Compute Engine VM의 경우 기본 서비스 계정을 사용하는 대신 전용 서비스 계정을 만들고 서비스 계정이 액세스할 수 있는 리소스를 지정하는 것이 좋습니다. 기본 서비스 계정에는 필요하지 않을 수 있는 권한까지 포함해 광범위한 권한이 부여 되어 있습니다. 전용 서비스 계정을 만들어 필수 권한만 부여하도록 조정할 수 있습니다. 자세한 내용은 서비스 계정 권한 제한을 참조하세요.
SSH 보안
아키텍처 내 Compute Engine VM에 대한 SSH 연결 보안을 강화하려면 IAP(Identity-Aware Proxy) 및 Cloud OS 로그인 API를 구현하세요. IAP를 사용하면 사용자 ID 및 Identity and Access Management(IAM) 정책을 기반으로 네트워크 액세스를 제어할 수 있습니다. Cloud OS 로그인 API를 사용하면 사용자 ID 및 IAM 정책을 기반으로 Linux SSH 액세스를 제어할 수 있습니다. 네트워크 액세스 관리에 관한 자세한 내용은 SSH 로그인 액세스 제어 권장사항을 참조하세요.
디스크 암호화
기본적으로 Hyperdisk 볼륨에 저장되는 데이터는 Google-owned and Google-managed encryption keys를 사용하여 암호화됩니다. 추가 보호 조치로 Cloud Key Management Service(Cloud KMS)에서 소유하고 관리하는 키를 사용하여 Google 소유 데이터 암호화 키를 암호화할 수 있습니다. 자세한 내용은 디스크 암호화 정보를 참조하세요.
네트워크 보안
아키텍처에서 리소스 간 네트워크 트래픽을 제어하려면 적절한 Cloud Next Generation Firewall(NGFW) 정책을 구성해야 합니다.
추가 보안 고려사항
워크로드의 아키텍처를 빌드할 때는 엔터프라이즈 기반 청사진 및 Google Cloud Well-Architected Framework: 보안, 개인 정보 보호, 규정 준수에서 제공하는 플랫폼 수준 보안 권장사항과 추천을 고려하세요.
안정성
이 섹션에서는Google Cloud에서 배포를 위한 안정적인 인프라를 빌드하고 운영하기 위해 이 참조 아키텍처를 사용할 때 고려해야 하는 설계 요소를 설명합니다.
VM 오류에 대한 견고성
이 문서에 표시된 아키텍처에서 계층 중 하나의 Compute Engine VM이 실패한 경우 애플리케이션은 요청을 계속 처리할 수 있습니다.
- 웹 계층 또는 애플리케이션 계층의 VM이 비정상 종료되면 관련 MIG가 VM을 자동으로 다시 만듭니다. 부하 분산기는 사용 가능한 웹 서버 인스턴스와 애플리케이션 서버 인스턴스만으로 요청을 전달합니다.
- 기본 Oracle Database 인스턴스를 호스팅하는 VM에 장애가 발생하면 Oracle Data Guard FSFO 관찰자가 대기 Oracle Database 인스턴스로 자동 장애 조치를 시작합니다.
VM 자동 복구
간혹 애플리케이션을 호스팅하는 VM이 실행 중이고 사용 가능할 수 있지만 애플리케이션 자체에 문제가 있을 수 있습니다. 애플리케이션이 중단되거나, 비정상 종료되거나, 메모리가 부족할 수 있습니다. 애플리케이션이 예상대로 응답하는지 확인하려면 MIG의 자동 복구 정책의 일부로 애플리케이션 기반 상태 점검을 구성하면 됩니다. 특정 VM의 애플리케이션이 응답하지 않으면 MIG에서 VM을 자동 복구 (복구)합니다. 자동 복구 구성에 관한 자세한 내용은 고가용성을 위한 VM 복구 정보를 참고하세요.
영역 중단에 대한 견고성
영역 중단이 발생해도 애플리케이션을 계속 사용할 수 있습니다.
- VM이 리전별 MIG에 있으므로 웹 계층과 애플리케이션 계층을 사용할 수 있고 응답도 유지됩니다. 리전별 MIG는 구성된 최소 VM 수를 유지하기 위해 다른 영역에서 새 VM을 자동으로 생성합니다. 부하 분산기는 요청을 사용 가능한 웹 서버 VM 및 애플리케이션 서버 VM으로 전달합니다.
- 중단이 기본 Oracle Database 인스턴스가 있는 영역에 영향을 미치면 Oracle Data Guard FSFO 관찰자가 대기 Oracle Database 인스턴스로 자동 장애 조치를 시작합니다. FSFO 관찰자는 기본 및 대기 데이터베이스 인스턴스가 있는 영역과 다른 영역의 VM에서 실행됩니다.
- 단일 영역 서비스 중단 중에 Hyperdisk 볼륨의 데이터 고가용성을 보장하려면 Hyperdisk Balanced High Availability를 사용하면 됩니다. 데이터가 볼륨에 작성되면 동일한 리전의 두 영역 간에 동기식으로 복제됩니다.
리전 중단에 대한 견고성
아키텍처의 두 영역 모두 중단이 발생하거나 리전 중단이 발생하면 애플리케이션을 사용할 수 없습니다. 다중 영역 또는 리전 중단으로 인한 다운타임을 줄이려면 다음 접근 방식을 구현하면 됩니다.
- 인프라 스택의 수동(장애 조치) 복제본을 다른 Google Cloud 리전에서 유지보수합니다.
이중 리전 또는 멀티 리전 Cloud Storage 버킷을 사용하여 Oracle Database 백업을 저장합니다. 백업은 두 개 이상의 지리적 위치에 비동기식으로 복제됩니다. 복제된 데이터베이스 백업을 사용하면 아키텍처가 Oracle의 Maximum Availability Architecture(MAA) 실버 등급에 매핑됩니다.
이중 리전 버킷에 저장된 백업을 더 빠르게 복제하려면 터보 복제를 사용하면 됩니다. 자세한 내용은 데이터 가용성 및 내구성을 참조하세요.
기본 리전에서 중단이 발생하면 데이터베이스 백업을 사용하여 데이터베이스를 복원하고 장애 조치 리전에서 애플리케이션을 활성화합니다. DNS 라우팅 정책을 사용하여 장애 조치 리전의 부하 분산기로 트래픽을 라우팅합니다.
리전 중단이 발생해도 계속 사용할 수 있어야 하는 비즈니스 관련 중요도가 높은 애플리케이션의 경우 멀티 리전 배포 원형을 사용하는 것이 좋습니다. 데이터베이스 계층의 경우 Oracle Active Data Guard FSFO를 사용하여 장애 조치 리전의 대기 Oracle Database 인스턴스로 자동으로 장애 조치할 수 있습니다. 이 접근 방식은 Oracle의 MAA 골드 등급에 매핑됩니다.
MIG 자동 확장
스테이트리스(Stateless) MIG의 자동 확장 동작을 제어하려면 평균 CPU 사용률과 같은 대상 사용률 측정항목을 지정하면 됩니다. 스테이트리스(Stateless) MIG에 일정 기반 자동 확장도 구성할 수 있습니다. 스테이트풀(Stateful) MIG를 자동 확장할 수 없습니다. 자세한 내용은 인스턴스 그룹 자동 확장을 참조하세요.
MIG 크기 한도
MIG의 크기를 결정할 때는 MIG에서 만들 수 있는 VM 수에 대한 기본 및 최대 한도를 고려하세요. 자세한 내용은 MIG에서 VM 추가 및 삭제를 참고하세요.
VM 배치
아키텍처의 견고성을 향상시키기 위해서는 분산 배치 정책을 만들고 이를 MIG 템플릿에 적용하면 됩니다. MIG에서 VM을 만들 때 각 영역 내의 VM을 여러 물리적 서버(호스트라고 함)에 배치하므로 VM이 개별 호스트 오류에 대해 견고합니다. 자세한 내용은 분산 배치 정책을 만들고 VM에 적용을 참조하세요.
VM 용량 계획
Compute Engine VM을 프로비저닝해야 할 때 VM 용량이 확보되도록 하려면 예약을 만들면 됩니다. 예약을 사용하면 특정 영역에서 선택한 머신 유형에 지정된 VM 수에 따라 일정 용량을 보장할 수 있습니다. 예약은 프로젝트에 따라 다르게 지정할 수 있고 여러 프로젝트 간에 공유할 수 있습니다. 예약에 대한 자세한 내용은 예약 유형 선택을 참조하세요.
블록 스토리지 가용성
이 문서의 아키텍처는 각 영역의 Hyperdisk Storage Pool을 사용하여 Compute Engine VM에 블록 스토리지를 제공합니다. 영역에 블록 스토리지 용량 풀을 만듭니다. 그런 다음 스토리지 풀에 Hyperdisk 볼륨을 만들고 볼륨을 영역의 VM에 연결합니다. 스토리지 풀은 사용률이 풀의 프로비저닝된 용량의 80%를 초과하지 않도록 자동으로 용량을 추가하려고 시도합니다. 이 접근 방식을 사용하면 필요한 경우 블록 스토리지 공간을 사용할 수 있습니다. 자세한 내용은 Hyperdisk Storage Pool 작동 방법을 참조하세요.
스테이트풀(Stateful) 스토리지
애플리케이션 설계에서 권장사항은 스테이트풀(Stateful) 로컬 디스크가 필요하지 않도록 하는 것입니다. 하지만 요구사항이 있는 경우 VM을 복구하거나 다시 만들 때 데이터가 보존되도록 영구 디스크를 스테이트풀(Stateful)로 구성할 수 있습니다. 하지만 새 버전이고 보안 패치가 적용된 최신 이미지로 영구 디스크를 업데이트할 수 있도록 부팅 디스크를 스테이트리스(Stateless)로 유지하는 것이 좋습니다. 자세한 내용은 MIG에서 스테이트풀(Stateful) 영구 디스크 구성을 참조하세요.
백업 및 복구
이 문서의 아키텍처는 Cloud Storage를 사용하여 데이터베이스 백업을 저장합니다. Cloud Storage 버킷에 이중 리전 또는 멀티 리전 위치 유형을 선택하면 백업이 두 개 이상의 지리적 위치에 비동기식으로 복제됩니다. 리전 서비스 중단이 발생하면 백업을 사용하여 다른 리전에서 데이터베이스를 복원할 수 있습니다. 이중 리전 버킷을 사용하면 터보 복제 옵션을 사용 설정하여 더 빠른 복제를 실행할 수 있습니다. 자세한 내용은 데이터 가용성 및 내구성을 참조하세요.
백업 및 DR 서비스를 사용하여 Compute Engine VM의 백업을 생성, 저장, 관리할 수 있습니다. 백업 및 DR 서비스는 백업 데이터를 애플리케이션에서 읽을 수 있는 원본 형식으로 저장합니다. 필요한 경우 시간이 많이 소요되는 데이터 이동이나 준비 활동 없이 장기 백업 스토리지에서 데이터를 직접 사용하여 워크로드를 프로덕션으로 복원할 수 있습니다. 자세한 내용은 다음 문서를 참조하세요.
추가 안정성 고려사항
워크로드의 클라우드 아키텍처를 빌드할 때는 다음 문서에서 제공하는 안정성 관련 권장사항과 추천을 검토합니다.
- Google Cloud 인프라 안정성 가이드
- 확장 가능하고 복원력이 우수한 앱 패턴
- 복원력이 우수한 시스템 설계
- Google Cloud Well-Architected Framework: 안정성
비용 최적화
이 섹션에서는 이 참조 아키텍처를 사용하여 빌드하는 Google Cloud 토폴로지의 설정 및 운영 비용을 최적화하는 방법을 안내합니다.
VM 머신 유형
VM 인스턴스의 리소스 사용률 최적화에 도움이 되도록 Compute Engine에서 머신 유형 권장사항을 제공합니다. 권장사항에 따라 워크로드의 컴퓨팅 요구사항과 일치하는 머신 유형을 선택합니다. 예측 가능한 리소스 요구사항이 있는 워크로드의 경우 커스텀 머신 유형을 사용하여 머신 유형을 필요에 맞게 맞춤설정하고 비용을 절약할 수 있습니다.
VM 프로비저닝 모델
애플리케이션이 내결함성인 경우 스팟 VM을 사용하면 애플리케이션 및 웹 계층의 VM에 대한 Compute Engine 비용을 줄일 수 있습니다. 스팟 VM 비용은 일반 VM보다 훨씬 저렴합니다. 하지만 Compute Engine에서 스팟 VM을 사전에 중지하거나 삭제하여 용량을 확보할 수 있습니다.
스팟 VM은 선점을 허용할 수 있지만 고가용성 요구사항이 없는 일괄 작업에 적합합니다. 스팟 VM은 일반 VM과 동일한 머신 유형, 옵션, 성능을 제공합니다. 하지만 영역의 리소스 용량이 제한되면 MIG는 필요한 용량을 다시 사용할 수 있게 될 때까지 지정된 대상 크기로 자동으로 수평 확장(즉, VM 만들기)하지 못할 수 있습니다.
VM 리소스 사용률
스테이트리스(Stateless) MIG의 자동 확장 기능을 사용하면 애플리케이션에서 트래픽 증가를 원활하게 처리할 수 있으며 리소스 필요성이 줄어들면 비용을 절감할 수 있습니다. 스테이트풀(Stateful) MIG는 자동 확장할 수 없습니다.
Oracle 제품 라이선스
사용자는 Compute Engine에 배포하는 Oracle 제품의 라이선스를 직접 구매하고, 해당 Oracle 라이선스의 이용약관을 준수할 책임이 있습니다. 자세한 내용은 클라우드 컴퓨팅 환경에서 Oracle 소프트웨어 라이선스 구매를 참조하세요.
블록 스토리지 리소스 사용률
이 문서의 아키텍처는 각 영역의 Hyperdisk Storage Pool을 사용하여 Compute Engine VM에 블록 스토리지를 제공합니다. 씬 프로비저닝 및 데이터 감소 기술을 사용하여 스토리지 효율성을 개선하는 고급 용량 스토리지 풀을 사용하면 블록 스토리지 용량의 전반적인 사용률을 개선하고 비용을 절감할 수 있습니다.
추가 비용 고려사항
워크로드의 아키텍처를 빌드할 때는 Google Cloud Well-Architected Framework: 비용 최적화에서 제공하는 일반 권장사항과 추천도 고려하세요.
운영 효율성
이 섹션에서는 이 참조 아키텍처를 사용하여 효율적으로 운영할 수 있는 Google Cloud 토폴로지를 설계할 때 고려해야 하는 요소를 설명합니다.
VM 구성 업데이트
MIG의 VM 구성(예: 머신 유형 또는 부팅 디스크 이미지)을 업데이트하려면 필수 구성으로 새 인스턴스 템플릿을 만든 후 새 템플릿을 MIG에 적용합니다. MIG는 자동 업데이트 또는 선택적 업데이트 방법을 통해 VM을 업데이트합니다. 가용성 및 운영 효율성 요구사항에 따라 적절한 방법을 선택합니다. 이러한 MIG 업데이트 방법에 대한 자세한 내용은 MIG에서 새 VM 구성 적용을 참조하세요.
Oracle Linux 이미지
VM에 대해 Compute Engine에서 제공되는 Oracle Linux 이미지를 사용하거나 직접 빌드하고 유지관리하는 Oracle Linux 이미지를 가져와 사용할 수 있습니다. 또한 애플리케이션에 필요한 구성과 소프트웨어가 포함된 커스텀 OS 이미지를 만들어 사용할 수도 있습니다. 커스텀 이미지를 커스텀 이미지 계열로 그룹화할 수 있습니다. 이미지 계열은 항상 계열 내에 있는 최신 이미지를 가리키므로 인스턴스 템플릿과 스크립트에서 특정 이미지 버전에 대한 참조를 업데이트하지 않아도 최신 이미지를 사용할 수 있습니다. OS 공급업체에서 제공하는 보안 업데이트 및 패치를 포함하도록 커스텀 이미지를 정기적으로 업데이트해야 합니다.
확정 인스턴스 템플릿
MIG에 사용하는 인스턴스 템플릿에 서드 파티 소프트웨어를 설치할 수 있는 시작 스크립트가 포함된 경우 스크립트에서 소프트웨어 버전과 같은 소프트웨어 설치 매개변수를 명시적으로 지정해야 합니다. 그렇지 않으면 MIG에서 VM을 만들 때 VM에 설치된 소프트웨어가 일관되지 않을 수 있습니다. 예를 들어 인스턴스 템플릿에 Apache HTTP 서버 2.0(apache2
패키지)을 설치할 수 있는 시작 스크립트가 포함된 경우 스크립트에서 설치해야 하는 apache2
버전(예: 2.4.53
)을 정확하게 지정해야 합니다. 자세한 내용은 확정 인스턴스 템플릿을 참조하세요.
블록 스토리지 관리
이 문서의 아키텍처는 각 영역의 Hyperdisk Storage Pool을 사용하여 Compute Engine VM에 블록 스토리지를 제공합니다. Hyperdisk Storage Pool을 사용하면 스토리지 관리를 간소화할 수 있습니다. 여러 디스크에 개별적으로 용량을 할당하고 관리하는 대신 한 영역의 여러 워크로드에서 공유할 수 있는 용량 풀을 정의합니다. 그런 다음 스토리지 풀에 Hyperdisk 볼륨을 만들고 볼륨을 영역의 VM에 연결합니다. 스토리지 풀은 사용률이 풀의 프로비저닝된 용량의 80%를 초과하지 않도록 자동으로 용량을 추가하려고 시도합니다.
애플리케이션 서버와 데이터베이스 연결
애플리케이션에서 Oracle Database로 연결하는 경우 데이터베이스 VM의 IP 주소 대신 영역 내부 DNS 이름을 사용하는 것이 좋습니다. Google Cloud 는 DNS 이름을 VM의 기본 내부 IP 주소로 자동으로 확인합니다. 이 접근 방식의 또 다른 이점은 데이터베이스 VM에 고정 내부 IP 주소를 예약하고 할당할 필요가 없다는 점입니다.
Oracle Database 관리 및 지원
Compute Engine VM에서 자체 관리형 Oracle Database 인스턴스를 실행할 때는 온프레미스에서 Oracle Database를 실행할 때와 유사한 운영상 문제가 있습니다. 하지만 Compute Engine VM을 사용하면 더 이상 기본 컴퓨팅, 네트워킹, 스토리지 인프라를 관리할 필요가 없습니다.
- Oracle Database 인스턴스 운영 및 관리에 관한 안내는 관련 출시의 Oracle 제공 문서를 참조하세요.
- Google Cloud에 배포하는 Oracle Database 인스턴스에 대한 Oracle의 지원 정책에 관한 자세한 내용은 Oracle 이외의 퍼블릭 클라우드 환경을 위한 Oracle Database 지원(문서 ID 2688277.1)을 참조하세요.
Oracle 애플리케이션의 모니터링 가능성
Google Cloud에 배포된 Oracle 워크로드에 대한 모니터링 가능성을 구현하려면 Google Cloud Observability 서비스 또는 Oracle Enterprise Manager를 사용하면 됩니다. 요구사항과 제약 조건에 따라 적절한 모니터링 전략을 선택하세요. 예를 들어 Oracle 워크로드 외에 Google Cloud 에서 다른 워크로드를 실행하는 경우 Google Cloud Observability 서비스를 사용하여 모든 워크로드의 통합 운영 대시보드를 빌드할 수 있습니다.
추가 운영 고려사항
워크로드의 아키텍처를 빌드할 때 Google Cloud Well-Architected Framework: 운영 우수성에 설명된 운영 효율성에 대한 일반적인 권장사항과 추천을 고려하세요.
성능 최적화
이 섹션에서는 Google Cloud 에서 워크로드의 성능 요구사항을 충족하는 토폴로지를 설계하기 위해 이 참조 아키텍처를 사용할 때 고려해야 하는 요소를 설명합니다.
컴퓨팅 성능
Compute Engine은 워크로드의 성능 요구사항에 따라 다양하게 사전 정의되고 맞춤설정 가능한 머신 유형을 제공합니다.
- 웹 계층과 애플리케이션 계층을 호스팅하는 VM의 경우 해당 계층의 성능 요구사항에 따라 적절한 머신 유형을 선택합니다. Hyperdisk 볼륨을 지원하고 성능 및 기타 요구사항을 충족하는 사용 가능한 머신 유형 목록을 확인하려면 머신 시리즈 비교 표를 사용하세요.
- Oracle Database 인스턴스를 호스팅하는 VM의 경우 범용 머신 계열의 C4 머신 시리즈에 있는 머신 유형을 사용하는 것이 좋습니다. C4 머신 유형은 데이터베이스 워크로드에 일관되게 높은 성능을 제공합니다.
VM 멀티스레딩
Compute Engine VM에 할당하는 각 가상 CPU(vCPU)는 단일 하드웨어 멀티 스레드로 구현됩니다. 기본적으로 2개의 vCPU가 물리적 CPU 코어를 공유합니다. 고도로 병렬 연산을 수행하거나 부동 소수점 계산(예: 유전자 서열 분석 및 금융 위험 모델링 등)을 수행하는 애플리케이션의 경우 각 물리적 CPU 코어에서 실행되는 스레드 수를 줄여 성능을 향상시킬 수 있습니다. 자세한 내용은 코어당 스레드 수 설정을 참조하세요.
VM 멀티스레딩은 데이터베이스와 같은 일부 서드 파티 소프트웨어의 라이선스에 영향을 줄 수 있습니다. 자세한 내용은 서드 파티 소프트웨어의 라이선스 문서를 참조하세요.
네트워크 성능
애플리케이션 및 웹 계층 내에서 VM 간 네트워크 지연 시간을 줄여야 하는 워크로드의 경우 압축 배치 정책을 만들고 해당 계층에 사용되는 MIG 템플릿에 적용할 수 있습니다. MIG에서 VM을 만들 때 서로 가까운 물리적 서버에 배치합니다. 압축 배치 정책은 VM 간 네트워크 성능을 개선하는 데 도움이 되지만, 분산 배치 정책은 앞서 설명한 대로 VM 가용성을 개선하는 데 도움이 됩니다. 네트워크 성능과 가용성 간에 최적의 균형을 이루려면 압축 배치 정책을 만들 때 VM을 배치해야 하는 거리를 지정하면 됩니다. 자세한 내용은 배치 정책 개요를 참조하세요.
Compute Engine에는 이그레스 네트워크 대역폭에 대한 VM별 제한이 있습니다. 이 한도는 VM의 머신 유형과 트래픽이 소스 VM과 동일한 VPC 네트워크를 통해 라우팅되는지에 따라 다릅니다. 특정 머신 유형의 VM의 경우 네트워크 성능을 개선하기 위해 Tier_1 네트워킹을 사용 설정하여 더 높은 최대 이그레스 대역폭을 얻을 수 있습니다.
Hyperdisk 스토리지 성능
이 문서에 설명된 아키텍처는 모든 계층의 VM에 Hyperdisk 볼륨을 사용합니다. Hyperdisk를 사용하면 성능과 용량을 동적으로 확장할 수 있습니다. 워크로드의 스토리지 성능 및 용량 요구사항에 맞게 프로비저닝된 IOPS, 처리량, 각 볼륨의 크기를 조정할 수 있습니다. Hyperdisk 볼륨의 성능은 볼륨이 연결된 VM의 하이퍼디스크 유형 및 머신 유형에 따라 달라집니다. Hyperdisk 성능 한도 및 조정에 관한 자세한 내용은 다음 문서를 참조하세요.
추가 성능 고려사항
워크로드의 아키텍처를 빌드할 때 Google Cloud Well-Architected Framework: 성능 최적화에서 제공하는 일반적인 권장사항과 추천을 고려하세요.
다음 단계
- Google Cloud 와 Oracle로 클라우드 혁신 가속화
- Oracle MAA 참조 아키텍처
- 그 밖의 참조 아키텍처, 다이어그램, 튜토리얼, 권장사항을 알아보려면 Cloud 아키텍처 센터를 확인하세요.
참여자
저자:
기타 참여자:
- 앤디 콜빈 | Google Cloud 기반 Oracle 데이터베이스 블랙벨트 엔지니어
- 제프 웰시 | 제품 관리 이사
- Lee Gates | 그룹 제품 관리자
- 마크 필딩 | 데이터 인프라 설계자
- 마크 슐라겐하우프 | 네트워킹 테크니컬 라이터
- 미셸 버토프트 | 선임 제품 관리자
- 라제시 카사나고투 | 엔지니어링 관리자
- 세쿠 페이지 | 아웃바운드 제품 관리자
- 소우지 마두라파푸투라 | 그룹 제품 관리자
- 빅터 모레노 | Cloud Networking 제품 관리자
- 김연수 | 제품 관리자