반응형
- AWS ECS 서비스간 통신 방법 3가지 존재
- Amazon ECS Service Discovery(활용)
- DNS 사용하여 요청을 보낼 수 있도록 엔드포인트를 생성
- 생성된 엔드포인트를 통하여 프론트 -> DNS를 통하여 백엔드 호출
- AWS Cloud Map, Route53에 필요한 항목이 자동 등록
- DNS 사용하여 요청을 보낼 수 있도록 엔드포인트를 생성
- Amazon Elastic Load Balancer(ELB)
- 많이 사용하는 방법이며 하나의 ELB의 대상 그룹을 지정하여 트래픽을 전달
- 클라이언트 -> ELB 엔드포인트 호출
- AWS App Mesh
- Service Mesh 개념
- Envoy 프록시를 사이트카 형태로 생성하여 하나의 네트워크를 구성
- Task(작업 간) 트래픽을 프록시하고 상호 연결을 담당
- Envoy 프록시를 사용할 경우 암호화, 인증 기능 제공
- 복잡도 존재함
- Amazon ECS Service Discovery(활용)
- 참고
https://aws.amazon.com/ko/blogs/tech/run-microservices-easily-with-amazon-ecs-service-connect/
- 구성도
- 사전 조건
- AWS ECS Cluster 생성
https://monta010.tistory.com/171
1. Backend Task
- 태스트 이름 : backend
- 시작 유형 : Amazon EC2 인스턴스
- 운영 체제 : Linux X86_64 , 네트워크 모드 : bridge
- 태스크 크기(스펙 선택)
- CPU : 1 vCPU
- 메모리 : 1 GB
- 테스크 실행 역할 : ecsTaskExecutionRole
- 컨테이너
- 이름 : backend
- 이미지 URL : Private ECR URL
- 포트 매핑
- 컨테이너 포트 : 3001
2. Backend Service
- 시작 유형 : EC2
- 애플리케이션 유형 : 서비스
- 패밀리 : Backend , 버전
- 서비스 이름 : backend-service
3. Backend 서비스 접속
4. Backend Service Connection 설정
- 서비스 연결 켜기 : 활성화
- 서비스 연결 구성 : 클라이언트 및 서버(백엔드)
- 네임스페이스 : 네임스페이스 선택
- 서비스 연결
- 포트 별침 : backend-3001-tcp
- 검색 : backend.local
- DNS : backend.local(프론트 URL 사용)
- 포트 : 3001
5. Front Task
- 태스트 이름 : front
- 시작 유형 : Amazon EC2 인스턴스
- 운영 체제 : Linux X86_64 , 네트워크 모드 : bridge
- 태스크 크기(스펙 선택)
- CPU : 1 vCPU
- 메모리 : 2 GB
- 테스크 실행 역할 : ecsTaskExecutionRole
- 컨테이너
- 이름 : front
- 이미지 URL : Private ECR URL
- 포트 매핑
- 컨테이너 포트 : 80
- 시작 유형 : EC2
6. Front Service
- 애플리케이션 유형 : 서비스
- 패밀리 : front , 버전
- 서비스 이름 : front-service
- 서비스 연결 켜기 : 활성화
- 서비스 연결 구성 : 클라이언트 측만 해당
- 네임스페이스 : 네임스페이스 선택
7. nginx 변경
- Nginx 설정
- proxy_pass : backend-api.me 으로 변경
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_pass http://backend-api.me/api/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
8. 서비스 확인
반응형
'AWS > ECS' 카테고리의 다른 글
AWS ECS 스토리지 (0) | 2024.12.16 |
---|---|
AWS ECS 콘솔 구축하기 (0) | 2024.12.10 |
AWS Fargate ECS 구성하기 (0) | 2021.08.30 |
댓글