코딩 기록 저장소

[클라우드컴퓨팅] 4-3. 계산기 백엔드 배포 (EC2 생성 설정 배포) 본문

학교 공부/클라우드컴퓨팅

[클라우드컴퓨팅] 4-3. 계산기 백엔드 배포 (EC2 생성 설정 배포)

KimNang 2025. 1. 15. 20:54

1. AWS EC2

- AWS EC2 (Amazon Elastic Compute Cloud)는 아마존 웹 서비스의 클라우드 컴퓨팅 서비스

- 실제 서버 관리 없이 필요한 컴퓨팅 자원을 사용하여 비용 효율성을 높이고 유연한 IT 인프라를 구축

EC2의 기본 개요

- EC2는 AWS에서 제공하는 클라우드 컴퓨팅 서비스

- 사용자는 가상 컴퓨터를 생성하고 관리하여 실제 서버와 유사한 기능을 활용할 수 있음

- EC2를 이용하면 필요에 따라 CPU, 메모리, 스토리지, 네트워크 등의 컴퓨팅 리소스를 조합하여 원하는 환경을 구축

- 실제 서버 관리 비용과 시간을 절감할 수 있음

- 비즈니스 요구사항에 따라 컴퓨팅 자원을 쉽게 확장하거나 축소하여 유연하게 대응할 수 있음

2. EC2 보안설정

- 계산기를 배포하기 위해 AWS 사이트인 https://aws.amazon.com/ko/console/ 에 접속하여 EC2 인스턴스를 생성함

- EC2의 8080 포트를 사용 가능하도록 설정함

EC2의 보안 설정

- 기본적으로 EC2는 22번 포트만 열려 있음

- 백엔드 스프링 부트 애플리케이션의 8080번 포트를 사용할 수 있도록 보안 설정을 변경해야 함

  1. 생성한 EC2 옆의 체크 박스 선택
  2. 보안 탭의 보안 그룹을 선택함
  3. 인바운드 규칙 편집을 선택함
  4. 규칙 추가를 선택함
  5. 아래와 같이 설정하고 규칙 저장
    - 유형 : 사용자 지정 TCP
    - 포트 범위 : 8080
    - 소스 유형 : Anywhere-IPv4

3. Docker 설치

- EC2 인스턴스에 백엔드 애플리케이션을 실행하기 위한 Docker를 설치함

DOcker 설치
  1. AWS 사이트의 EC2를 클릭한 후 인스턴스 ID를 선택후 '연결'을 선택함
  2. 자바 파이썬등을 설치하는 apt를 최신 버전으로 업데이트 명령 입력하고 엔터
  3. 도커 설치 명령 입력하고 엔터

4. Docker Image 다운로드

Docker Image 다운로드
  1. Docker Hub에 로그인 함
  2. Docker Hub에서 Docker 이미지를 다운로드 받음

5. Docker Container 생성

Docker Container 생성

- 계산기 백엔드를 실행하기 위해 필요한 설계도(Docker Image)를 다운로드 했고, 이 설계도를 바탕으로 가상의 컨테이너를 만들어 계산기 백엔드를 작동시킴

- 8080포트를 통해 외부와 연결됨

- 컨테이너는 백그라운드로 작동하며, 이 컨테이너에서 계산기 백엔드 프로그램이 실행됨

  • sudo
    - Docker는 시스템에 큰 변화를 줄 수 있는 작업이기 때문에, 관리자 권한이 필요함
  • docker run
    - Docker Image를 사용해 Container를 만들고 시작함
  • -d
    - 프로그램을 화면에 계속 보여주지 않고, 뒤에서 실행함
  • -p 8080:8080
    - 컴퓨터의 8080 포트를 컨테이너의 8080 포트에 연결
    - 컨테이너가 외부와 소통할 수 있게 만들어 줌. 여기서 8080 포트는 컨테이너에서 실행중인 스프링부트의 포트
  • <사용자 이름>/calculator_backend
    - calculator_backend라는 이미지로 컨테이너 생성

6. 클라우드 백엔드와 프론트엔드 연동

EC2 아이피 확인

- IP 정보를 알기 위해서 dnsutils를 설치함

클라우드 백엔드와 프론트엔드 연동

- EC2 클라우드에 배포한 계산기 백엔드와 나의 컴퓨터에 계산기 프론트 엔드와 연동

- 프론트엔드 프로젝트 파일을 열어 package.json 파일을 더블클릭함

- 백엔드가 실행중인 EC2의 아이피와 포트를 입력하고 저장함

- npm start하여 계산결과가 출력되는지 확인함