DEV/Infrastructure

[NCP, 도커] 서버 생성부터 배포까지 (1 / 4)

Bi3a 2024. 1. 2. 14:41

목차
728x90

인프라에 대해 학습합시다.


 

NCP 서버 생성, 도메인 레코드 설정 및 IP 할당

NCP 서버 생성

프론트, 백, DB 다 띄울거 감안해서 넉넉하게 8GB로 잡았다.

 

공인 IP 추가 신청

Server > Public IP

 

Q. 서버 접속용 공인 IP를 받았는데 공인 IP를 추가 신청하는 이유?
A. 애초에 다른 개념이다.

1. 서버 접속용 공인 IP:
직접 서버 외부에서 접속 할 때 사용되는 IP 주소이며, 관리자는 서버 접속용 공인 IP를 활용해 서버의 실제 IP인 비공인 IP 로 포트포워딩 등의 수단을 활용해서 서버에 접속하게 된다. (서버 관리자의 접속 수단으로, 절대 유출되어서는 안된다)
2. 서버 비공인 IP:
서버의 실제 IP로, 대개 로컬 및 개인 가상 환경(VPC)에서 사용되며, 다른 외부 주소와의 통신이 제한된다. 일반적으로 서버 접속용 공인 IP를 통해 접속 시 상대 경로 IP로 서버 비공인 IP로 우회 접속된다.
3. 공인 IP:
서버 운영 시 사용되는 IP 주소로, 외부에서 공인 IP 주소로 접근하면 내부에서는 비공인 IP 주소를 사용하여  서버 간 통신이 이루어진다. 일반적으로 외부에서 공인 IP 주소로의 접근 시 리버스 프록시(다음 포스팅에서 후술)를 이용해 해당 접근을 내부 서버 비공인 IP 주소와 연결해준다.

[※ 결론]
서버 접속용 공인 IP: 실제 서버 IP 주소에 접속하게 되는 키 개념, 절대 잃어버리거나 공유되면 안된다.
서버 비공인 IP: 실제 서버 IP 주소이다. 집 개념
공인 IP: 외부 손님들이 이용하게 되는 IP 주소, 이는 실제 서버 설정에 따라 협의된 방식에 의해 해당 IP로 접속할 시 서버 비공인 IP의 특정 포트로 접속할 수 있게 된다. 정문 개념 

 

포트 포워딩 설정

Server > 생성 서버 클릭 후 포트 포워딩 설정

NCP 상에서 제공하는 비공인 IP는 계정당 하나일 것이므로

기존에 다른 서버로 포트가 열려 있다면 해당 포트를 피해서 설정해주면 될 것이다.

 

ACG 정의

ACG란 서버 간 네트워크 접근을 제어하고 관리할 수 있는 IP / 포트 기반의 방화벽 서비스이다.
ACG 규칙을 정의함으로써 외부에서 서버 IP로 접근할 수 있는 IP와 포트를 설정할 수 있다.

Server > ACG

필자는 81 빼고 다 열어놨다. (이러시면 안되요!!) (81은 개인 PC IP로 설정)

[전체로 열어놔야 하는 포트]

  • 80 포트 : 공인 IP로 접속 할 시 클라이언트의 브라우저로부터 HTTP 요청을 받아들이는 디폴트 포트이다.
    • 즉, naver.com 으로 접속 할 시 naver.com:80 과 같은 주소로 접근하는 셈이다.
    • 따라서 포트 80을 열어야 웹 서버에서 들어오는 HTTP 요청을 처리할 수 있다.
  • 443 포트 : 80포트와 동일한 역할로, HTTPS 요청을 받아들이는 디폴트 포트이다.

[접근 IP 대역을 심사숙고 해봐야 하는 포트]

  • 22 포트 : SSH를 통해 서버에 접속할 때 쓰이는 포트. 쉽게 말해 Shell을 통해 우리가 서버 접속용 공인 IP를 통해 서버 비공인 IP로 접속하고, 서버를 관리할 때 사용하는 포트이다.
  • 3389 포트 : 윈도우 원격 접속(RDP)에 사용되는 포트이다. 
  • 81 포트(custom) : Nginx proxy manager 실행을 위해 포트 포워딩 설정을 해놓을 포트
  • 3306 포트 : MYSQL 기본 포트로 DB 접속에 사용되는 포트이다.

상기의 포트는 개인 IP 주소로 ACG 상 접근 IP를 제한하거나, 포트 자체가 너무 잘 알려져 있기 때문에 포트포워딩을 고려해봐야 할 것이다.

 

공인 IP로 도메인 설정

DNSZI 혹은 NCP Global DNS와 같은 DNS 관리 툴 접속해 설정

일반적으로 DNS에서 레코드를 찾을 때 * 와일드카드보다 구체적으로 매치되는 레코드가 있으면 와일드카드보다 우선순위가 높게 처리된다.

따라서, 구체적인 서브도메인이 있는 경우 별개의 IP 주소를 할당하면 와일드카드 패턴보다 우선하여 레코드가 정상적으로 적용된다. 

 

DNS 관리 네임서버 확인

DNS 구매 사이트 > 네임서버(nameserver)

도메인 레코드를 관리해줄 수 있는 네임서버를 적용 / 확인한다.

 

네이버 서버 콘솔 접속 후 비밀번호 변경

Server > 생성 서버 클릭 > 서버 관리 및 설정 변경 > 관리자 비밀번호 확인

서버 생성 시 이용했던 인증키를 통해 초기 비밀번호를 확인한다.

 

Server > 생성 서버 클릭 > 서버 접속 콘솔

서버 접속 콘솔을 눌러 들어간 후 로그인을 한다.

 

[명령어]

bash
닫기
$ root
$ <초기 관리자 비밀번호 입력>
$ passwd root
$ <변경할 비밀번호 입력>
$ <변경할 비밀번호 확인 입력>

비밀번호 변경이 완료되었다.

 

쉘 접속 후 nslookup 도메인

windows cmd

bash
닫기
$nslookup <도메인명>

Non-authoritative answer로 추가 신청 및 도메인 레코드와 연결해놓았던 공인 IP가 등록되어 있다면 성공한 것이다.

 

쉘 접속 후 npm 초기 설정은 다음 포스팅에 이어서 진행했으니 참고 바랍니다.

 

[NCP, 도커] 서버 생성부터 배포까지 (2 / 4)

이전 포스팅에서 이어집니다. [NCP, 도커] 서버 생성부터 배포까지 (야매판, 1 / 3) NCP 서버 생성, 도메인 레코드 설정 및 IP 할당 NCP 서버 생성 공인 IP 추가 신청 Server > Public IP Q. 서버 접속용 공인 IP

doinitright.tistory.com


틀린 부분이 있으면 댓글로 알려주세요!