- 본 포스팅은 개인의 학습 증진을 위하여 작성되었습니다. 구축 과정은 다음과 같습니다.
이번 게시글은 네이버 클라우드 플랫폼을 통해 서버를 생성하고, 연결을 허용하고, 최종적으로 리눅스를 통해 서버에 접속하는 과정을 담고 있습니다.
- 네이버 클라우드 플랫폼 [진행중]
1) 서버 생성하기
2) 공인(Public) IP 신청
3) 포트 포워딩 설정 (외부 -> 서버 접속 허용)
4) ACG 설정 (방화벽 서비스)
5) WSL 설치 및 서버 접속 테스트
- NCP 서버 내부 환경 설정 (Java)
1) Java-OpenJDK-17 설치
2) Java-OpenJDK-17 구성 및 환경 변수 설정
- 스프링 부트
1) 스프링 스타터 프로젝트 생성
2) 페이지 생성하여 실행
3) 프로젝트 JAR 빌드하여 배포
4) 서버 테스트
- 구글 클라우드 플랫폼
1) MySQL 설치
2) MySQL 설정
3) MySQL 연결
4) MySQL 테스트
5) GCP 삭제
- NCP 서버 내부에 MySQL 재설치
1. 네이버 클라우드 플랫폼
1) 서버 생성하기

- 네이버 클라우드 플랫폼 가입이 이미 이루어진 가정하에 진행됩니다. Classic/Server/Server 탭으로 들어갑니다.

- 첫 가입 이후에 결제 정보를 등록하면 1년간 무료로 Micro Server를 생성할 수 있습니다.
서버 생성 버튼을 누릅니다. 서버 생성은 총 5 가지의 과정으로 이루어져 있습니다.
-1. 서버 이미지 선택
-2. 서버 설정
-3. 인증키 설정
-4. 네트워크 접근 설정
-5. 최종 확인

- 서버 이미지 선택은 다음과 같이 선택합니다. 마이크로 서버는 UbuntuOS 를 무료로 제공합니다. 저는 ubuntu-18.04 를 선택했습니다.

- 다음과 같은 팝업창을 통해 Micro 서버 타입은 1년간 무료로 제공됨을 알 수 있습니다.

- 다음 단계는 서버 설정입니다. 서버 세대는 g1, 서버 타입은 Mirco(스토리지 종류는 HDD 한정), 서버 개수는 1로 선택합니다.

- 다음 단계는 인증키 설정입니다. 인증키 생성 및 저장 버튼을 클릭하여 .pem 확장자 파일을 저장합니다.

- 네트워크 접근 설정에서 보유하고 있는 ACG 중에서 선택을 통해 ncloud-default-acg 를 선택합니다.

- 최종 확인을 마치고 서버 생성 버튼을 통해 다음 단계로 넘어갑니다.

- 서버 생성 중 팝업이 표시됩니다.
서버에 로그인하기 위해서 먼저 포트 포워딩을 설정해야 합니다.
그리고 외부에 서비스를 하기 위해서는 공인 IP 생성이 필요합니다.

- 시간이 지나면 서버의 상태가 생성중에서 운영중으로 변경됩니다.
2) 공인(Public) IP 신청

- 좌측 Server 메뉴에 있는 Public IP 탭을 클릭합니다. 외부에서 서버에 접속하기 위하여 필요한 기능입니다.


- 적용 서버 선택은 Micro 서버 생성을 통해 생성이 완료된 서버로 선택합니다.

- 공인 IP 설정 조건을 확인하고 생성 버튼을 클릭합니다. 최초 결제 정보를 등록하면 일정 기간동안 크레딧을 주기 때문에 무료로 이용할 수 있습니다.

3) 포트 포워딩 설정 (외부 -> 서버 접속 허용)
외부에서 해당 서버로 접속하기 위하여 알려진 외부 아이피와 내부 아이피에 대하여 포트를 연결하기 위해 설정합니다.

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

- 외부에서 서버에 접속하기 위한 포트 포워딩의 설정을 진행합니다. 저는 8080 을 외부 포트로 지정하였습니다.
4) ACG 설정 (방화벽 서비스)
Access Control Group 의 약자인 ACG 는 서버와 서버 사이에 네트워크 접근을 제어하고 관리하는 역할을 하는 방화벽 서비스입니다.

- Server 메뉴에서 ACG 탭을 클릭하여 접근합니다. 기본 ACG 를 선택하고 ACG 설정을 클릭합니다.

- 저는 TCP 프로토콜의 전체 아이피, 허용 포트는 8080 으로 설정하였습니다. 22번 포트와 3389번 포트는 기본으로 접근 허용이 된 포트입니다. 이 두 포트가 기본으로 쓰이는데 22번은 리눅스, 3389번은 윈도우입니다.
5) WSL 설치 및 서버 접속 테스트
https://learn.microsoft.com/ko-kr/windows/wsl/install#step-4---download-the-linux-kernel-update-package
WSL을 사용하여 Windows에 Linux 설치

- 해당 윈도우 공식 가이드를 통하여 Windows 에 Linux 를 설치하였습니다. Windows PowerShell 을 실행하여 wsl --install 명령어를 입력하고 설치가 완료되면 컴퓨터를 다시 시작합니다.

- 설치를 마치고 시작 메뉴에서 WSL 을 실행하면 다음과 같은 콘솔 화면이 실행됩니다. 이제 서버에 접속 해보겠습니다. 서버에 정상적으로 접속이 되어도 비밀번호를 요구할 것 입니다.
ssh root@[공인 IP] -p [포트 번호]

- 서버 생성 과정에서 만들어진 인증키 .pem 확장자 파일을 가져와서 비밀번호 확인을 할 수 있습니다. 해당 메뉴는 Server/서버 관리 및 설정 변경/관리자 비밀번호 확인 탭에 존재합니다.

- 첫 접속을 하면 다음과 같이 연결에 대한 Yes/No 선택을 하라고 표시됩니다. SSH 를 이용해서 최초로 접속을 하기 때문에 나오는데, Yes 를 선택하면 그 이후는 나오지 않습니다.

- 해당 화면이 나온다면 SSH 를 통한 서버 접속에 성공하였습니다. 이제 서버 내부에 접근을 했으니 필요한 패키지를 설치해보겠습니다. 개발이 완료된 프로젝트 파일을 실행하기 위한 Java 를 설치하고 구성 및 환경 변수 설정을 마쳐야합니다.
하단에 노출되는 다음 포스트에서 이어집니다.
감사합니다.