DevOps/AWS

EC2

잔망루피 2023. 4. 24. 21:50

EC2

  • 컴퓨팅 플랫폼 제공
    • 컴퓨터를 1대 빌린다고 생각하면 된다.

 

EC2 프리티어

  • 리전에 따라 Windows t2,micro 또는 t3.micro 인스턴스를 매월 750시간 제공
  • 리전에 따라 Linux, RHEL 또는 SLES t2.micro 또는 t3.micro 인스턴스를 매월 750시간 제공

 

EC2 배포 과정

  1. 인스턴스 생성
    1. 새 키 페어 생성 후 꼭 다운로드하자.
    2. 인스턴스를 분리해서 사용하지 않을거면 스토리지 추가 단계에서 크기를 30GB로 변경하자.
    3. 보안 그룹 구성에 MySQL 추가
  2. 인스턴스에 연결
  3. jdk 설치
    1. sudo apt update
    2. sudo apt install openjdk-11-jre-headless
  4.  깃헙 레포지토리 클론 후 build
  5. jar 파일 실행
    1. ./gradlew build
    2. cd build/libs
    3. java -jar {프로젝트명}-0.0.1-SNAPSHOT.jar
      1. ex) java -jar example-0.0.1-SNAPSHOT.jar
  6. 네트워크 및 보안 > 보안 그룹 > 인바운드 규칙
    • 실행할 서버의 포트 번호, 실행할 도커 컨테이너의 포트 번호를 등록
  7. 탄력적 IP 주소 할당 및 인스턴스에 연결
    • 인스턴스를 중지하고 다시 시작할 때마다 public IPv4가 바뀌기 때문에 고정시키려고 함 
    • 과정
      1. EC2 > 탄력젹 IP 주소 > 탄력젹 IP 주소 할당에서 '할당' 버튼을 눌러서 생성 
      2. 생성된 탄력적 IP 주소를 선택하고 '작업' 버튼을 클릭하고, '탄력적 IP 주소 연결'을 선택
      3. 인스턴스에 탄력적 IP가 생성되었는지 확인한다.
    • ⚠️ 주의사항
      • 실행 중인 인스턴스에 연결된 탄력적 IP 주소 1개만 무료
        • 이외의 경우에는 시간당 요금이 발생

----------------------------------------- 단, 위와 같이만 하면 터미널을 종료하면 서버도 같이 꺼진다.

8. 실행 스크립트를 만든다.

 

 

EC2 우분투에 Docker Engine 설치

✔️ OS requirements

  • Ubuntu Kinetic 22.10
  • Ubuntu Jammy 22.04 (LTS)
  • Ubuntu Focal 20.04 (LTS)
  • Ubuntu Bionic 18.04 (LTS)

위 우분투 버전 중에서 하나여야 하고 64-bit여야 한다.

👇👇아래는 apt repository를 이용해 설치하는 과정

 

1. Docker repository를 설정

sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg

 

2. Docker의 공식 GPG key를 추가

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

 

3. repository를 설정

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 

4. apt package index를 업데이트

sudo apt-get update

 

5. Docker Engine, containerd, Docker Compose를 설치

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 

 

Docker compose

docker compose version

도커 컴포즈 버전 확인

 

 

 


참고 👇

https://kang-james.tistory.com/entry/%EB%B0%B0%ED%8F%AC-AWS%EB%A5%BC-%ED%86%B5%ED%95%9C-%EB%B0%B0%ED%8F%AC-%EB%B0%A9%EB%B2%95-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EC%83%9D%EC%84%B1%EA%B3%BC-%EC%97%B0%EA%B2%B0

 

[배포] AWS를 통한 배포 방법 알아보기(인스턴스 생성과 연결)

안녕하세요😎 백엔드 개발자 제임스입니다 :) 이번 포스팅에서는 AWS를 통한 배포하는 방법을 정리하려고 합니다. AWS는 Amazon에서 제공하는 클라우드 서비스입니다. 우리는 다양한 방법으로 애

kang-james.tistory.com

 

https://docs.docker.com/engine/install/ubuntu/#installation-methods

 

Install Docker Engine on Ubuntu

 

docs.docker.com

 

https://bcp0109.tistory.com/356

 

AWS 1편: EC2 생성 후 Spring Boot 띄우기

Overview AWS EC2 인스턴스를 생성하고 Spring Boot 서버를 띄워보는 것까지 진행합니다. 주 목표는 서버를 외부에 제공하는 거라서 따로 배포 시스템을 구축하지 않고 단순히 빌드 파일을 복사해서 수

bcp0109.tistory.com

 

https://www.youtube.com/watch?v=A39g-kN7HVU 

 

반응형

'DevOps > AWS' 카테고리의 다른 글

AWS EC2 생성  (0) 2023.07.16
AWS RDS 접속  (0) 2023.07.15
EC2와 ElastiCache 연동  (0) 2023.05.24
ElastiCache Redis 클러스터 생성  (0) 2023.05.24
EC2에서 Docker MySQL 컨테이너 사용  (0) 2023.04.28