주:

Oracle API Gateway에서 Oracle Cloud Infrastructure API Gateway로 API 마이그레이션

소개

Oracle API Gateway는 과거에 웹, 모바일 또는 클라이언트-서버 애플리케이션과의 통합을 위해 API를 통해 레거시 시스템을 노출하려고 했던 회사에서 사용하는 광범위한 온프레미스 플랫폼입니다.

이 사용지침서에서는 Oracle API Gateway에 구현된 API를 클라우드 네이티브 표준 내에서 보다 현대적이고 확장 가능한 기술로 마이그레이션하고 하이브리드 환경(클라우드 또는 온프레미스)에서 사용할 수 있는 방법에 대해 설명합니다. 이 제안은 Oracle Cloud Infrastructure API Gateway(OCI API Gateway)로의 마이그레이션을 가속화하는 것입니다.

OCI API 게이트웨이 서비스를 사용하면 액세스 가능한 프라이빗 끝점이 있는 API를 네트워크에 게시할 수 있으며, 인터넷 트래픽을 허용하려는 경우 퍼블릭 IP 주소로 노출할 수 있습니다. 엔드포인트는 API 검증, 요청 및 응답 변환, CORS, 인증 및 권한 부여, 요청 제한을 지원합니다.

OCI API 게이트웨이 서비스를 사용하면 지역 서브넷에 API 게이트웨이를 하나 이상 생성하여 API 클라이언트 트래픽을 처리하고 이를 백엔드 서비스로 라우팅할 수 있습니다. 단일 API 게이트웨이를 사용하여 여러 백엔드 서비스(예: OCI 로드 밸런서, OCI 컴퓨트 인스턴스 및 OCI 함수)를 단일 통합 API 엔드포인트에 연결할 수 있습니다. OCI API Gateway 서비스에 액세스하여 OCI 콘솔 및 REST API를 사용하여 API 게이트웨이 및 API 배포를 정의할 수 있습니다.

OCI API Gateway 서비스는 Oracle Cloud Infrastructure Identity and Access Management(OCI IAM)와 통합되어 기본 OCI ID 기능을 통해 손쉽게 인증할 수 있습니다.

이 사용지침서에서는 OCI API Gateway로의 마이그레이션을 위한 아티팩트를 준비할 수 있으며, 다른 사용지침서인 OCI API Gateway에 OpenAPI 사양을 배포하기 위한 자동화 구현과 함께 사용해야 합니다.

참고:

Oracle API Gateway에서 OCI API Gateway로 마이그레이션하기 위한 전략

이 전략은 약간 다른 기술이므로 OCI API Gateway로 직접 마이그레이션하는 것을 허용하지 않습니다. Oracle API Gateway는 경로와 해당 정책 간의 매핑을 생성하여 권한 부여/인증, HEADER, 비즈니스 규칙 및 기타 복잡한 API로 통합관리를 호출하기 위한 복잡한 처리 규칙을 생성하는 메커니즘을 갖추고 있지만, OCI API 게이트웨이는 API 게이트웨이로만 작동하므로 일부 HEADER 처리가 가능하여 시간 초과 및 스로틀링 원칙을 수립할 수 있지만 큰 복잡성은 없습니다. 이 도구는 다른 기능을 보완하는 다양한 서비스의 일부이기 때문에 더 단순하고 기능을 정확하게 구분하는 것을 목표로합니다.

목표

작업 1: Oracle API Gateway API 익스포트

Oracle API Gateway는 XML 파일의 모든 정의를 익스포트할 수 있습니다. 이 아티팩트를 사용하여 이전 프로세스를 가속화합니다. Oracle API Gateway에서 API 정의를 익스포트하는 방법에 대한 자세한 내용은 API 게이트웨이 구성 익스포트를 참조하십시오.

모든 API 정의를 포함할 XML 파일이 표시됩니다.

img_1.png

img.png

img_2.png

작업 2: Oracle API Gateway XML을 Swagger 사양으로 변환

Oracle API Gateway XML 파일을 사용하여 YAML Swagger 파일로 변환합니다.

  1. 변수 파일 이름을 익스포트된 Oracle API Gateway XML 파일로 변경하고 generate_swagger.py Python 파일을 실행합니다.

    img_3.png

    img_4.png

    img_5.png

    확장자가 YAML인 파일을 받게 됩니다. 각 파일은 Oracle API Gateway에 정의된 API에 대한 Swagger 정의입니다.

    일부 행은 Swagger 정의에서 주석 처리됩니다. 해당 라인은 각 API의 Oracle API Gateway 통합관리를 나타냅니다. 그러면 Oracle Integration에서 조정을 계획하고 구성하는 데 도움이 됩니다.

  2. Oracle API Gateway XML 정의 파일과 출력 매핑 정의에 대한 파일 이름을 포함하도록 map_details.py Python 파일을 변경합니다.

    img_6.png

    이 Python 코드를 실행하면 Swagger에 언급된 각 통합관리 단계에 대해 보다 자세한 정의를 얻을 수 있습니다.

    img_7.png

작업 3: Swagger를 OCI API Gateway에 배포

Swagger 파일을 사용하면 자동화 프로세스를 통해 OCI API Gateway로 임포트할 수 있습니다. Python 코드로 생성된 모든 YAML 파일은 이 프로젝트를 사용하여 OCI API Gateway에 배포할 수 있습니다. 자세한 내용은 OCI API Gateway에 OpenAPI 사양을 배포하기 위한 자동화 구현을 참고하세요.

이 프로젝트는 여기에서 생성된 Swagger 사양을 임포트하고 사용할 API를 배치합니다. 이 설명서의 일부로 백엔드를 수동으로 조정해야 합니다.

작업 4: Oracle Integration에서 통합관리 구현

이 태스크에서는 사례별로 사례를 분석하고 통합관리, 비즈니스 규칙 및 검증을 구현해야 합니다.

우선 Oracle API Gateway에서 API의 각 단계를 분석해야 합니다. 일부 단계는 비즈니스 규칙 및 통합관리이며 Oracle Integration의 구현에 포함되어야 합니다. 이 구현은 OCI API Gateway에 노출될 수 있습니다. 따라서 Oracle API Gateway에서 실행되는 동일한 프로세스를 따라야 합니다.

그러나 Oracle Integration 내에서 구현할 필요가 없는 몇 가지 단계는 다음과 같습니다.

인증 및 권한 부여 프로세스는 OCI API Gateway 계층에서 구현할 수도 있고 구현할 수도 있습니다. 여러 가지 방법으로 JWT, OAuth2를 통해 이를 구현할 수 있습니다. 사용자정의를 허용하는 것 외에 권한 부여자 함수에 토큰을 전달하여 인증 및 권한 부여를 API 배치에 추가를 참조하십시오.

HEADER(QUERY 매개변수 및 BODY) 처리는 OCI API Gateway 자체에서 수행할 수 있습니다. REQUEST 및 RESPONSE에서 처리가 가능합니다.

로그는 OCI API 게이트웨이에서 처리할 수도 있지만 항상 전체 회로를 기록하는 것이 좋습니다. 즉, Oracle Integration에 구현이 있는 경우 로그도 구현해 보십시오.

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.