Oracle Database@Azure에서 Azure Kubernetes를 Oracle Exadata Database Service와 연결
시작하기 전에
이 참조 아키텍처를 활용하려면 다음이 필요합니다.
- AKS(Microsoft Azure Kubernetes Service)
- AKS 클러스터 배치
- 다음을 사용하여 Oracle Database@Azure를 구성합니다.
- Azure 구독 및 디렉토리에 액세스
- OCI 테넌시에 대한 액세스
- Azure와 Oracle 클라우드 간의 활성 Oracle Database@Azure 멀티클라우드 링크
- OCI 메뉴에서 거버넌스 및 관리를 누릅니다.
- 테넌시 관리에서 제한, 할당량 및 사용량을 누릅니다.
- Service(서비스) 드롭다운 메뉴에서 Database(데이터베이스)를 선택합니다.
구조
Kubernetes는 컨테이너화된 워크로드 및 서비스를 관리하기 위한 이식 가능한 확장 가능한 오픈 소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원합니다. Kubernetes는 클라우드 네이티브 컴퓨팅을 위한 초석 기술로 간주되며 크고 빠르게 성장하는 생태계를 보유하고 있습니다. Kubernetes 서비스, 지원 및 도구는 널리 사용 가능합니다.
이 아키텍처에서는 AKS의 컨테이너화된 애플리케이션이 자체 애플리케이션 서브넷에 있습니다. Kubernetes 클러스터에는 각각 고유한 Oracle PDB(플러그인할 수 있는 데이터베이스)에 연결하는 여러 POD가 포함될 수 있습니다. 기본 데이터베이스의 PDB는 Azure 가용성 영역의 Oracle Exadata Database Service on Dedicated Infrastructure에서 실행되는 Oracle Database@Azure에 배포됩니다. 컨테이너 이미지는 Azure 컨테이너 레지스트리에 저장됩니다. 사용자는 공용 로드 밸런서를 통해 외부적으로 애플리케이션에 접근합니다.
클라우드 자동화는 Oracle Exadata Infrastructure 및 Oracle 멀티테넌트 데이터베이스(CDB 및 PDB)에 대한 대부분의 라이프사이클 및 관리 작업을 간소화합니다. 예를 들어 서버를 추가하고 OCPU를 확장 및 축소하고, 데이터베이스 및 데이터베이스 홈을 만들고, 인프라 유지보수 일정을 잡고, VM 운영체제, Grid Infrastructure 및 데이터베이스를 업데이트 및 업그레이드하고, 백업 및 복구 작업을 수행하고, Oracle Data Guard를 통해 재해 복구 보호를 사용으로 설정할 수 있습니다.
다음 다이어그램은 이 참조 아키텍처를 보여 줍니다.

그림 azure-kube-exadata-db.png에 대한 설명
azure-kube-exadata-db-oracle.zip
구조에는 다음과 같은 구성 요소가 있습니다.
- 영역
Oracle Cloud Infrastructure 리전은 가용성 도메인이라고 하는 데이터 센터가 하나 이상 포함된 지역화된 지리적 영역입니다. 지역은 다른 지역과 독립적이며, 먼 거리가 그들을 분리 할 수 있습니다 (국가 또는 대륙에 걸쳐).
Azure 리전은 가용성 영역이라고 하는 하나 이상의 물리적 Azure 데이터 센터가 상주하는 지리적 영역입니다. 지역은 다른 지역과 독립적이며, 먼 거리가 그들을 분리 할 수 있습니다 (국가 또는 대륙에 걸쳐).
Azure 및 OCI 리전은 지역화된 지역입니다. Oracle Database@Azure의 경우, Azure 리전이 OCI 리전에 연결되고, Azure의 가용성 영역(AZ)이 OCI의 가용성 도메인(AD)에 연결됩니다. 거리 및 대기 시간을 최소화하기 위해 Azure 및 OCI 리전 쌍을 선택합니다.
- Azure 가용성 영역
가용성 영역은 가용성과 내결함성을 보장하도록 설계된 영역 내에서 물리적으로 분리된 데이터 센터입니다. 가용성 영역은 다른 가용성 영역에 대한 대기 시간이 짧은 연결에 충분히 가깝습니다.
서브넷 위임은 관리형 서비스, 특히 서비스형 플랫폼 서비스를 가상 네트워크에 직접 삽입하는 Microsoft의 기능입니다.
- Microsoft Azure 가상 네트워크
Microsoft Azure Virtual Network(VNet)는 Azure의 전용 네트워크에 대한 기본 빌딩 블록입니다. VNet를 사용하면 Azure VM(가상 머신)과 같은 여러 유형의 Azure 리소스가 서로, 인터넷 및 온프레미스 네트워크와 안전하게 통신할 수 있습니다.
서브넷 위임은 관리형 서비스, 특히 서비스형 플랫폼 서비스를 가상 네트워크에 직접 삽입하는 Microsoft의 기능입니다.
- 전용 인프라의 Exadata Database Service
Oracle Exadata Database Service는 퍼블릭 클라우드에서 특별히 구축되고 최적화된 Oracle Exadata Cloud Infrastructure에서 입증된 Oracle Database 기능을 제공합니다. OLTP, 인메모리 애널리틱스 및 컨버지드 Oracle Database 워크로드를 위한 내장 클라우드 자동화, 탄력적인 리소스 확장, 보안 및 빠른 성능을 통해 관리를 간소화하고 비용을 절감할 수 있습니다.
Oracle Exadata Cloud Infrastructure는 퍼블릭 클라우드에 더 많은 CPU 코어, 향상된 스토리지 및 더 빠른 네트워크 패브릭을 제공합니다. Oracle Exadata 스토리지 서버에는 Exadata RDMA Memory(XRMEM)가 포함되어 추가 스토리지 계층을 생성하여 전반적인 시스템 성능을 향상시킵니다. Exadata는 XRMEM과 네트워크 및 I/O 스택을 우회하는 혁신적인 RDMA 알고리즘을 결합하여 값비싼 CPU 인터럽트 및 컨텍스트 스위치를 제거합니다.
Oracle Exadata Cloud Infrastructure는 100Gbps의 능동-능동 Remote Direct Memory Access over Converged Ethernet(RoCE) 내부 네트워크 패브릭의 처리량을 늘려 모든 컴퓨트 서버와 스토리지 서버 간에 매우 짧은 대기 시간으로 이전 세대보다 빠른 상호 연결을 제공합니다.
- Oracle Database Autonomous Recovery Service
Oracle Database Autonomous Recovery Service는 데이터 손실 및 사이버 위협으로부터 Oracle 데이터베이스를 보호하기 위해 설계된 완전 관리형 서비스입니다. 데이터베이스 오버헤드 감소, 검증된 백업을 통한 안정적인 복구, 중단 또는 랜섬웨어 공격 후 1초 이내에 복구할 수 있는 실시간 보호를 통해 백업 속도를 높입니다. 이 서비스는 중앙화된 데이터 보호 대시보드를 제공하며 Oracle Databases를 백업하는 데 권장됩니다.
- Azure Kubernetes 서비스
AKS(Azure Kubernetes Service)는 컨테이너화된 애플리케이션을 배포하고 관리하기 위해 Microsoft Azure에서 제공하는 관리형 Kubernetes 서비스입니다. Kubernetes 클러스터에는 여러 POD가 포함될 수 있습니다.
- Oracle Database@Azure
Oracle Database@Azure는 Microsoft Azure 데이터 센터에 배포된 Oracle Cloud Infrastructure(OCI)에서 실행되는 Oracle Database 서비스(Oracle Exadata Database Service on Dedicated Infrastructure 및 Oracle Autonomous Database Serverless)입니다. 이 서비스는 OCI와 기능 및 가격 패리티를 제공하며, 사용자는 Azure Marketplace에서 서비스를 구매할 수 있습니다.
Oracle Database@Azure는 Oracle Exadata Database Service, Oracle Real Application Clusters(Oracle RAC), Oracle Data Guard 기술을 Azure 플랫폼에 통합합니다. 사용자는 Azure 콘솔 및 Azure 자동화 도구를 사용하여 서비스를 관리합니다. 이 서비스는 Azure Virtual Network(VNet)에 배포되고 Azure ID 및 액세스 관리 시스템과 통합됩니다. OCI와 Oracle Database의 일반 메트릭 및 감사 로그는 기본적으로 Azure에서 사용할 수 있습니다. 이 서비스를 사용하려면 사용자에게 Azure 구독 및 OCI 테넌시가 있어야 합니다. Oracle Autonomous Database는 Oracle Exadata Cloud Infrastructure를 기반으로 구축되었으며, 자가 관리, 자가 보안 및 자가 복구를 통해 수동 데이터베이스 관리 및 인적 오류를 방지합니다. Autonomous Database는 선택한 대규모 언어 모델(LLM) 및 배포 위치를 사용하여 내장된 AI 기능을 사용하여 모든 데이터로 확장 가능한 AI 기반 앱을 개발할 수 있도록 지원합니다.
Oracle Exadata Database Service와 Oracle Autonomous Database Serverless는 네이티브 Azure 포털을 통해 손쉽게 프로비저닝되므로 보다 광범위한 Azure 생태계에 액세스할 수 있습니다.
고객의 상업적 이점에는 Oracle Exadata Database Service, OCI Object Storage 및 Oracle Cloud Infrastructure Networking 데이터 전송 요금 조달을 위한 Azure 약정(MACC) 사용이 포함됩니다. 기존 Oracle 라이선스를 BYOL로 활용할 수 있을 뿐 아니라, Microsoft Azure Marketplace의 협업 지원 모델 및 조달에 포함된 라이선스를 모두 하나의 통합 청구서로 활용할 수 있습니다.
- 제어 플레인
Kubernetes 제어 평면은 Kubernetes 클러스터 내 작업자 노드 및 POD에 대한 리소스를 관리합니다. 제어 플레인 구성 요소는 이벤트를 감지 및 응답하고, 일정을 잡고, 클러스터 리소스를 이동합니다.
- 오브젝트 스토리지
OCI Object Storage는 데이터베이스 백업, 분석 데이터, 이미지 및 비디오와 같은 리치 콘텐츠 등 모든 콘텐츠 유형의 대량의 구조적 및 비구조적 데이터에 빠르게 액세스할 수 있게 해줍니다. 인터넷 또는 클라우드 플랫폼 내에서 직접 데이터를 안전하고 안전하게 저장할 수 있습니다. 성능 또는 서비스 안정성이 저하되지 않고 스토리지를 확장할 수 있습니다.
빠르고 즉각적이며 자주 액세스하는 데 필요한 "핫" 스토리지에 표준 스토리지를 사용합니다. 장기간 보존하고 거의 또는 거의 액세스하지 않는 "콜드" 스토리지에 아카이브 스토리지를 사용합니다.
- 서비스 게이트웨이
서비스 게이트웨이는 VCN에서 Oracle Cloud Infrastructure Object Storage와 같은 다른 서비스로의 액세스를 제공합니다. VCN에서 Oracle 서비스로의 트래픽은 Oracle 네트워크 패브릭을 통해 이동하며 인터넷을 순회하지 않습니다.
고려사항
이 참조 아키텍처를 배치할 때 다음 사항을 고려하십시오.
- YAML 파일 업데이트
접속 문자열을 사용하여 Azure Kubernetes Service 배치의 YAML 파일을 업데이트합니다. OCI 콘솔에서 데이터베이스에 대한 접속 문자열을 찾을 수 있습니다.
- 성능
-
Oracle 다중 테넌트 아키텍처는 마이크로서비스 아키텍처의 지속성 계층, 데이터, 보안의 경계 컨텍스트 격리 및 고가용성을 위해 권장됩니다.
Oracle 다중 테넌트 구조를 사용하는 경우 Oracle Database는 여러 PDB(플러그 가능한 데이터베이스)를 포함하는 CDB(컨테이너 데이터베이스)로 작동할 수 있습니다. 이를 통해 다양한 데이터 유형 및 워크로드를 보유한 마이크로서비스는 단일 컨버지드 컨테이너 데이터베이스를 사용할 수 있습니다. Oracle은 PDB를 활용하여 CDB 내에 마이크로서비스 격리 데이터베이스를 제공하고 물리적 컨테이너 전반에서 PDB를 이동할 수 있도록 지원합니다. 마이크로서비스는 Oracle Exadata Database Service on Dedicated Infrastructure에서 실행 중인 Oracle Database 인스턴스에 연결할 수 있습니다.
-
- 보안
- Azure Kubernetes 서비스에 대한 Kubernetes 암호에 접속 문자열 비밀번호 및 전자 지갑(해당하는 경우)을 저장하는 대신 Azure Key Vault와 같은 저장소 사용을 고려해 보십시오.
- 네트워크
-
Oracle Database 네트워크 연결에 위임된 서브넷이 있는 Azure 가상 네트워크(VNet)가 하나 이상 필요합니다.
-
Microsoft Azure Kubernetes Service 서브넷 및 Oracle Exadata Database Service VM Cluster 클라이언트 서브넷을 동일한 VNet에 배치하는 것이 좋습니다.
-
- 가용성
-
UCP(Universal Connection Pool), Oracle JDBC Driver 및 Oracle Real Application Clusters (Oracle RAC)를 사용하고 구성하여 애플리케이션의 지속적인 가용성을 유지하기 위해 계획된 다운타임 및 계획되지 않은 다운타임 동안 지속적인 서비스를 위해 Oracle Database의 HA(고가용성) 기능을 활용하는 것이 좋습니다.
UCP는 Oracle RAC, Oracle Data Guard, Oracle Sharding, Asynchronous API, Runtime Load Balancing, XA, Application Continuity, Transaction Guard, Transparent Application Failover, Single Client Access Name(SCAN), Front-end to Database Resident Connection Pool(DRCP) 등 모든 Oracle Database 구성 및 미션 크리티컬 기능(가용성, 확장성 및 로드 밸런싱)을 즉시 지원합니다. Oracle RAC 시스템을 사용하면 여러 서버 노드에서 Oracle 데이터베이스 서비스에 동일하게 액세스할 수 있습니다. Oracle RAC 클러스터의 노드 또는 하위 세트가 실패하거나 유지 관리를 위해 오프라인으로 전환되는 경우에도 나머지 활성 노드를 통해 데이터베이스에 계속 액세스할 수 있습니다.
-
다음은 Oracle Database를 사용하여 Application High Availability를 구현하기 위한 구성 요소입니다.
- 데이터베이스 서비스 사용
- 고가용성을 위한 URL 또는 접속 문자열 구성
- FAN(Fast Application Notification) 사용
- Java 애플리케이션에 대한 지속적인 데이터베이스 가용성 구현 및 활성화
-
Oracle Database의 백업 대상으로 권장되는 대로 Oracle Database Autonomous Recovery Service를 사용하는 것이 좋습니다.
다음은 백업을 저장하는 데 사용할 수 있는 두 가지 옵션입니다. 동일한 Azure 리전에서 Oracle Exadata Database Service가 상주하거나 Azure 리전과 연관된 기본 OCI 리전입니다.
-