클라우드/AWS

[Mac OS]AWS ECS를 이용한 컨테이너화 된 앱 배포(WAS, AWS ECR, AWS ECS)

chanstory 2023. 1. 20. 03:19
반응형

** AWS ECR에 앱 도커이미지가 준비되어 있어야함 (was 파일 준비했음)

 

https://chance-story.tistory.com/28

 

Server Container화 & ECR Registry Push (AWS ECR, docker, Elastic Container Registry)

1. Fastify CLI 설치 % npm i --global fastify-cli // fastify 공식문서 참고 # 생성 완료 후 % fastify generate test_example // fastify 생성 2. 서버 동작 확인 # 생성된 폴더 내에서 (example_test) % npm install # package.json 내 scr

chance-story.tistory.com

 

 

1. AWS ECS 검색 후 태스크 정의 클릭

 

2. 새 태스크 정의 생성 클릭

 

3. 적당한 태스크 이름 정의

 

4. 컨테이너 정보 입력 (컨테이너 포트 입력 - 3000, 앱프로토콜 HTTP)

- 이미지 URI = ECR 에 존재하는 원하는 이미지 URI 복사 (이미지 URI 입력시 이미지명과 태그 확인 필수)

다음 클릭

 

5. 환경, 스토리지, 모니터링 환경 구성

- Fargate 사용 (하나의 컴퓨터 라고 생각하면 됨, 사용하는 만큼 돈이 나감, EC2 보다 절약되는 장점)

- 필자는 mac M1 환경에서 실습중이므로 운영체제 중 ARM64 선택

- CPU, 메모리 확인 후 선택

- 태스크 역할 - 새 역할 생성 누르면 알아서 생성됨

- 태스크 정의 생성완료

 

 

6. 작업이 실행될 컴퓨팅 생성 - 클러스터 (서버의 집합)

- 클러스터 접속 및 생성 클릭

 

7. 적절한 클러스터 이름 작성

 

8. VPC 및 서브넷 선택 (서브넷 선택 시 퍼블릭인지 확인)

 

9. 컨테이너에 특화된 Fargate 사용 - 서버리스 - 사용한 만큼 과금

 생성 완료

 

10. 생성된 클러스터 내 서비스 생성 

- 서비스 란 태스크 유지관리, 스케일링, 로드밸런스 연결 

- 만약 태스크 3개중 하나가 오류가 뜬다면 알아서 삭제 및 재생성 함

 

11. 시작 유형 선택

 

12. 배포 구성

- 패밀리 - 생성한 태스크 선택

- 서비스 이름 작성

- 원하는 태스크 - 테스트를 위해 2개 설정 - 수평확장 대 수

- 배포 옵션을 통한 블루/그린 배포 구현 가능 (이번 실습에선 X)

13. 네트워크 설정 내 VPC, 서브넷 선택 및 보안 그룹 선택

(추후에 연결이 제대로 안된다? 오류가 뜬다? 일단 보안그룹에서 포트 허용되어있는지 확인)

 

14. 로드 밸런싱

- 로드밸런서 유형 - ALB 선택

- 새 로드밸런서 생성 - 이름 작성 - HTTP 포트 3000 

15. 새 대상그룹 생성

 - 실제 트래픽 분산 시킬 대상 의미

- 그룹엔 Fargate 태스크가 자리함

 

서비스 생성 완료 (시간 좀 걸림)

- Cloud Front 에서 생성 내용 확인 가능

 

16. 클러스터 내 서비스 생성 확인 (서비스 이름 - 필자의 다른 실습 캡쳐 화면이라 위 사진과 다름)

 

17. 생성된 태스크의 정보 확인 가능

- 오류 출력 시 배포 및 이벤트 메뉴에서 확인 가능 

 

18. 로그 메뉴에서도 여러 수행 로그 확인 가능

 

19. 아래 메뉴 경로에서 작업개요 및 구성 확인가능 

- 퍼블릭 IP, 프라이빗 IP 등등

 

20. 이후 퍼블릭아이피:3000 포트 접근하여 was 서버 관련 내용 출력 확인 가능

 

 

**오류

- 만약 태스크 생성 중 오류가 뜬다면 배포 및 이벤트, 로그 메뉴를 통해 오류 파악 가능

- 보안그룹 확인 (3000 포트 열려있는지) - 리스너 확인

- 서브넷 퍼블릭 여부 확인

- 로드밸런스 및 타겟그룹 잘 생성되어있는지 확인

- 꼭 포트가 3000이 아니여도 됨 다른 포트로 설정해서 해보기

반응형