하이브리드 환경에 Oracle API Gateway Service 배포
구조
이 아키텍처는 API 게이트웨이 서버를 사용하여 공용 인터넷 액세스 환경을 제공하는 온프레미스 고객 데이터 센터와 OCI(Oracle Cloud Infrastructure) 영역과 2개의 가용성 도메인을 보여줍니다.
온프레미스 고객 데이터 센터는 안전하고 확장 가능한 환경에서 API의 계획, 생성, 프로토타입 생성, 배포 및 관리를 위해 API 게이트웨이를 활용합니다. 온프레미스 환경은 전용 API 환경일 수도 있고 API를 공용 인터넷과 공유할 수 있는 공용 API 환경에 속할 수도 있습니다.
API 게이트웨이는 API Designer 포털 및 개발자 포털 역할을 합니다. API 디자이너는 API 설계자가 API를 생성, 테스트, 배치 및 관리하는 곳입니다. 개발자 포털에서는 API 소비자가 API, API 설명서를 보고 API를 시도할 수 있습니다.
다음 다이어그램은 이 참조 구조를 보여줍니다.
그림 api-gateway-hybrid.png에 대한 설명
구조에는 다음과 같은 구성 요소가 있습니다.
- 영역
Oracle Cloud Infrastructure 지역은 가용성 도메인이라는 하나 이상의 데이터 센터를 포함하는 현지화된 지리적 영역입니다. 지역은 다른 지역에 독립적이며, 거리가 먼 나라 전체나 대륙을 구분할 수 있습니다.
- 가용성 도메인
가용성 도메인은 한 지역 내의 독립형 독립적인 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 내결함성을 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원, 냉각 또는 내부 가용성 도메인 네트워크와 같은 인프라를 공유하지 않습니다. 따라서 한 가용성 도메인에서 장애가 발생해도 해당 지역의 다른 가용성 도메인에 영향을 주지 않습니다.
- 결함 도메인
장애 도메인은 한 가용성 도메인 내 하드웨어와 인프라의 그룹입니다. 각 가용성 도메인에는 독립적인 전원 및 하드웨어의 3개의 장애 도메인이 있습니다. 여러 장애 도메인에 걸쳐 리소스를 분배할 경우 응용 프로그램은 결함 도메인 내에서 물리적 서버 오류, 시스템 유지 관리 및 전원 오류를 허용할 수 있습니다.
- VCN(가상 클라우드 네트워크) 및 서브넷
VCN은 Oracle Cloud Infrastructure 지역에서 설정하는 사용자 정의 가능한 소프트웨어 정의 네트워크입니다. 기존의 데이터 센터 네트워크와 마찬가지로 VCN은 네트워크 환경에 대한 완벽한 제어를 제공합니다. VCN에는 VCN을 생성한 후 변경할 수 있는 겹치지 않는 CIDR 블록이 여러 개 있을 수 있습니다. VCN을 영역 또는 가용성 도메인으로 범위가 지정될 수 있는 서브넷으로 분할할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속 주소 범위로 구성됩니다. 서브넷 생성 후 서브넷의 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.
- FastConnect
Oracle Cloud Infrastructure FastConnect는 데이터 센터와 Oracle Cloud Infrastructure 간에 전용 개인 연결을 생성하는 간편한 방법을 제공합니다. FastConnect는 더 높은 대역폭 옵션과 인터넷 기반 연결보다 더 신뢰할 수 있는 네트워킹 환경을 제공합니다.
- Oracle Cloud Infrastructure Web Application Firewall(WAF)
Oracle Cloud Infrastructure Web Application Firewall은 악의적이고 불필요한 인터넷 트래픽으로부터 애플리케이션을 보호하는 클라우드 기반의 PCI(Payment Card Industry) 준수 글로벌 보안 서비스입니다. WAF는 인터넷 연결 엔드포인트를 보호하여 고객 애플리케이션에 대한 일관된 규칙 적용 기능을 제공합니다.
- 인터넷 게이트웨이
인터넷 게이트웨이는 VCN의 공용 서브넷과 공용 인터넷 사이의 트래픽을 허용합니다.
- 로드 밸런서
Oracle Cloud Infrastructure Load Balancing 서비스는 단일 시작점에서 백엔드의 여러 서버로 자동화된 트래픽 분배를 제공합니다.
- DRG(Dynamic Routing Gateway)
DRG는 VCN과 지역 외부의 네트워크(예: 다른 Oracle Cloud Infrastructure 지역의 VCN, 온프레미스 네트워크 또는 다른 클라우드 제공자의 네트워크) 간 전용 네트워크 트래픽 경로를 제공하는 가상 라우터입니다.
- 로컬 피어링 게이트웨이(LPG)
LPG를 사용하면 한 VCN을 같은 지역의 다른 VCN과 피어링할 수 있습니다. 피어링이란 인터넷을 통과하거나 온프레미스 네트워크를 통해 라우팅하는 트래픽 없이 VCN이 전용 IP 주소를 사용하여 통신한다는 의미입니다.
- API 게이트웨이
API 게이트웨이 서비스를 사용하면 네트워크 내에서 액세스할 수 있는 전용 엔드포인트와 함께 API를 게시할 수 있으며, 필요한 경우 공용 인터넷에 노출할 수 있습니다. 끝점은 API 검증, 요청 및 응답 변환, CORS, 인증 및 권한 부여, 요청 제한을 지원합니다.
권장사항
- VCN
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를 배포할 때 다음을 고려합니다.
- 성능
다양한 구성 옵션을 사용하여 API 게이트웨이 성능을 최적화할 수 있습니다. 예를 들어, 일반적인 성능 튜닝 옵션에는 추적, 모니터링 및 로깅이 포함됩니다. 데이터베이스 풀링, HTTP 작동 유지, 조각화 인코딩, 클라이언트 스레드 및 Java 메모리가 포함된 고급 성능 튜닝 옵션이 제공됩니다.
- 보안
Oracle Cloud Infrastructure Identity and Access Management 정책을 사용하여 클라우드 리소스에 접근할 수 있는 사용자와 수행할 수 있는 작업을 제어할 수 있습니다.
암호 또는 기타 암호를 보호하려면 Oracle Cloud Infrastructure Vault 서비스를 사용해 보십시오.
- 가용성
배치 요구사항 및 지역에 따라 고가용성 옵션을 사용하는 것이 좋습니다. 이러한 옵션에는 한 지역의 여러 가용성 도메인에 리소스를 분배하고 가용성 도메인 내의 장애 도메인에 리소스를 분배하는 작업이 포함됩니다.
장애 도메인은 단일 가용성 도메인 내에 배포된 워크로드에 대해 최적의 복원성을 제공합니다. 애플리케이션 계층에서 고가용성을 위해서는 애플리케이션 서버를 서로 다른 장애 도메인에 배치하고, 로드 밸런서를 사용하여 애플리케이션 서버 간에 클라이언트 트래픽을 분산합니다.