네이버 클라우드로 vm 만들어서 nginx 올리기 1탄

Chaeyoung·2024년 4월 5일
0
post-thumbnail

기록기록. vm 서버 만들기 부터 환경설정까지 과정을 기록한 포스팅입니다.
이번 포스팅의 요약은 vm 서버 사양이 너무 낮아 사이트 접속 지연 이슈가 생겼다는 결말입니다.

용어 이해하고 네이버 클라우드에서 제공하는 가이드센터만 차근차근 읽어본다면 네이버 클라우드로 vm 만들기 짱 쉬워용.

네이버 클라우드로 vm 서버 만드는 순서 요약

VPC 생성 -> subnet 생성 -> Server 생성

네이버 콘솔에 왼측에 메뉴바 > VPC > VPC Management접속

vpc 생성

  • vpc 이름은 본인이 배포할 프로젝트 이름이나 test와같은 구분할 수 있는 이름을 입력해주기
  • ip주소 범위는 VPC에서 많이 사용되는 일반적인 IP범위인 10.0.0.0/16로 설정해준다. 10.0.0.0/16는 총 65,536개의 IP 주소를 사용할 수 있다.
  • VPC 유형 선택은 일반적으로 독립적인 VPC를 생성할 경우는 NORMAL일 경우에 선택, Transit Gateway와 연결되는 VPC를 생성할 때는 TRANSIT을 선택해준다. Transit Gateway은 여러 VPC와 온-프레미스 네트워크를 연결하는 허브 역할을 한다. 간단한 사이드 프로젝트일 경우라면 NORMAL유형의 VPC 생성을 권장한다. TRANSIT 유형은 복잡한 네트워크 아키텍처를 구현할 때 사용된다.


vpc를 만들고나면 상태가 생성중으로 보통 5~10분 정도 소요된다. 더 복잡한 네트워크 구성이거나 다른 작업이 병행되는 경우에는 더 오래걸릴 수도 있다.

vpc생성 과정

  1. VPC메타데이터 및 구성 정보 생성
  2. 라우팅 테이블, 보안 그룹 등 관련 리소스 생성
  3. 네트워크 환경 설정 및 초기화
  4. 생성 상태 검사 및 완료 처리

subnet 생성


VPC > subnet Management 접속

옵션 입력하기

  • vpc란에 생성한 vpc 선택해주기
  • ip 주소 범위는 10.0.0.0/16으로 설정
  • Internet Gateway는 격리 된 공간에 인터넷을 허용할 건지의 여부로 이해했다. 공인 IP를 사용하려면 Public Subnet만 등록이 되므로 Public으로 선택하기 잘못 이해한 거라면 댓글로 알려주세여
  • 용도는 일반으로 선택

용도 옵션 특징

  • LoadBalancer 여러 대의 서버에 들어오는 트래픽을 분산 시켜주는 역할
  • Bare Metal Server 실제 물리적 서버를 사용하는 옵션
  • NAT Gateway 사설 네트워크에서 인터넷에 접근하기 위해 사용됨. 인터넷을 통한 외부 서비스에 접근해야 하는 경우, NAT 게이트웨이를 통해 내부 IP주소를 공용 IP주소로 변환하여 통신함. 주로 보안 및 네트워크 관리를 위해 사용.

VPC와 Subnet 생성이 끝났다면 본인에게 맞는 운영 체제를 선택해 서버를 생성할 수 있다.

서버 생성

Server > Server

무료 버전인 micro를 사용할 경우 linux운영체제를 선택해준다.

결제 수단 등록일로부터 1년간 무료로 제공되므로, 요금제 선택에서 뜨는 월 요금은 무시해주기. 무료 버전은 1개 계정당 서버 1대만 생성 가능하다.

  • Network Interface 생성
  • 물리 배치 그룹 미사용
  • 반납 보호 설정

스토리지 설정

기본 크기 10GB로 둔다.

인증키 설정은 보유하고 있는 키가 있다면 보유중인 인증키를 사용하고 없다면 새로운 키를 생성해준다.

(요렇게 다운받아짐)

네트워크 접속

마지막으로 Server>ACG로 이동해서 ACG생성 해면 서버 완료 끝~

ACG란?

  • IP 기반 필터링 기능으로 서버로의 네트워크 접근을 관리하는 서비스
  • ACG에서 네트워크 접근 ip를 설정 할 수 있음
  • 자주 사용하는 TCP, UDP, ICMP 외에도 다양한 프로토콜을 제어 및 관리

공인IP까지 등록해줘야 접속이 가능해용.

  • Server > Public IP 이동
  • 공인 IP신청
  • 적용 서버 선택에 방금 생성한 서버를 선택해주고 최종확인까지 하면 끝!
  • 서버 선택에 생성한 서버가 안뜬다면 서버 생성에 시간이 조금 소요되므로 잠시 기다렸다 공인 ip등록을 해준다.

네이버 클라우드 터미널 ssh로 vm 서버 접근하기

아래 명령어 본인 서버에 맞춰 입력하기

ssh <관리자 이름>@<공인 ip 주소>

위 형태로 입력하면되는데 처음 vm 서버에 접속할 시에는 대부분 서버 이름 기본값이 root로 돼있다.

확인하는 방법은 네이버 클라우드 콘솔에서 VPC > Server > Server 카테고리에서 확인할 서버를 선택한 후, 상단에 서버 관리 및 설정 변경 > 관리자 비밀번호 확인에서 처음 vm 서버를 생성 시 등록한 pem 인증키 파일을 첨부해 서버 관리자 이름과 비밀번호를 확인할 수 있다.

초기 서버 이름 확인

터미널로 vm 접속하기

터미널에 위와 같은 창이 뜨면 vm에 접속 성공.
네이버 클라우드 가이드센터 바로가기

비밀번호 변경 명령어

passwd root

vm 서버 환경 설정

각자 프로젝트에 맞는 환경설정을 해준다.

nginx 설치

엑, 무료 버전을 쓰려고 일단 먼저 vm 서버를 만들었는데 네이버 클라우드에서 권장하는 이미지가 있었다. 무료버전으로 해도 조금 느려지는 거 말고 큰 차이 있겠냐 생각하며 그냥 만들어둔 서버에 nginx를 설치했다.

패키지 업그레이드

~# dnf -y upgrade-minimal


모지? 업그레이드가 어마어마하게 돼서 이게 micro 서버에서 괜찮은 건가 살짝 불안해졌지만, 어떻게든 되겠지 생각하고 그대로 진행했다.
설치가 이렇게 오래 걸리는게 맞나?

업그레이드가 완료되면 nginx 설치준비하기.
nginx 최신버전을 설치하려면 epel-release 리포지토리 패키지가 필요한데, epel-release 리포지토리 패키지를 설치하기 위해서는 Extras 저장소 파일이 필요하다.

vi /etc/yum.repos.d/Rocky-Extras.repo

파일을 확인했을 때, 아래 처럼 Extras 저장소 설정 파일이 있다면 다음단계로 넘어가면 된다. 그렇지 않다면 아래 내용으로 파일을 생성한다.

EPEL 저장소 패키지 설치

dnf -y install epel-release

nginx 설치, 설치 후 버전 확인

dnf -y install nginx
nginx -v

다음으로 홈으로 사용할 디렉토리 생성 및 해당 디렉토리 소유권 설정을 해준다.

# 테스트 사이트 홈 디렉토리 생성
mkdir -p /ncloud/data/www/nginx-test/

# 해당 디렉토리에 nginx에 권한 부여
chown -R nginx:nginx /ncloud/data/www/nginx-test

# nginx 샘플 페이지를 사이트 디렉토리로 복사
cp /usr/share/nginx/html/*.* /ncloud/data/www/nginx-test/

# 복사된 파일들 확인
ls -al /ncloud/data/www/nginx-test/

디렉토리 파일 구조 확인

tree -P *conf* /etc/nginx/


기본 설정 파일

vi /etc/nginx/nginx.conf

nginx 실행

systemctl enable nginx
systemctl start nginx
systemctl status nginx

nginx 실행 후 vm ip 주소로 접속했을 때 nginx 화면이 실행되면 끝난건데, 서버가 micro 버전이어서 그런지 접속하는데 로딩이 너무 오래걸린다.
한번 해봤으니, 하다 안되면 vm 날리고 다시 처음부터 만들면 된다.

참고링크

linux에 nginx 설치하기

How to Install the Latest Nginx on Rocky Linux

0개의 댓글