Swagger 실습시 질의주신 내용에 대한 응답 모음집입니다.
Question: AWS ECR 사전 구성 방법 및 AWS ELB 로드밸런서를 통한 Swagger UI 접속 방법
Answer: 다음과 같은 방법으로 진행
(1) AWS ECR Repository 구성
- 실습을 위한 AWS ECR Repository의 경우, AWS Management Console에서 미리 4개의 Repository를 생성함
- 생성시 다음과 같은 이름으로 생성 (product-composite, product, recommendation, review)
(2) Gradle을 이용해 마이크로서비스를 모두 빌드
- 4개의 실습용 마이크로서비스를 모두 빌드
- 경로 : Part6_MSA/Chapter03/
- 명령어
$ gradle clean build
(3) Product-Composite 마이크로서비스를 Docker 컨테이너 이미지 빌드 및 Push
- 경로 : Part6_MSA/Chapter03/microservices/product-composite-service
- 명령어
$ docker build -t <AWS 계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com/product-composite:1.0 ./
$ docker push <AWS 계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com/product-composite:1.0
(4) Product 마이크로서비스를 Docker 컨테이너 이미지 빌드 및 Push
- 경로 : Part6_MSA/Chapter03/microservices/product-service
- 명령어
$ docker build -t <AWS 계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com/product:1.0 ./
$ docker push <AWS 계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com/product:1.0
(5) Recommendation 마이크로서비스를 Docker 컨테이너 이미지 빌드 및 Push
- 경로 : Part6_MSA/Chapter03/microservices/recommendation-service
- 명령어
$ docker build -t <AWS 계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com/recommendation:1.0 ./
$ docker push <AWS 계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com/recommendation:1.0
(6) Review 마이크로서비스를 Docker 컨테이너 이미지 빌드 및 Push
- 경로 : Part6_MSA/Chapter03/microservices/review-service
- 명령어
$ docker build -t <AWS 계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com/review:1.0 ./
$ docker push <AWS 계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com/review:1.0
(7) 컨테이너 이미지 빌드된 목록
- 명령어
$ docker images
(8) Kubernetes에 MSA 구성 배포 및 배포 현황 확인
- 경로 : Part6_MSA/Chapter03/kubernetes
- 명령어
$ kubectl apply -f ./
$ kubectl get deploy
$ kubectl get pods
$ kubectl get services
-
Service의 경우, product-composite Service의 Type이 LoadBalancer이므로 자동으로 AWS ELB LoadBalancer가 생성되었으며, 생성된 결과는 AWS Management Console에서 확인 가능
ELB 상태 확인결과, 2개의 EKS Worker Node에 inService 중인 상태인 것으로 확인 접속은 ELB의 DNS 도메인주소(product-composite Service의 External IP)를 HTTP프로토콜, 8080포트로 가능
(9) Swagger UI 접속 방법