OCI에서 적합한 MySQL 아키텍처 선택하기

Oracle HeatWave MySQL과 같은 오픈 소스 데이터베이스에 의존하는 조직은 자체 관리형 온프레미스 솔루션에서 관리형 클라우드 데이터베이스 서비스(예: MySQL 데이터베이스)로 마이그레이션하여 비용을 절감하고 운영 효율성을 향상시키는 방법을 배우는 것이 중요합니다. Oracle Cloud Infrastructure(OCI)에서 적합한 MySQL 아키텍처를 선택하는 방법을 배우는 것이 중요합니다.

Oracle HeatWave MySQL은 데이터베이스 프로비저닝, 백업, 패치 및 업그레이드와 같은 지루한 일상적인 운영 작업을 계획하고 수행할 필요 없이 확장성과 가용성이 뛰어난 데이터베이스 서비스를 제공하는 것을 목표로 하는 OCI의 관리형 데이터베이스 서비스입니다. OCI에서 워크로드에 Oracle HeatWave MySQL을 도입하려는 경우 자체 관리형 데이터베이스의 현재 운영 비용을 절감할 뿐만 아니라 높은 가치와 혁신 작업에 집중할 수 있습니다. Oracle HeatWave MySQL 및 OCI에서 워크로드를 실행할 때 최대한의 이점을 얻으려면 Oracle HeatWave MySQL 및 OCI를 이해하여 비즈니스 요구사항 및 요구사항에 따라 클라우드 사용량을 늘리고 확장할 수 있는 유연하고 확장 가능한 클라우드 아키텍처를 설계해야 합니다.

구조

이 참조 아키텍처의 목적은 워크로드 요구 사항을 지원하기 위해 OCI에서 유연하고 확장 가능한 MySQL 아키텍처를 설계하고 최적화하는 데 도움이 되는 관련 기술 정보를 제공하는 것입니다.

이 참조 아키텍처의 범위는 다음과 같은 비기능 요구 사항 및 사양을 가정합니다.

도메인 요구사항 설명
가용성 R1 최소 99.95%의 서비스 가동 시간으로 연중무휴 24시간 운영을 지원할 수 있도록 아키텍처의 가용성이 높아야 합니다.
  R2
  • RTO <= 4시간
  • RPO <= 1시간
확장성 R3 워크로드 지원을 위해 아키텍처를 유연하고 확장 가능해야 합니다.
보안 R4 액세스 제어 및 권한 부여 메커니즘을 통해 아키텍처의 보안을 강화해야 합니다.

이러한 요구사항에 따라 Oracle HeatWave MySQL 고가용성 모델이 다른 OCI 서비스와 함께 선택되어 워크로드용 아키텍처를 구축합니다.

이 참조 아키텍처는 인프라 아키텍트, 정보 아키텍트, DevOps 엔지니어 및 운영 엔지니어의 문제를 해결하기 위한 세 가지 관점에서 설명됩니다.

인프라 뷰



mysql-oci-아키텍처-인프라-oracle.zip

이 아키텍처 보기에서 리전별 가상 클라우드 네트워크는 3개의 가용성 도메인(AD)으로 구성된 단일 OCI 리전에 퍼블릭 및 프라이빗 서브넷으로 프로비저닝됩니다. Oracle HeatWave MySQL 고가용성 모델은 다중 AD OCI 리전의 AD 3개 또는 단일 AD OCI 리전의 장애 도메인 3개에 중복 MySQL 데이터베이스 인스턴스 3개를 배포합니다.

이 아키텍처 뷰는 Oracle HeatWave MySQL에 대한 애플리케이션 배포 옵션 및 네트워크 연결 옵션을 보여줍니다.

  • Oracle HeatWave MySQL은 인터넷에서 퍼블릭 액세스 없이 보안 프라이빗 서브넷에 배치됩니다.
  • Oracle HeatWave MySQL에 액세스하기 위한 접속 옵션:
    • Oracle Cloud Infrastructure Load Balancing을 사용하여 인터넷을 통해
    • OCI 동적 라우팅 게이트웨이를 사용하여 데이터 센터와 OCI 지역 간 VPN을 통해 다음을 수행합니다.
      • OCI 사이트 간 VPN
      • Oracle Cloud Infrastructure FastConnect
  • 일반적으로 OCI의 Oracle HeatWave MySQL에 액세스하기 위한 세 가지 애플리케이션 배포 패턴이 있습니다.
    • Oracle Cloud Infrastructure Compute 인스턴스 또는 Oracle Cloud Infrastructure Kubernetes Engine 인스턴스에 배포된 애플리케이션(동일한 OCI 클라우드 지역에 배치된 애플리케이션과 MySQL Database 모두에서 가장 선호되는 패턴)입니다.
    • 귀사의 데이터 센터에서 호스팅되는 애플리케이션.
    • 비OCI 클라우드(예: Amazon Web Services, Microsoft Azure 등)에서 호스팅되는 애플리케이션.

인프라(확장성/중복성) 뷰



mysql-oci-아키텍처-확장성-oracle.zip

이 아키텍처 보기에서 Oracle HeatWave MySQL 고가용성 모델을 갖춘 기본 OCI 리전은 OCI 동적 라우팅 게이트웨이를 통해 다른 OCI 리전과 상호 연결됩니다. 이 아키텍처 뷰는 동일한 OCI 리전 내의 MySQL 확장성 및 다른 OCI 리전에서의 중복성을 보여줍니다.

  • 기본 MySQL 데이터베이스 인스턴스는 동일한 OCI 리전 내에 "관리형 읽기 복제본" 인스턴스를 배포하여 읽기 트랜잭션 규모를 조정함으로써 손쉽게 확장할 수 있습니다(자세히 살펴보기 참조).
  • 기본 MySQL 인스턴스를 다른 OCI 지역에 배포된 MySQL 복제본으로 복제하여 워크로드에 대한 중복성을 제공할 수 있습니다(자세히 탐색 참조).

데이터베이스 액세스 뷰

이 구조 뷰는 데이터베이스 관리자 및 개발자를 위해 Oracle HeatWave MySQL과 함께 사용할 수 있는 도구 옵션을 보여줍니다.

  • MySQL 셸 도구가 사전 설치된 OCI Database Tools(SQL Worksheet) 및 Oracle Cloud Infrastructure Cloud Shell과 같은 OCI 도구는 공용 인터넷을 통해 웹 브라우저를 통해 액세스하여 MySQL에서 작업할 수 있습니다.
  • Oracle Cloud Infrastructure Bastion은 도구를 인터넷을 통해 Oracle HeatWave MySQL과 연결하는 데 사용할 수 있습니다.
    • Oracle Cloud Infrastructure Bastion 서비스는 인터넷을 통해 도구를 Oracle MySQL Database Service와 연결하는 데 사용할 수 있습니다.
    • MySQL 셸 플러그인의 미리보기 버전이 있는 Visual Studio 코드를 최소한의 구성으로 사용하여 Oracle HeatWave MySQL에 연결할 수 있습니다.


mysql-oci-아키텍처-데이터베이스-액세스-oracle.zip

작업 뷰

이 아키텍처 뷰는 Oracle Cloud Observability and Management Platform 서비스를 사용하는 Oracle HeatWave MySQL의 모니터링 측면을 보여줍니다.

  • Oracle HeatWave MySQL 콘솔에 관련 임계값을 생성하여 운영 지원 작업에 대한 알람을 트리거합니다.
  • OCI 이벤트를 사용하여 특정 MySQL 이벤트(예: 데이터베이스 재시작)를 추적하는 이벤트 기반 모니터링
  • OCI 대시보드를 사용하여 실시간 모니터링을 통해 특정 MySQL 인스턴스에 대한 OCI 대시보드를 사용자정의합니다.


mysql-oci-아키텍처-운영-oracle.zip

  • 지역

    Oracle Cloud Infrastructure 리전은 가용성 도메인이라고 하는 데이터 센터가 하나 이상 포함된 지역화된 지리적 영역입니다. 지역은 다른 지역과 독립적이며, 먼 거리가 그들을 분리 할 수 있습니다 (국가 또는 대륙에 걸쳐).

  • 가용성 도메인

    가용성 도메인은 한 지역 내의 독립형 독립 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 결함 허용을 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원, 냉각 또는 내부 가용성 도메인 네트워크와 같은 인프라를 공유하지 않습니다. 따라서 한 가용성 도메인의 장애가 해당 영역의 다른 가용성 도메인에 영향을 미치지 않아야 합니다.

  • VCN(가상 클라우드 네트워크) 및 서브넷

    VCN은 Oracle Cloud Infrastructure 지역에서 설정한 맞춤형 소프트웨어 정의 네트워크입니다. 기존의 데이터 센터 네트워크와 마찬가지로 VCN을 통해 네트워크 환경을 제어할 수 있습니다. VCN에는 VCN 생성 후 변경할 수 있는 겹치지 않는 CIDR 블록이 여러 개 있을 수 있습니다. VCN을 서브넷으로 분할할 수 있습니다. 서브넷은 지역 또는 가용성 도메인으로 범위가 지정될 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 서브넷 생성 후 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

  • 로드 밸런서

    Oracle Cloud Infrastructure Load Balancing 서비스는 단일 시작점에서 백엔드에 있는 여러 서버로 트래픽을 자동으로 배포합니다.

  • 보안 목록

    각 서브넷에 대해 서브넷에 들어오고 나가도록 허용해야 하는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.

  • 계산

    Oracle Cloud Infrastructure Compute를 사용하면 클라우드에서 컴퓨트 호스트를 프로비저닝하고 관리할 수 있습니다. CPU, 메모리, 네트워크 대역폭 및 스토리지에 대한 리소스 요구사항을 충족하는 구성을 사용하여 컴퓨트 인스턴스를 실행할 수 있습니다. 컴퓨트 인스턴스를 생성한 후에는 해당 인스턴스에 안전하게 액세스하고, 재시작하고, 볼륨을 연결 및 분리하고, 더 이상 필요하지 않을 때 이를 종료할 수 있습니다.

  • 이벤트

    Oracle Cloud Infrastructure 서비스는 리소스 변경사항을 설명하는 구조화된 메시지인 이벤트를 내보냅니다. 이벤트는 CRUD(생성, 읽기, 업데이트 또는 삭제) 작업, 리소스 수명 주기 상태 변경 및 클라우드 리소스에 영향을 주는 시스템 이벤트를 위해 내보냅니다.

  • 통지

    Oracle Cloud Infrastructure Notifications 서비스는 Oracle Cloud Infrastructure에서 호스팅되는 애플리케이션에 대해 안전하고 안정적이며 대기시간이 짧고 내구성 있는 메시지를 전달하여 게시-구독 패턴을 통해 분산된 구성요소로 메시지를 방송합니다.

  • 배스천 서비스

    Oracle Cloud Infrastructure Bastion은 퍼블릭 엔드포인트가 없고 베어메탈 및 가상 머신, Oracle MySQL Database Service, Autonomous Transaction Processing(ATP), Oracle Cloud Infrastructure Kubernetes Engine(OKE) 및 SSH(Secure Shell Protocol) 액세스를 허용하는 기타 리소스와 같은 엄격한 리소스 액세스 제어가 필요한 리소스에 대해 제한적이고 시간 제한적인 보안 액세스를 제공합니다. OCI Bastion 서비스를 사용하면 점프 호스트를 배포 및 유지 관리하지 않고도 개인 호스트에 대한 액세스를 활성화할 수 있습니다. 또한 ID 기반 권한과 중앙 집중식, 감사 및 시간 제한 SSH 세션을 통해 보안 상태를 개선할 수 있습니다. OCI Bastion은 배스천 액세스를 위한 공용 IP가 필요하지 않으므로 원격 액세스를 제공할 때 번거롭고 잠재적인 공격 표면을 제거합니다.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect는 데이터 센터 및 Oracle Cloud Infrastructure 간 전용, 개인 연결을 생성할 수 있는 쉬운 방법을 제공합니다. FastConnect는 인터넷 기반 연결과 비교할 때 더 높은 대역폭 옵션과 더 안정적인 네트워킹 환경을 제공합니다.

  • MySQL HeatWave

    Oracle MySQL Database Service는 개발자가 세계에서 가장 인기 있는 오픈 소스 데이터베이스를 사용하여 안전한 클라우드 전용 애플리케이션을 신속하게 개발하고 배포할 수 있는 완전 관리형 데이터베이스 서비스입니다. Oracle HeatWave MySQL은 분석 및 트랜잭션 쿼리를 위해 MySQL 성능을 가속화하는 Oracle MySQL Database Service를 위한 새로운 통합 고성능 인메모리 쿼리 가속기입니다.

권장사항

다음 권장사항을 시작점으로 사용하여 워크로드 요구사항에 따라 OCI 아키텍처를 설계할 수 있습니다.

  • VCN
    • 유연성을 위해 지역별 서브넷을 사용합니다.
    • VCN을 생성할 때 VCN의 서브넷에 연결하려는 리소스 수에 따라 필요한 CIDR 블록 수와 각 블록의 크기를 결정합니다.
    • 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.
      • 10.0.0.0 - 10.255.255.255
      • 172.16.0.0 - 172.31.255.255
      • 192.168.0.0 - 192.168.255.255
    • 프라이빗 접속을 설정하려는 다른 네트워크(OCI, 온프레미스 데이터 센터 또는 다른 클라우드 제공자)와 겹치지 않는 CIDR 블록을 선택합니다.
    • VCN을 생성한 후 해당 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.
    • 서브넷을 설계할 때는 트래픽 플로우 및 보안 요구사항을 고려하십시오. 특정 계층 또는 역할 내의 모든 리소스를 동일한 서브넷에 연결합니다. 이 서브넷은 보안 경계 역할을 할 수 있습니다. Oracle MySQL Database Service는 항상 프라이빗 서브넷에 상주합니다.
  • 보안
    • 최대 보안이 필요한 리소스의 경우 Oracle은 보안 영역을 사용할 것을 권장합니다. 보안 영역은 모범 사례를 기반으로 하는 Oracle 정의 보안 정책 레시피와 연관된 컴파트먼트입니다. 예를 들어, 보안 영역의 리소스는 공용 인터넷에서 액세스할 수 없어야 하며 고객 관리 키를 사용하여 암호화해야 합니다. 보안 영역에서 리소스를 생성 및 업데이트할 때 OCI는 보안 영역 레시피의 정책에 대해 작업을 검증하고 정책을 위반하는 작업을 거부합니다.
  • Cloud Guard
    • 사용자정의 감지기 및 응답기 레시피를 생성하도록 Oracle에서 제공하는 기본 레시피를 복제 및 사용자정의합니다. 이러한 레시피를 통해 경고를 생성하는 보안 위반 유형과 경고에 대해 수행할 수 있는 작업을 지정할 수 있습니다. 예를 들어, 공용 가시성이 있는 Oracle Cloud Infrastructure Object Storage 버킷을 감지할 수 있습니다.
  • NSG(네트워크 보안 그룹)

    NSG를 사용하여 특정 VNIC에 적용되는 수신 및 송신 규칙 세트를 정의할 수 있습니다. NSG를 사용하면 애플리케이션의 보안 요구사항과 VCN의 서브넷 아키텍처를 분리할 수 있으므로 보안 목록이 아닌 NSG를 사용하는 것이 좋습니다.

고려사항

Oracle HeatWave MySQL을 핵심 클라우드 데이터베이스 서비스로 표준화 및 운영할 때는 운영 및 유연성이 용이하도록 다른 클라우드 서비스 구성을 고려해 보십시오.

  • 네트워크 접속
    • 클라우드 네트워크를 설계할 때 다양한 VCN 제한의 부분 제한(예: OCI 테넌시당 50개의 VCN 제한)에 주의하십시오. 이러한 제한은 OCI 지원 센터에 서비스 요청을 제출하여 변경할 수 있습니다.
    • Oracle HeatWave MySQL에는 유지 관리를 위해 최소 프라이빗 IP 주소 집합이 필요합니다.
      • MySQL 독립형에는 세 개의 전용 IP 주소가 필요합니다.
      • MySQL 고가용성에는 7개의 전용 IP 주소가 필요합니다.
    • Oracle Cloud Infrastructure Bastion 서비스는 최대 3시간 사용량으로 제한되므로 애플리케이션 또는 개발 목적으로 고가용성 배스천 서비스가 필요한 경우 MySQL 인스턴스에 연결하기 위해 배스천 호스트로 전용 Oracle Cloud Infrastructure Compute 인스턴스를 사용하는 것이 좋습니다.
  • 작동성

    OCI 대시보드에서 서비스 작업을 위한 MySQL 인스턴스 플리트에 대한 사용자정의 대시보드를 구축해야 합니다.

  • 가용성

    다른 지역에서 MySQL 복제본을 백업으로 구축하려는 경우 기본 영역과 백업 영역 간의 네트워크 대기 시간을 고려해야 합니다. OCI는 리전 간 네트워크 대기 시간 정보를 제공하여 기본 리전의 백업 리전으로 사용할 리전을 결정하는 데 도움을 줍니다. MySQL 복제본의 다른 고려 요소는 로그가 삭제되기 전에 이진 트랜잭션 로그를 보관하는 기간(binlog_expire_logs_seconds)이며, 이진 트랜잭션 로그를 보관하는 기본 기간은 3,600초 또는 60분입니다. 기본 영역과 백업 영역 간에 네트워크 대기 시간이 심한 경우 트랜잭션 로그가 백업 영역의 MySQL 복제본에서 전송 및 적용될 수 있도록 이 매개변수를 늘려야 할 수 있습니다.

  • 이식성 및 유연성
    • OCI DNS(도메인 이름 서비스)를 사용하여 이식성을 위해 MySQL 호스트 이름을 확인합니다. 생성 중에 이름 지정 규칙을 기반으로 하는 사용자정의 호스트 이름을 MySQL 인스턴스에 지정하여 OCI DNS에서 VCN 분석기로 호스트 이름을 분석할 수 있도록 합니다.
    • 관리형 MySQL 읽기 복제본 인스턴스에 대해 Oracle Cloud Infrastructure Load Balancing의 DNS 호스트 이름을 사용하여 유연성을 위해 애플리케이션 코드 변경을 최소화합니다. OCI DNS 서비스 콘솔에서 이 Oracle Cloud Infrastructure Load Balancing의 지정된 DNS 호스트 이름을 확인할 수 있습니다.

확인

Authors: Ryan Kuan

Contributors: John Sulyok