냐냐한 IT/냐냐한 실습 기록

NAVER CLOUD, Public IP(공인 IP) 신청 및 Spring Boot 실행 확인 + 도메인 연결

소소하냐 2023. 2. 1. 08:32

서버를 서비스 목적으로 이용하려면 공인 IP가 필요합니다. 

(외부에서 접속할 IP 주소, 예를 들어 URL에 http://223.130.200.104/ 로 입력하면, 네이버로 접속됩니다. 이때 공인 IP로 볼 수 있는 것이 223.130.200.104입니다. ) 

 

작업할 내용

  • Public IP(공인 IP) 신청 
  • ACG 설정
  • SFTP로 jar 파일 업로드 (FileZilla)
  • JAVA(JDK) 설치
  • java -jar 파일명.jar 명령어로 Spring Boot 프로젝트 실행

 

Public IP(공인 IP) 신청 

 

Spring Boot 배포 후, 동작 확인을 위해 공인 IP를 먼저 신청합니다. 

 

유료 서비스

  • 1년 무료 서버를 이용하더라도, 공인 IP 신청의 경우 월별 금액이 청구됩니다. 
  • 2023.01.30 기준, 월 이용료 4,032원입니다. 

 

Public IP(공인 IP) 신청 

  • Dashboard > Server > 서버 목록에서 서버 선택 후 > 상단 [서버 관리 및 설정 변경] 선택 박스 클릭 > "공인 IP 설정 변경" 선택

 

"공인 IP 설정 변경" 선택 시 화면

 

  • [ + 공인 IP 신청 ] 버튼 클릭 

공인 IP 신청 팝업

ACG 설정

 

  • 네트워크 접근을 제어합니다. (방화벽 기능으로 보시면 됩니다.)
  • Spring Boot (Tomcat) 기본 포트인 8080 포트를 추가합니다. 

      - 접근 소스: 0.0.0.0/0  (어떤 IP에서도 접근이 가능하도록 허용합니다.

      - 허용 포트: 8080 (8080 포트로 접근하는 것을 허용합니다.)

 

ACG 설정, 8080 포트를 추가합니다.

 

SFTP로 jar 파일 업로드 (FileZilla)

  • 서버 접속용 공인 IP와, 포트 포워딩 설정에서 지정한 포트 번호를 입력 후 [연결] 합니다.
    (사용자: root, 비밀번호: 설정한 root 비밀번호)
  • *.jar 파일을 업로드합니다. 

 

SFTP 접속

 

JAVA(JDK) 설치 

 

1. 패키지 인덱스 정보를 업데이트

sudo apt-get update

2. 설치된 패키지 업그레이드 

sudo apt-get update

3. openjdk-8 설치 

sudo apt-get update

 

apt-get에 대한 더 자세한 내용은 "Ubuntu의 apt-get 명령어 정리"를 참고하세요. 

 

[참고: openjdk-8 설치 이유] openjdk-17, openjdk-11 버전 설치 시 오류 발생
아래 이미지를 보면 'java'는 다음 패키지에서 찾을 수 있다며, 친절하게 몇몇 패키지 버전을 알려줍니다.
최대가 9인듯 합니다.(* openjdk-9-jre-headless).
저는 다행히 Spring Boot 프로젝트 생성 시 Java 8 버전으로 만들었기 때문에, openjdk-8로 설치했습니다. 
(사용 Java 버전을 고려해서 Ubuntu를 설치해야겠네요.)

 

jdk 설치시 오류 발생

 

 

4. java 설치 확인

java -version

java -version

 

java 설치를 검색하면, 자바 환경변수 설정하는 부분이 거의 함께 있습니다.

혹시 몰라 환경 변수 설정 전에 java -jar 명령어로 Spring Boot를 실행해 보니, 정상 동작합니다.!?? 

그러므로 자바 환경변수 설정은 PASS

 

java -jar 파일명.jar 명령어로 Spring Boot 프로젝트 실행 

 

Spring Boot 프로젝트 실행

nohup java -jar 파일명.jar &

 

  • nohup 명령어 없이 java -jar 파일명.jar 명령어만 입력하면, 터미널이 끊기면, 웹 서버도 함께 종료됩니다. 
  • nohup 명령어와 함께 실행하면 백그라운드에서 실행되어 터미널이 끊겨도 계속 유지됩니다.  

 

프로젝트 실행 명령어

 

  • 브라우저에서 공인 IP:8080 접속하여 확인

브라우저에서 공인 IP:8080 접속하여 확인

 

 

실행중인 프로세스 종료

 

1. 실행중인 java PID 알아오기

ps -ef | grep java

 

2. 프로세스 종료

kill -9 PID

 

프로세스 종료 명령어

 

nohup과 &(백그라운드) 명령어 사용법과 프로세스 종료에 대한 더 자세한 내용은 "쉽게 설명한 nohup과 &(백그라운드) 명령어 사용법"을 참고하세요.

 

[2023.02.02 내용 추가]

생성한 Public IP와 도메인 연결

도메인과 Public IP를 연결하여 IP가 아닌 도메인으로 접속하도록 합니다. 

저는 웹티즌 사이트에서 도메인을 미리 구매를 하였고, 설정은 다른 도메인 서비스도 비슷할 거라 생각합니다. 

 

도메인 구매 사이트에서 A 레코드 설정 (서버 연결) 

서버 IP주소에 Public IP 입력하여 도메인과 연결되도록 합니다.

서버 IP 주소: Naver Cloud에서 신청한 Public IP를 사용합니다. 

서버 IP주소에 Public IP 입력

 

연결 후 바로 도메인으로 연결되지는 않고, DNS 전파를 위한 얼마간의 시간이 필요합니다. 저의 경우 하루 정도 걸렸습니다. 

 

Global DNS

주의! Global DNS 사용에는 요금이 부과됩니다.

처음 설정시에 Global DNS에도 도메인을 추가해야하는 줄 알고 추가했습니다. 

추가할 때는 요금 관련 내용이 없어 아무 생각이 없었는데, 살펴보니 요금이 있습니다. 

 

웹티즌의 경우, 도메인 구매시 웹티즌에서 제공되는 네임서버가 있어, 그것으로 이용하면 되겠다 싶습니다.

추가했던 Global DNS는 제거했습니다. 그래도 도메인으로 연결 잘 됩니다. 

 

결론, !도메인 구매 사이트 DNS 서비스 이용으로 Global DNS 추가는 사용하지 않음!

 

https://www.ncloud.com/product/networking/globalDns 안내 페이지의 요금 안내 부분 캡쳐

 

끝까지 읽어주셔서 감사합니다. 

 


NAVER CLOUD PLATFORM 가입 및 1년 무료 서버 생성, 콘솔 접속까지

NAVER CLOUD, Public IP(공인 IP) 신청 및 Spring Boot 실행 확인까지 (현재글)