Oracle Cloud Infrastructure API 게이트웨이용 재해 복구 솔루션 배포

Oracle Cloud Infrastructure API Gateway는 SLA(서비스 수준 계약)에 따라 관리되는 OCI 리전에서 사용할 수 있습니다. 이 참조 아키텍처는 OCI API Gateway용 리전 간 고객 관리 재해 복구 솔루션의 구현을 기반으로 하는 아키텍처에 대해 자세히 설명합니다.

이 재해 복구 솔루션은 다음을 지원합니다.
  • "활성-수동" 토폴로지로, 두 게이트웨이가 모두 작동되어 실행 중일 것으로 예상되는 경우에도 하나의 게이트웨이만 전체 로드를 처리합니다. 활성 게이트웨이는 해당 상태(활성/삭제/업데이트)가 아니라 트래픽이 전달되고 모든 기능을 실행하도록 사용으로 설정된 게이트웨이에 의해 결정됩니다.
  • OCI API Gateway 범주의 고객 관리 복제(예: API 배포, 사용 계획, API 구독자)
기본 및 보조 OCI API 게이트웨이가 모두 동일한 API 범주 및 권한 부여 제공자를 사용하는 경우 스위치오버 후 영역 전체에서 동일한 방식으로 API에 액세스할 수 있습니다.

시작하기 전에

통합에 대한 재해 복구 구성 구성을 시작하기 전에 다음을 수행해야 합니다.
  • 다른 OCI 리전에서 두번째 OCI API Gateway를 프로비저닝합니다.
  • 선택한 도메인의 사용자 정의 DNS/호스트 이름 및 연관된 SSL 인증서를 얻습니다.

구조

OCI API Gateway에 대한 이 참조 아키텍처는 두 개의 서로 다른 클라우드 지역에 있는 두 개의 OCI API Gateway로 구성되며, 단일 커스텀 엔드포인트(URL)를 사용하여 액세스할 수 있습니다. 단일 커스터마이징 엔드포인트를 구현하려면 OCI DNS(Domain Name System) 영역을 사용하여 커스터마이징 엔드포인트 이름을 확인할 수 있습니다.

이러한 사용자 정의 URL을 OCI API 게이트웨이의 시작점으로 사용할 수 있습니다(예: api.mycompany.com). 사용자정의 끝점 구성에 대한 자세한 내용은 아래의 "자세히 탐색"에서 액세스할 수 있는 "DNS 서비스 영역 관리"를 참조하십시오.

아키텍처에서 두 개의 OCI API 게이트웨이가 기본 및 보조로 지정되며 두 게이트웨이가 동시에 실행되지만 게이트웨이 중 하나만 트래픽을 수신합니다. 처음에는 기본 게이트웨이가 트래픽 플로우를 수신합니다. 기본 영역을 사용할 수 없게 되면 DNS 레코드를 업데이트하여 트래픽을 보조 영역으로 라우팅할 수 있습니다.

다음 다이어그램은 퍼블릭 게이트웨이용 참조 아키텍처(OCI API 게이트웨이용 랜딩 존 패턴)를 보여줍니다.


다음은 apigw-oci-customer-managed-dr-topology.png에 대한 설명입니다.
그림 apigw-oci-customer-managed-dr-topology.png에 대한 설명

apigw-oci-customer-managed-dr-topology-oracle.zip

이러한 아키텍처의 구성 요소는 다음과 같습니다.
  • Tenancy

    테넌시는 Oracle Cloud Infrastructure에 등록할 때 Oracle이 Oracle Cloud 내에서 설정하는 안전하고 격리된 파티션입니다. 테넌시 내 Oracle Cloud에서 리소스를 생성, 구성 및 관리할 수 있습니다. 테넌시는 회사 또는 조직과 동의어입니다. 일반적으로 회사는 단일 테넌시를 가지며 해당 테넌시 내의 조직 구조를 반영합니다. 단일 테넌시는 대개 단일 구독과 연관되며, 단일 구독에는 일반적으로 하나의 테넌시만 포함됩니다.

  • 지역

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

  • 구획

    구획은 Oracle Cloud Infrastructure 테넌시 내의 지역 간 논리적 파티션입니다. 구획을 사용하여 Oracle Cloud 리소스에 대한 사용 할당량을 구성, 제어 및 설정할 수 있습니다. 지정된 구획에서 액세스를 제어하고 리소스에 대한 권한을 설정하는 정책을 정의합니다.

  • 가용성 도메인

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

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

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

  • 경로 테이블

    가상 라우팅 테이블에는 일반적으로 게이트웨이를 통해 서브넷에서 VCN 외부의 대상으로 트래픽을 라우팅하는 규칙이 포함되어 있습니다.

  • 보안 목록

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

  • Oracle Cloud Infrastructure DNS 서비스

    공용 DNS 영역은 OCI의 이름 서버에 있는 신뢰할 수 있는 DNS 레코드를 보유합니다. 인터넷에서 연결할 수 있는 공개적으로 사용 가능한 도메인 이름으로 공용 영역을 만들 수 있습니다. 자세한 내용은 아래의 "더 알아보기"에서 액세스할 수 있는 "DNS 개요"를 참조하십시오.

  • 인터넷 게이트웨이

    인터넷 게이트웨이는 VCN의 공용 서브넷과 공용 인터넷 간의 트래픽을 허용합니다.

  • Oracle Cloud Infrastructure Web Application Firewall(WAF)

    WAF는 클라우드 기반의 PCI 호환 글로벌 웹 애플리케이션 방화벽 서비스를 통해 원치 않는 악성 인터넷 트래픽으로부터 애플리케이션을 보호합니다. OCI Flexible Network Load Balancer에 대한 위협 인텔리전스와 일관된 규칙 적용을 결합하여 Oracle Cloud Infrastructure Web Application Firewall은 방어를 강화하고 인터넷 연결 애플리케이션 서버 및 내부 애플리케이션을 보호합니다. (이 구성요소는 선택사항입니다.)

  • 가변 로드 밸런서

    로드 밸런서는 병렬로 작동하는 애플리케이션 서비스 간에 요청을 전달하여 리소스 활용도를 향상시킵니다. 수요가 증가함에 따라 애플리케이션 서비스 수를 늘릴 수 있으며 로드 밸런서는 이를 사용하여 요청 처리의 균형을 맞춥니다. (이 구성요소는 선택사항입니다.)

  • 배스천 서비스

    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가 필요하지 않으므로 원격 액세스를 제공할 때 번거롭고 잠재적인 공격 표면을 제거합니다.

  • API 게이트웨이

    Oracle Cloud Infrastructure API Gateway를 사용하면 네트워크 내에서 액세스할 수 있고 필요한 경우 공용 인터넷에 노출할 수 있는 전용 엔드포인트가 있는 API를 게시할 수 있습니다. 엔드포인트는 API 검증, 요청 및 응답 변환, CORS, 인증 및 권한 부여, 요청 제한을 지원합니다.

  • 애널리틱스

    Oracle Analytics Cloud는 확장 가능하고 안전한 퍼블릭 클라우드 서비스로, 데이터 준비, 시각화, 엔터프라이즈 보고, 증강 분석, 자연어 처리 및 생성을 위한 최신 AI 기반 셀프 서비스 분석 기능을 비즈니스 분석가들에게 제공합니다. 또한 Oracle Analytics Cloud를 사용하면 빠른 설정, 손쉬운 확장 및 패치 적용, 자동화된 라이프사이클 관리 등 유연한 서비스 관리 기능을 이용할 수 있습니다.

  • IAM(ID 및 액세스 관리)

    Oracle Cloud Infrastructure Identity and Access Management(IAM)는 Oracle Cloud Infrastructure(OCI) 및 Oracle Cloud Applications의 액세스 제어 플레인입니다. IAM API 및 사용자 인터페이스를 통해 ID 도메인 및 ID 도메인 내의 리소스를 관리할 수 있습니다. 각 OCI IAM ID 도메인은 독립형 ID 및 액세스 관리 솔루션 또는 다른 사용자 모집단을 나타냅니다.

  • ID 도메인(IDom)

    IAM은 ID 도메인(IDom)을 사용하여 인증, SSO(Single Sign-On), Oracle Cloud에 대한 ID 수명 주기 관리, SaaS, 클라우드 호스팅 또는 온프레미스에 관계없이 Oracle 및 비Oracle 애플리케이션에 대한 ID 및 액세스 관리 기능을 제공합니다.

  • 정책

    Oracle Cloud Infrastructure Identity and Access Management 정책은 누가 어떤 리소스에 액세스할 수 있는지, 어떻게 액세스할 수 있는지 지정합니다. 그룹 및 구획 레벨에서 액세스가 부여됩니다. 즉, 특정 구획 내에서 또는 테넌시에 특정 유형의 액세스 권한을 그룹에 제공하는 정책을 작성할 수 있습니다.

  • 감사

    The Oracle Cloud Infrastructure Audit service automatically records calls to all supported Oracle Cloud Infrastructure public application programming interface (API) endpoints as log events. 모든 OCI 서비스는 Oracle Cloud Infrastructure Audit의 로깅을 지원합니다.

  • 로깅
    로깅은 클라우드의 리소스에서 다음 유형의 로그에 액세스할 수 있는 확장성이 뛰어난 완전 관리형 서비스입니다.
    • 감사 로그: 감사 서비스에서 내보낸 이벤트와 관련된 로그입니다.
    • 서비스 로그: API 게이트웨이, 이벤트, 함수, 로드 밸런싱, 오브젝트 스토리지 및 VCN 플로우 로그와 같은 개별 서비스에서 내보낸 로그입니다.
    • 사용자정의 로그: 사용자정의 애플리케이션, 기타 클라우드 제공자 또는 온프레미스 환경의 진단 정보가 포함된 로그입니다.
  • 로깅 분석

    Logging Analytics는 온프레미스 및 멀티클라우드 환경의 모든 로그 데이터를 모니터링, 집계, 인덱스화 및 분석하는 머신 러닝 기반 클라우드 서비스입니다. 사용자는 이 데이터를 검색, 탐색 및 상호 연결하여 문제를 더 빠르게 해결하고 통찰력을 도출하여 더 나은 운영 결정을 내릴 수 있습니다.

권장사항

OCI API 게이트웨이에 대한 재해 복구 솔루션을 배포할 때 다음 권장사항을 시작점으로 사용합니다. 요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다.
  • VCN

    VCN을 생성할 때 VCN의 서브넷에 연결하려는 리소스 수에 따라 필요한 CIDR 블록 수와 각 블록의 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.

    프라이빗 접속을 설정하려는 다른 네트워크(Oracle Cloud Infrastructure, 온프레미스 데이터 센터 또는 다른 클라우드 제공자)와 겹치지 않는 CIDR 블록을 선택합니다.

    VCN을 생성한 후 해당 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.

    서브넷을 설계할 때는 트래픽 플로우 및 보안 요구사항을 고려하십시오. 특정 계층 또는 역할 내의 모든 리소스를 동일한 서브넷에 연결합니다. 이 서브넷은 보안 경계 역할을 할 수 있습니다.

    지역 서브넷을 사용합니다.

  • 연결성(전용 API 게이트웨이)

    OCI에 리소스를 배포하면 온프레미스 네트워크에 대한 단일 연결을 통해 소규모로 시작할 수 있습니다. 이 단일 연결은 OCI FastConnect 또는 IPSec VPN을 통한 연결일 수 있습니다. 중복성을 계획하려면 온프레미스 네트워크와 OCI 간의 모든 구성요소(하드웨어 장치, 설비, 회로 및 전원)를 고려하십시오. 또한 시설이 경로 간에 공유되지 않도록 다양성을 고려하십시오.

고려사항

OCI API 게이트웨이용 재해 복구 솔루션을 배포할 때는 다음 요인을 고려하십시오.

  • OCI DNS 관리 영역 사용

    OCI API 게이트웨이에 대한 DNS 레코드를 구성합니다. OCI DNS 영역을 사용하여 DNS 레코드를 관리하고 OCI API 게이트웨이에 대한 호스트 이름 분석을 제공할 수 있습니다.

    API 게이트웨이에 대한 도메인(또는 하위 도메인)을 획득한 후 OCI 콘솔 또는 API를 통해 OCI DNS 영역을 추가합니다. OCI DNS 영역 생성 및 여기에 레코드 추가에 대한 자세한 내용은 아래의 "자세히 탐색"에서 액세스할 수 있는 "DNS 서비스 영역 관리"를 참조하십시오.
    • 영역에서 OCI API 게이트웨이의 사용자정의 호스트 이름을 CNAME 레코드로 추가합니다.
    • 영역 변경사항을 성공적으로 게시한 후 OCI DNS 이름 서버를 사용하도록 도메인을 업데이트합니다.
  • 보안

    OCI Identity and Access Management(IAM) 정책을 사용하여 클라우드 리소스에 액세스할 수 있는 사람과 수행할 수 있는 작업을 제어합니다. OCI 클라우드 서비스는 OCI API Gateway가 함수를 호출할 수 있도록 허용하는 등의 IAM 정책을 사용합니다. OCI API Gateway는 OAuth 인증 및 권한 부여를 사용하여 액세스를 제어할 수도 있습니다. IAM은 IAM을 통해 통합할 수 있는 인증 및 권한 부여를 허용합니다. 따라서 OCI API Gateway는 광범위한 서비스 및 인증 설정에 대해 인증할 수 있습니다.

  • 성능 및 비용

    OCI API Gateway는 백엔드 서비스에 대한 불필요한 로드를 방지하는 데 도움이 되는 외부 캐시 서버(예: Redis 또는 KeyDB 서버)와 통합하여 응답 캐싱을 지원합니다. 응답이 캐시에 저장되면 유사한 요청이 수신되면 요청을 백엔드 서비스로 전송하는 대신 응답 캐시에서 데이터를 검색하여 완료할 수 있습니다. 이렇게 하면 백엔드 서비스에 대한 로드가 줄어들기 때문에 성능이 향상되고 비용이 절감됩니다. 또한 OCI API Gateway는 TTL 탈퇴 시간에 따라 권한 부여 토큰을 캐싱하여 ID 제공자에 대한 로드를 줄이고 성능을 향상시킵니다.

  • 가용성

    배포 요구사항 및 리전에 따라 고가용성 옵션을 사용하는 것이 좋습니다. 옵션에는 한 영역의 여러 가용성 도메인에 리소스를 분배하고 가용성 도메인 내의 장애 도메인에 리소스를 분배하는 것이 포함됩니다.

  • 모니터링 및 경고

    API 게이트웨이 측정항목에 대한 모니터링 및 경보를 설정합니다.

배치

다음 단계를 수행하여 Oracle Cloud Infrastructure에 이 참조 아키텍처를 배치할 수 있습니다.

Terraform 코드 oci_apigateway_api은 GitHub에서 사용할 수 있습니다. 아래의 "더 알아보기"에서 링크를 참조하십시오.

  1. Oracle Cloud 인증서를 사용하여 Oracle Cloud Infrastructure 콘솔에 사인인합니다.
  2. 아키텍처 다이어그램에 표시된 대로 필요한 보조 사이트 네트워킹 인프라를 설정합니다. 여기에는 VCN, 서브넷, DRG/인터넷 게이트웨이(전용/공용 API 게이트웨이), 보안 목록, 라우팅 테이블, 서비스 게이트웨이, FastConnect/VPN 및 CPE, DNS 공용 영역과 같은 구성요소가 포함됩니다.
  3. OCI API 게이트웨이를 생성합니다. OCI API 게이트웨이 인스턴스를 준비하고 생성하려면 "API 게이트웨이 생성" 지침을 참조하십시오. 아래의 "자세히 탐색"에서 이 문서에 액세스할 수 있습니다.
  4. 필요한 경우 보안 목록, 경로 지정 테이블 및 네트워크 보안 그룹을 구성하여 API 게이트웨이에 액세스할 수 있는 네트워크를 제한합니다.
  5. 배포 동기화를 자동화합니다. 이 단계에서는 CI/CD를 사용하여 API 배치, API 사용 계획, API 구독에 대한 스택이 기본 인스턴스와 대기 인스턴스 간에 정기적으로 동기화되도록 합니다.

    주:

    OCI API 관리 리소스 API 배포, API 사용 계획 및 API 구독 외의 모든 구성 및 변경 사항은 Terraform 스택으로 저장 및 관리할 수 있습니다. 그런 다음 OCI DevOps를 사용하여 스택을 보조측으로 업로드하거나 다른 사이트에 적용할 수 있습니다.
  6. 페일오버 작업을 실행합니다.
    • 재해 복구 환경으로 전환합니다.
    • 운용중단 시 DNS 제공자 또는 OCI DNS 영역에서 DNS 레코드를 업데이트하여 API 게이트웨이를 통해 보조 사이트로 트래픽 경로를 지정함으로써 기본 인스턴스에서 대기 인스턴스로 전환합니다. OCI 콘솔에서 또는 OCI REST API를 사용하여 이를 수동으로 수행할 수 있습니다. 페일오버 프로세스 후 대기/보조 사이트 API 게이트웨이가 기본 API 게이트웨이가 되고 이전에 기본으로 지정된 API 게이트웨이가 새 대기 API 게이트웨이가 됩니다.

확인

  • 작성자: Peter Obert
  • 제공자: Robert Wunderlich