본문 바로가기

↪ Flow

MSA에서 Client가 Route53, CloudFront를 통해 S3 index.html파일에 접근하고 Apigee를 거쳐 백엔드를 호출

728x90
반응형

# MSA에서 Client가 Route53, CloudFront를 통해 S3 index.html파일에 접근하고 Apigee를 거쳐 백엔드를 호출 정리

AWS에서 프론트엔드와 백엔드가 Kubernetes pod로 분리되어 있고, 클라이언트가 Route 53과 CloudFront를 통해 S3의 index.html 파일에 접근한 후 Apigee와 백엔드를 호출하는 플로우는 다음과 같다.

1. Route 53 설정

도메인 이름을 Route 53에 등록한다.
Route 53에서 도메인 이름에 대한 DNS 레코드를 생성하여 CloudFront 배포와 연결한다.

 

2. CloudFront 배포

CloudFront 배포를 생성하고, S3 버킷을 오리진으로 설정한다. 이 S3 버킷에는 index.html 파일이 포함되어 있다.
CloudFront 배포 설정에서 HTTPS를 강제하고, 필요한 경우 다른 보안 관련 설정(예: WAF 연결)을 구성한다.
CloudFront 배포를 통해 클라이언트는 HTTPS를 사용하여 index.html 파일에 안전하게 접근할 수 있다.

3. S3 버킷 설정

S3 버킷을 정적 웹사이트 호스팅으로 설정하고, index.html을 인덱스 문서로 지정한다.
버킷 정책을 통해 CloudFront를 통한 접근만을 허용으로 설정 한다.

4. Kubernetes 클러스터에서 백엔드 설정

백엔드 애플리케이션은 Kubernetes 클러스터 내에서 별도의 pod로 배포된다.
Kubernetes 서비스(예: LoadBalancer 타입)를 사용하여 백엔드 포드에 대한 외부 접근을 활성화한다.

5. Apigee 통합

Apigee API 관리 플랫폼을 사용하여 API 요청과 응답을 관리한다. Apigee는 API 보안, 속도 제한, 분석 등을 제공한다.
Apigee 엔드포인트를 API 게이트웨이로 설정하여 백엔드 서비스로의 요청을 중계한다.

6. 프론트엔드에서 백엔드 및 Apigee 호출

클라이언트(브라우저)는 index.html을 로드한 후, JavaScript를 통해 백엔드 API를 호출한다.
이 API 요청은 Apigee를 통해 라우팅되며, Apigee는 요청을 검증하고, 필요한 정책을 적용한 후 백엔드 서비스로 전달한다.

 

- 플로우 요약
클라이언트는 Route 53을 통해 도메인 이름을 해석하고, CloudFront를 통해 S3에서 index.html 파일을 로드.
클라이언트에서 JavaScript를 통해 API 요청을 할 때, 요청은 Apigee를 거쳐 백엔드 서비스로 라우팅.
Apigee는 API 관리를 담당하며, 백엔드 서비스는 요청을 처리.
이 구성은 정적 콘텐츠의 효율적인 제공과 API 요청의 안전한 관리를 모두 지원.

AWS의 클라우드 서비스와 Kubernetes, Apigee와 같은 API 관리 플랫폼을 통합하여 안전하고 효율적인 웹 애플리케이션 배포를 가능하게 한다.

 

- 끝 -

728x90
반응형