젠킨스에서 AWS CLI를 통해 elastic bean stalk로 ECR 이미지 배포하기(1)

GwanMtCat·2023년 9월 7일
0

Elastic Beanstalk 애플리케이션 생성하기

  • 젠킨스에 커맨드를 입력하기 전에 먼저 Elastic Beanstalk 애플리케이션 생성하자.
    • 서비스 검색에 Elastic Beanstalk 을 검색하자.

  • 애플리케이션 생성 버튼 을 누르자.

  • 원하는 애플리케이션 이름을 넣자. 태그의 경우 필터링하게 위해 사용할 수 있으니 자유롭게 추가하자.

  • 완성하면 다음과 같이 생성된다. 생성한 애플리케이션 이름을 누르자.

  • 애플리케이션 환경 생성을 위해 새 환경 생성 버튼을 누르자.

  • 웹 서버 환경을 누르고 환경 정보를 입력하자.
    • 환경 이름은 EC2가 배포되면 EC2 인스턴스의 이름이 된다.
    • 도메인은 입력하지 않을 경우, 환경 이름이 자동으로 들어간다.

  • 원하는 플랫폼을 선택하자. 나의 경우는 도커에서 이미지를 끌어온 후 실행할 것이므로 다음과 같이 설정했다.

  • 기존에 존재한 버전 혹은 코드 직접 업로드를 통해 새버전으로 환경을 만들 수도 있지만 나는 직접 배포할 것이므로 샘플 애플리케이션을 눌렀다.

  • 사전 설정에서는 프리티어 사용을 위해 단일 인스턴스를 선택하자.

  • 기존 서비스 역할을 사용하거나 새 서비스 역할 생성 및 사용을 할 수 있다.

  • 새 서비스 역할 생성 및 사용을 해야 내가 원하는데로 자유롭게 선택할 수 있다.

    • 재밌는 점은 저렇게 들어간 서비스 역할 및 프로파일 들이 없기 때문에 직접 가서 생성해야 한다.
  • 잠깐 새로 창을 띄워 IAM 서비스로 가자.

  • 역할을 생성하자. 아까 위에서 새로 생긴 명칭 두개를 만들어 줘야한다.

  • aws-elasticbeanstalk-service-role 을 만들고 다음의 정책을 추가한다.

    • AWSElasticBeanstalkEnhancedHealth
    • AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
  • aws-elasticbeanstalk-ec2-role 을 만들고 다음의 정책을 추가한다.

    • AmazonEC2ContainerRegistryReadOnly
    • AWSElasticBeanstalkWebTier
    • AWSElasticBeanstalkWorkerTier
    • AWSElasticBeanstalkMulticontainerDocker
  • 만들었으면 다시 돌아오자.

  • VPC 및 서브넷을 선택하자. 퍼블릭 IP로 EC2 노출을 원하는 경우 활성화 버튼을 누르자.

  • 데이터베이스를 같이 생성할 수 있는데 나는 사용하지 않을 것이므로 추가하지 않았다.

  • 볼륨은 기본값으로 생성했는데 프리티어의 경우 30기가까지 가능하므로 원하는 값으로 선택하자.

  • 오토스케일링 그룹을 추가하자. 유형에서 밸런싱된 로드를 선택해줘야 무중단 배포 및 롤링 배포 선택이 가능하다.

  • 다음으로 인스턴스 유형에서 원하는 유형을 선택하자. 나는 프리티어만 사용할 것이므로 다음과 같이 설정했다.


  • 모니터링은 기본으로 선택하고 관리형 업데이트 활성화를 체크하였다.

  • 배포 정책은 롤링, 배치 크기는 백분율 혹은 고정 크기를 선택할 수 있다. 나는 최소 1개 씩 배포 되도록 선택하였다.

  • 또한 롤링 업데이트 유형을 상태 기반 롤링으로 status code에 따라 롤링이 가능하도록 선택하였다.

  • 상태 확인 무시는 동작하지 않게 설정하였다.

  • 정상 임계값 및 명령 제한 시간은 입맛에 맞게 설정하자.

  • 프록시 서버 사용으로 인한 이점이 당장은 나에게 없기 때문에 사용하지 않았다.

  • 이제 최종 확인을 누르자.


(test 환경이 아니라 미리 만들어둔 환경을 생성하였다.)

  • 잘 생성되었다.

0개의 댓글