Spring Boot - AWS EC2 배포 테스트(1)

개비의 끄적끄적·2023년 5월 30일
0
post-thumbnail
************
아직 AWS로 배포하는 과정중에 있으며! 차례차례 기록하기 위해 남기는 포스트!
이 과정들을 내가 다시 보고 정리해보기 위함~_~
************

< 사전에 해놓을 세팅들 >

☝. AWS 가입
☝. github에 push까지 마친 스프링부트 프로젝트 하나

1. AWS 세팅

1-1. 인스턴스 생성

  • EC2를 찾아 EC2 대시보드로 들어가서 인스턴스(클라우드에서 실행되는 가상 서버) 시작을 누르고 생성
    ( 🔎 EC2란? EC2는 AWS가 제공하는 클라우드 컴퓨팅 서비스. 즉 AWS의 EC2를 통해서 서버 컴퓨터 하나를 빌리는 거라고 생각하면 됨! )

  • 인스턴스 이름은 원하는대로 적어도 된다. 나의 경우엔 'MyWebServer'
  • AMI 세팅
    어떤 종류의 서버로 구성할지 선택하는 단계. 저는 프리티어가 사용 가능한 Ubuntu LTS 64비트 선택
    인스턴스 유형의 경우, 프리티어를 사용한다면 t2.micro로 설정해야 과금이 없다고 함.
    ( 🔎 Amazon Machine Image : EC2 인스턴스를 구동하기 위해 필요한 모든 정보(서버, 운영체제, 애플리케이션)가 포함된 템플릿)

1-2. 키 페어 생성

  • 키 페어는 EC2 인스턴스에 원격으로 접속하기 위한 인증키같은 것 -> 필수적 요소이므로 생성해주어야 한다. (한 번 생성하면 다시는 다운로드 받을 수 없기 때문에 잘 보관하기)

  • .pem과 .ppk 두 가지가 있는데 어느 것으로 해도 무방하나 putty를 이용해서 리눅스 서버로 접속할 것이라면 처음부터 .ppk 형식으로 만드는 것이 좋다.
    (pem이라면 PuTTYgen을 통해서 ppk로 변환 가능)

  • 내가 만든 키페어로 진행~

1-3. 네트워크 설정

  • 보안 그룹 생성의 경우 방화벽에 관한 것. 이 부분은 뒤에서 다시 설정해줄 것이므로 여기서는 SSH 트래픽 허용위치 무관 설정만 하고 넘어간다.

1-4. 스토리지 구성

  • 프리티어는 최대 30GiB까지 지원해주기 때문에 30으로 설정.


1-5. 인스턴스 생성 완료

  • 인스턴스 시작 버튼을 누르면 인스턴스가 아래와 같이 최종적으로 생성이 되었음을 알 수 있다.


1-6. 보안 그룹 생성

  • EC2 > 보안 그룹 > 보안 그룹 생성 으로 가서 새로운 보안 그룹을 생성한다.
    ( 🔎 보안 그룹 : EC2 인스턴싀의 가상 방화벽 정도로 생각하면 됨.)

  • 인바운드 규칙 추가를 눌러서 아래와 같이 설정
    ( 🔎 인바운드 규칙 : 외부에서 EC2RDS등의 내부로 접근할 때 사용되는 방화벽 규칙.)

  • EC2에 접속해서 서버를 띄우는 것이 목적이기에 인바운드 규칙만 설정한다.

  • ☝ Spring Boot 기반 서버를 열 것이기 때문에 사용자 지정으로 포트 번호 8080, 누구든 접속할 수 있도록 Anywhere-IPv4(0.0.0.0/0)로 설정
    (9090 잘못 넣은 것이니 가볍게 무시해주세용)

  • ☝ 브라우저 접속을 위한 HTTP(80), HTTPS(443) 포트, SSH(22) 포트까지 세팅한다.

  • 아웃바운드 규칙은 기본 설정 그대로 내버려둔다.


1-7. 보안 그룹 설정

  • EC2 콘솔로 돌아가 조금 전에 생성한 인스턴스를 클릭하고 위와 같이 클릭 후, 기존에 기본으로 설정되어 있던 보안 그룹은 해제하고 새로 만든 보안 그룹으로 변경

1-8. 탄력적 IP 생성

  • 탄력적 IP 주소는 동적 클라우드 컴퓨팅을 위해 고안된 고정 퍼블릭 IPv 주소

  • 사용하는 이유?
    EC2 인스턴스를 생성해서 서버를 실행시키면 고정IP가 아닌 동적IP를 할당받음. 서버(인스턴스)를 중지하고 다시 실행시키면 IP가 변경되는 문제 발생! 따라서 탄력적 IP를 할당받아 사용한다.

    • 네트워크 및 보안 > 탄력적 IP > 탄력적 IP 주소 할당 클릭!

    • 할당받은 탄력적 IP 주소를 인스턴스와 연결

    • 인스턴스를 선택하면 해당 인스턴스의 프라이빗 IP가 뜬다. 클릭하여 설정하고 연결!

    • 연결 되었는지 인스턴스로 들어가 확인해본다.

      연결 완! :-)

profile
앗녕하세요! 블비의 개적발적🐾

0개의 댓글