백엔드 배포 - Docker / AWS Elastic Beanstalk

Hazel·2024년 6월 3일

Jib 의존성 추가

plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.10'
	id 'io.spring.dependency-management' version '1.1.0'
	id 'com.google.cloud.tools.jib' version '3.2.1'
}

jib {
	from {
		image = "adoptopenjdk/openjdk16:x86_64-alpine-jdk-16.0.1_9" // 수정 가능
	}
	to {
		image = "[docker hub 이름]/[어플리케이션 이름]"
		tags = ["latest"]
	}
}
  • gradle 파일 refresh 해주기
  • ./gradlew jib 터미널에 입력해주기

docker hub 가보면 의존성 주입할 때 적어준 어플리케이션 이름으로 레포지토리 하나 생성되어있다.

docker-compose.yml 파일 생성

version: "3.9"
services:
  backend:
    image: "[docker hub 이름]/[어플리케이션 이름]:latest"
    ports:
      - "80:8080"
    restart: "always"

Elastic Beanstalk 생성

  1. 애플리케이션 생성

  2. 환경 구성

    아래로 내려서 플랫폼 Docker로 설정해주기

IAM 역할 생성

위의 사진대로 했는데 제대로 Elastic Beanstalk 생성이 안 된거면 IAM 계정에서 EC2 - Elastic Beanstalk 관련 역할 생성이 되어 있는지 확인해볼 필요가 있다.

  1. IAM 으로 이동
  2. 역할 클릭
  3. 역할 생성 클릭
  4. AWS 서비스 + EC2 조합으로 선택 후 다음
  5. 정책 추가
    AWSElasticBeanstalkWebTier
    AWSElasticBeanstalkWorkerTier
    AmazonEC2FullAccess
    AmazonS3FullAccess
    AmazonRDSFullAccess
    AWSElasticBeanstalkEnhancedHealth AWSElasticBeanstalkService
  6. 역할 이름 :
    aws-elasticbeanstalk-ec2-role

Elastic Beanstalk 구성 수정

편집 클릭 후


위에서 설정해준 역할을 할당해준다.

제출 버튼 누르고 기다리다보면 도메인 주소가 뜨는데 그걸 클릭하면 이렇게 페이지가 뜬다.

업로드 및 배포

다시 이전의 Elastic Beanstalk 페이지로 돌아오면 업로드 및 배포 버튼이 우측 상단에 보일 것이다. 그럼 여기에 아까 만든 docker-compose.yml를 넣어주면 된다.


(마지막에 이름을 팀 이름으로 바꿈!)

profile
이것저것 학습 기록장

0개의 댓글