[Project] Ecoya - NCP 서버에 Spring boot 프로젝트 배포

익선·2023년 9월 13일
0

프로젝트

목록 보기
2/2

Naver Cloud 서버에 Spring boot 프로젝트 배포하기

서버생성 -> 공인ip 발급 -> ACG 설정 -> mysql 설정 -> jar 파일 배포

❶ Server 생성

  • 설명

먼저 네이버 클라우드 플랫폼에 회원가입을 하고 결제수단을 등록한 후 “콘솔” 창으로 들어간다. (콘솔 클릭)

이후 왼쪽 메뉴바의 “플랫폼”을 “classic” 으로 변경하고 Services 에서 Server 를 클릭

VPC 와 Classic 환경의 차이점 https://docs.3rdeyesys.com/management/ncloud_management_classic_vs_vpc_guide.html

그 다음 서버 생성을 클릭한다. 그럼 다음 화면이 보인다.

1) 서버 이미지 선택

서버 이미지 선택 창에서 사용할 서버 이미지 이름 중 ubuntu 18.04 선택하여 클릭하면 서버 이미지 설정 창이 뜬다

2) 서버 이미지 설정

  • 스토리지 종류 : HHD (일반적인 서비스의 경우)
  • 서버세대 : g1
  • 서버타입 : Micro (가입 후 1년 무료 사용 가능)
  • 서버개수 : 1
  • 서버이름 : ecobridge (아무거나 설정, 단 서버이름은 중복해서 사용 불가)

3) 인증키 설정
새로운 인증키(이름 : ecobridge)를 생성 및 저장을 누르면 ecobridge.pem 이라는 파일을 다운로드 받을 수 있다 (추후 관리자 비밀번호를 확인할 때 필요하기 떄문에 저장한 .pem 파일을 PC에 잘 보관하자.)

4) 네트워크 접근 설정

보유중인 ACG를 선택하거나 새로운 ACG를 생성한 후 다음 버튼 클릭 (ACG는 최대 3개까지 선택 가능)

선택한 ACG는 나중에 변경할 수 없으며 서버를 반납할 떄까지 해당 ACG 규칙을 적용받는다.

5) 최종 확인
설정 내용을 확인한 후 서버 생성 버튼을 클릭 (서버가 생성되는 데 시간이 좀 걸림, 운영이 시작되는 “운영중” 이라 표시된다)

❷ 공인 IP 발급

  • 설명
    내가 만든 서버를 외부에서 접근하기 위해선 공인 IP가 필요하다.

1) 공인 IP 신청 및 할당

메뉴바에서 “Public IP” 블록을 클릭하고 “공인 IP 신청” 버튼을 눌러 발급받기.

(신청된 공인 IP는 서버에 할당되지 않더라도 보유하고 있는 동안 요금이 나가기 떄문에 사용하지 않을 경우 반납하는게 좋다.)

서버에 할당하지 않고 공인 IP 만 생성하려면 미할당 선택.

설정된 내용을 확인한 후 “생성” 버튼 클릭하기.

❸ 포트 포워딩 설정

  • 설명
    외부에서 해당 서버로 접속하기 위하여 알려진 외부 IP와 내부 IP에 대하여 포트를 연결하기 위해 설정합니다.

서버 탭으로 넘어가서 “포트 포워딩 설정 버튼” 을 클릭합니다.

외부에서 서버에 접속하기 위한 포트 포워딩의 설정을 진행합니다. 저는 8080 을 외부 포트로 지정하였습니다.

외부 포트 칸에 8080을 입력하고 추가 버튼을 누릅니다.

추후에 서버에 접속하기 위해서 101.101.167.146/8080 으로 접속하면 되는 겁니다.

❹ ACG 설정

  • 설명
    1) ACG (Access Control Group)
  • 서버로 들어오는 트래픽에 대해 프로토콜, IP주소 그리고 포트번호에 따라 접근을 제어할 수 있는 필터링 방화벽 서비스이다.
    • 즉, ACG는 어떤 트래픽이 나의 서버로 들어올 자격이 되는 녀석들인지 정하는 문지기 시스템이다
  • ACG를 이용하면 기존 방화벽(iptables, ufw, Windows 방화벽)을 개별적으로 관리할 필요 없이 서버 그룹에 대한 ACG 규칙을 손쉽게 설정하고 관리할 수 있다.
  • 네이버 클라우드 플랫폼에서 기본으로 제공하는 ACG를 사용하거나 ACG 규칙을 직접 생성해서 사용할 수 있다.
    • 네이버 클라우드 플랫폼이 제공하는 ACG는 기본적으로 모든 들어오는 연결(inbound traffic)을 차단하고 모든 나가는 연결(outbound traffic)은 허용한다. ACG 설정을 변경하여 이 규칙을 변경할 수있다.

2) ACG 설정
메뉴바에서 "ACG"를 선택하면 아까 서버생성 과정에서 선택한 ACG가 나온다

ACG를 선택하고 ACG 설정 버튼을 누르면

다음 화면이 나온다.

다음 ACG 설정을 추가합니다.

  • 프로토콜 : TCP
    • 애플리케이션에서 TCP 프로토콜을 사용하는 트래픽만 허용
    • 대부분의 웹 기반 애플리케이션에서 TCP가 사용되므로 이 설정이 일반적이다.
  • 접근소스 : 0.0.0.0/0
    • 이 설정은 서버에 액세스 가능한 IP 주소 범위를 의미합니다.
    • 0.0.0.0/0 는 모든 IP 주소를 포함하므로, 인터넷에서 서버에 접근할 수 있는 모든 IP 주소를 허용합니다.
  • 허용 포트 (서비스) : 8080
    • 이 설정은 서버에서 열려있는 포트번호를 지정합니다.
    • 포트 8080에서 트래픽이 허용되므로, 애플리케이션의 API는 이 포트를 사용하여 사용자와 상호 작용할 수 있습니다.
    • 메모 : 자유(없어도됨)

이렇게 설정을 해주고 추가 그리고 적용 버튼을 눌러준다.

DB를 생성하지 않은 경우, 서버에 MySQL 설치 : https://velog.io/@vinci13/Naver-cloud-서버에-Spring-Boot-프로젝트-배포하기 (맥버전), 윈도우는 구글링..

DB를 구축한 경우, 에코브릿지 팀의 경우네이버에서 제공하는 Cloud DB for MySQL를 외부 DB로 사용하므로 따로 서버를 생성하고 포트번호를 할당하지 않을 것이다! (spring boot 내부에 application.properties 파일에서 DB와의 연결을 구성하기만 하면 된다.)

❺ Jar 파일 배포 및 서버 접속

https://velog.io/@siunkimm/서버-구축하기-1-네이버-클라우드-플랫폼-Server-생성

https://guide.ncloud-docs.com/docs/server-acg-classic

https://velog.io/@siunkimm/서버-구축하기-1-네이버-클라우드-플랫폼-Server-생성

profile
꾸준히 기록하는 사람

0개의 댓글