AWS ECS + Fargate

‎김연수·2024년 8월 12일
0

SPRING BOOT APPLICATION을 DOCKER CONTAINER 형태로 AWS ECS Fargate에 배포

docker 파일 작성

github actions

  • github actions의 workflow 파일

Gradle을 사용하여 자바 프로젝트를 빌드하는 과정을 자동화

run: 실행할 명령어

  • export JAEGER_HOST=$JAEGER_HOSTexport JAEGER_PORT=$JAEGER_PORT는 Jaeger 서비스를 위한 호스트와 포트를 환경 변수로 설정
  • ./gradlew build --warning-mode all --scan 명령은 Gradle을 사용하여 프로젝트를 빌드하며, 모든 경고를 표시하고 빌드 스캔을 실행

도커 빌드와 푸시

run: 실행할 명령어

  • Docker 이미지를 빌드하고 (docker build -t ...)
  • 빌드한 이미지를 ECR에 푸시하며 (docker push ...)
  • 마지막으로 빌드 및 푸시된 이미지의 태그를 GitHub Actions의 출력으로 기록 (echo ... >> $GITHUB_OUTPUT).

  • 확인

ALB

테스크 정의

테스크 실행 역할
ecsTaskExecutionRole
Task execution role은 Fargate가 사용자를 대신해서 컨테이너를 관리하기 위한 role입니다. ECR에서 이미지를 받아오거나, CloudWatch에 로그를 기록하려면 권한이 필요한데 이 때 사용되는 role이 Task execution role입니다. ecsTaskExecutionRole에는 이 두가지 권한이 부여되어있습니다. 때문에 Task execution role을 ecsTaskExecutionRole로 지정해준 후

컨테이너 정보

포트 매핑을 80 포트로 지정

0개의 댓글