Oracle API Gateway를 사용하여 멀티 클라우드 마이크로서비스 연결

Oracle API Gateway 서비스를 사용하면 네트워크 내에서 액세스할 수 있는 전용 끝점으로 API를 게시할 수 있으며, 인터넷 트래픽을 허용하려는 경우 공용 IP 주소로 API를 표시할 수 있습니다.

엔터프라이즈 솔루션을 생성할 때 특정 요구사항의 결과 또는 클라우드 공급업체의 팀 기본설정으로 인해 솔루션의 여러 부분이 다른 클라우드(또는 온프레미스)에 배포되었을 수 있습니다. 예를 들어 Office 365를 확장하는 서비스는 Azure에 배포되었을 수 있지만 ERP와 같은 핵심 서비스는 OCI에 상주할 수 있습니다.

이러한 서비스 중 일부를 파트너에게 API로 표시하려는 경우 여러 클라우드에서 여러 게이트웨이의 작동을 시도하지 않으려고 합니다. 서로 다른 클라우드에서 API를 분할하면 API 소비자에게 혼란을 줄 수 있습니다. 위험을 언급하지 않아도 변경이 필요할 가능성이 커집니다. 또한 API 사용과 관련된 몇 가지 제한 사항 또는 제어가 있는 경우 이러한 제어 관리가 매우 어려워집니다. 이 경우 Oracle API 게이트웨이를 사용하여 여러 백엔드 서비스를 단일 통합 API 엔드포인트에 연결할 수 있습니다.

Oracle API Gateway 서비스는 기본 Oracle Cloud Infrastructure(OCI) ID 기능으로 손쉽게 인증을 제공하는 Oracle Cloud Infrastructure Identity and Access Management(OCI IAM)와 통합됩니다. 다양한 클라우드(예: OCI, Oracle SaaS, AWS(Amazon Web Services), Microsoft Azure, Google Cloud Computing 등)에서 실행되는 서비스가 있을 경우 Oracle API Gateway를 사용하여 이러한 모든 서비스를 서비스 클라이언트에 노출할 수 있습니다.

Oracle API Gateway를 사용하면 다음과 같은 이점이 있습니다.
  • 멀티 클라우드 아키텍처 지원: 벤더 종속 방지, 규정 준수 요구 사항 충족, 복원력 향상, 유연성 및 위험 관리 사용자가 모든 클라우드에서 서비스 백엔드를 실행하여 규제준수 요구사항(단일 클라우드 공급업체에 종속되지 않음)을 충족할 수 있지만, 백엔드 서비스가 실행 중인 위치에 관계없이 클라이언트에 통합 엔드포인트를 노출할 수 있습니다.
  • 여러 클라우드에서 다양한 서비스를 실행할 수 있습니다. 백엔드 구현 위치에 관계없이 통합 엔드포인트를 제공합니다.
  • 백엔드 구현 위치에 관계없이 통합 끝점을 API 클라이언트에 표시할 수 있습니다. 백엔드를 배포할 수 있는 위치와 배포할 수 없는 경우가 있지만 Oracle API Gateway는 클라이언트가 영향을 받지 않도록 합니다.

Oracle API Gateway를 사용하여 다음과 같은 문제를 해결할 수 있습니다.

고객 시도 Oracle API Gateway 솔루션
통합 엔드포인트를 사용하여 멀티 클라우드 아키텍처 구현 및 여러 클라우드에서 다양한 마이크로서비스 실행
  • 혼합 및 일치 접근 방식을 사용으로 설정: 서로 다른 클라우드에서 서로 다른 마이크로서비스를 구현할 수 있습니다.
  • 모니터링되고 제어되는 수신 지점을 제공합니다. 공통 게이트웨이를 사용하면 네트워크 트래픽을 더 제어된 방식으로 전달할 수 있습니다. 즉, 다른 클라우드로의 트래픽은 게이트웨이를 통해 사용으로 설정되고 효과적으로 모니터링됩니다. 서비스가 배포될 때마다 트래픽이 시작되고 종료되는 경우 모든 항목에 연결할 수 있도록 네트워크가 허용해야 합니다.
마이크로서비스는 내부 변경을 수행할 수 있으며, 클라우드 간에 이동할 수도 있습니다. 다른 클라우드에서 이미 실행 중인 마이크로 서비스는 계속 실행할 수 있습니다(예: Microsoft 기반 애플리케이션은 Microsoft Azure에서 계속 실행 가능).
이러한 마이크로서비스를 활용하는 클라이언트 애플리케이션은 다양한 클라우드에서 실행되는 이러한 모든 마이크로서비스에 대한 일관된 무중단 액세스가 필요합니다. 서로 다른 클라우드에서 실행되는 모든 마이크로서비스는 OracleAPI Gateway를 사용하여 클라이언트에 함께 노출될 수 있습니다.

구조

이 참조 아키텍처는 Oracle API Gateway를 사용하여 OCI 및 기타 클라우드(또는 OCI, Oracle SaaS, 타사 클라우드 또는 온프레미스 네트워크와 같은 데이터 센터)에서 실행되는 서비스를 연결하고 서비스를 서비스 클라이언트에 노출하는 방법을 보여줍니다.

다음 다이어그램은 이 참조 아키텍처에 대한 데이터 플로우를 보여 줍니다.



oci-multicloud-api-gateway-flow-oracle.zip를 입력합니다.

다른 서비스 제공자가 있을 수 있습니다. 예를 들면 다음과 같습니다.
  • 가상 머신에서 실행되는 컨테이너화된 서비스 및 서비스를 타사 클라우드에서 제공합니다.
  • Oracle SaaS 애플리케이션(예: Oracle Fusion Cloud Applications 또는 Oracle Fusion Cloud Enterprise Performance Management)(Oracle 통합과 같은 서비스를 사용하여 통합할 수 있음)
  • Oracle Autonomous Database 서비스
  • OCI 기능 및 OKE(Container Engine for Kubernetes)와 같은 클라우드 네이티브 서비스
서비스는 다음에서 사용할 수 있습니다.
  • 온프레미스 애플리케이션(OCI VPN 또는 FastConnect를 사용하여 연결) 예를 들어 데이터 센터에서 실행되는 응용 프로그램이 있습니다.
  • 인터넷 기반 클라이언트 예를 들어 인터넷을 통해 서비스에 액세스하는 웹 페이지 및 모바일 앱이 있습니다.

적절한 네트워크 연결이 설정되면 OCI API Gateway는 다른 백엔드 서비스 공급자에 연결하고, 필요에 따라 해당 서비스의 복잡성을 추상화하고, 서비스 클라이언트가 쉽게 사용할 수 있는 서비스 API를 노출할 수 있습니다.

다음 다이어그램은 이 참조 아키텍처를 보여줍니다.



oci-multicloud-api-gateway-arch-oracle.zip를 참조하십시오.

이 구조에는 다음과 같은 구성 요소가 있습니다.

  • 지역

    Oracle Cloud Infrastructure 지역은 가용성 도메인이라고 하는 하나 이상의 데이터 센터를 포함하는 지역화된 지리적 영역입니다. 지역은 다른 지역과 독립적이며 거리가 멀면 국가 또는 대륙을 가로질러 분리할 수 있습니다.

  • 가용성 도메인

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

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

    VCN은 Oracle Cloud Infrastructure 지역에서 설정한 커스터마이징 가능한 소프트웨어 정의 네트워크입니다. 기존 데이터 센터 네트워크와 마찬가지로 VCN은 네트워크 환경을 완벽하게 제어할 수 있습니다. VCN에는 VCN 생성 후 변경할 수 있는 겹치지 않는 여러 CIDR 블록이 있을 수 있습니다. VCN을 서브넷으로 세그먼트할 수 있으며, 지역 또는 가용성 도메인으로 범위를 지정할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속된 주소 범위로 구성됩니다. 생성 후 서브넷의 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

  • Oracle Cloud Applications

    SaaS 애플리케이션의 완전한 클라우드 제품군은 기업 자원 계획, 공급망 관리 및 인적 자본 관리에서 광고 및 고객 경험에 이르기까지 가장 중요한 비즈니스 기능 전반에 걸쳐 일관된 프로세스와 신뢰성 있는 단일 소스를 제공합니다. 이 애플리케이션을 사용하면 고객 참여를 개선하고 비즈니스의 민첩성을 높이며 그 어느 때보다 빠르게 변화에 대응할 수 있습니다.

  • 통합

    Oracle Integration은 애플리케이션을 통합하고, 프로세스를 자동화하고, 비즈니스 프로세스에 대한 통찰력을 얻고, 시각적 애플리케이션을 생성할 수 있는 전담 관리 서비스입니다.

  • Autonomous Database

    Oracle Cloud Infrastructure Autonomous Database는 트랜잭션 처리 및 데이터 웨어하우징 워크로드에 사용할 수 있는 사전 구성된 전담 관리 데이터베이스 환경입니다. 하드웨어를 구성 또는 관리하거나 소프트웨어를 설치할 필요가 없습니다. Oracle Cloud Infrastructure는 데이터베이스 생성, 데이터베이스 백업, 패치, 업그레이드 및 조정을 처리합니다.

  • API 게이트웨이

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

  • 사이트 간 VPN

    사이트 간 VPN은 온프레미스 네트워크와 Oracle Cloud Infrastructure의 VCN 간 IPSec VPN 연결을 제공합니다. IPSec 프로토콜 제품군은 패킷이 소스에서 대상으로 전송되기 전에 IP 트래픽을 암호화하고 도착 시 트래픽을 해독합니다.

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

  • 함수

    Oracle Functions는 확장성이 뛰어난 완전 관리형 멀티테넌트 온디맨드 Functions-as-a-Service(FaaS) 플랫폼입니다. Fn Project 오픈 소스 엔진에 의해 구동 됩니다. 함수를 사용하면 코드를 배치하고 직접 호출하거나 이벤트에 대한 응답으로 트리거할 수 있습니다. Oracle Functions는 Oracle Cloud Infrastructure Registry에서 호스팅되는 Docker 컨테이너를 사용합니다.

추천

다음 권장 사항을 시작점으로 사용합니다. 요구 사항은 여기에 설명된 구조와 다를 수 있습니다.
  • VCN(가상 클라우드 네트워크)

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

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

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

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

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

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

  • 보안

    Oracle Cloud Guard를 사용하여 Oracle Cloud Infrastructure상에서 리소스의 보안을 사전에 모니터링하고 유지보수합니다. Cloud Guard는 리소스에서 보안 약점을 검사하고 운영자 및 사용자가 위험한 작업을 모니터하도록 정의할 수 있는 감지기 레시피를 사용합니다. 잘못된 구성 또는 비보안 작업이 감지되면 Cloud Guard는 수정 조치를 권장합니다. 정의할 수 있는 응답기 레시피를 기반으로 이러한 작업을 수행할 수 있습니다.

    최대 보안이 필요한 리소스의 경우 Oracle은 보안 영역을 사용할 것을 권장합니다. 보안 영역은 모범 사례를 기반으로 하는 Oracle 정의 보안 정책 레시피와 연관된 구획입니다. 예를 들어, 보안 영역의 리소스는 공용 인터넷에서 액세스할 수 없으며 고객 관리 키를 사용하여 암호화해야 합니다. 보안 영역에서 리소스를 만들고 업데이트할 때 Oracle Cloud Infrastructure는 보안 영역 레시피의 정책에 대해 작업을 검증하고 모든 정책을 위반하는 작업을 거부합니다.

고려 사항

Oracle API Gateway를 배포할 때 다음 옵션을 고려하십시오.

  • 성능

    OCI API 게이트웨이는 백엔드 서비스에서 불필요한 로드를 방지하는 데 도움이 되는 외부 캐시 서버(예: Redis 또는 KeyDB 서버)와 통합하여 응답 캐싱을 지원합니다. 응답이 캐시될 때 유사한 요청이 수신되면 백엔드 서비스로 요청을 전송하지 않고 응답 캐시에서 데이터를 검색하여 완료할 수 있습니다. 따라서 백엔드 서비스에 대한 로드가 감소하므로 성능이 향상되고 비용이 절감됩니다.

    또한 OCI API 게이트웨이는 TTL 종료 시간에 따라 인증 토큰을 캐시에 저장하여 ID 제공자의 로드를 줄이고 성능을 향상시킵니다.

  • 보안

    OCI 클라우드 서비스는 API 게이트웨이가 함수를 호출할 수 있도록 허용하는 등의 IAM 정책을 사용합니다. API 게이트웨이는 OAuth 인증 및 권한 부여를 사용하여 액세스를 제어할 수도 있습니다. IAM을 사용하면 IAM을 통해 통합할 수 있는 인증 및 권한 부여가 가능하므로 API Gateway는 광범위한 서비스 및 인증 설정에 대해 인증할 수 있습니다.

  • 고가용성

    배포 요구사항 및 지역에 따라 고가용성 옵션을 사용하는 것이 좋습니다. 옵션에는 영역의 여러 가용성 도메인에 리소스를 분배하고 가용성 도메인 내 장애 도메인에 리소스를 분배하는 작업이 포함됩니다. 장애 도메인은 단일 가용성 도메인 내에 배포된 워크로드에 최고의 복원성을 제공합니다. 애플리케이션 계층의 고가용성을 위해 애플리케이션 서버를 서로 다른 장애 도메인에 배포하고 로드 밸런서를 사용하여 애플리케이션 서버 간에 클라이언트 트래픽을 분산합니다.

추가 탐색

이 참조 아키텍처의 기능에 대해 자세히 알아보려면 다음 추가 리소스를 검토하십시오.

승인

  • Author: Kaushik Kundu
  • Contributors: Wei Han, Phil Wilkins