** AWS ECR에 앱 도커이미지가 준비되어 있어야함 (was 파일 준비했음)
https://chance-story.tistory.com/28
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이 아니여도 됨 다른 포트로 설정해서 해보기