Google Cloud Platform을 이용한 NAS 시스템 구축 의 두번째 글입니다.
앞서 VM인스턴스를 생성하였으니 이제 외부에서 접속할 고정 IP를 할당시켜줘야합니다.
기본적으로 VM인스턴스 생성시 외부 IP가 할당되지만 이것은 고정 IP가 아닌 임시 IP로 재부팅시에 언제든지 변경될 수 있습니다. 추후에 도메인에 IP를 연동하게 되었을때 외부 IP가 변경된다면 도메인에 연결이 끊길수도있으니 이걸 고정 IP로 할당해보도록 하겠습니다.
이번 포스팅의 순서는 VM에 고정 IP를 할당 후 nginx 설치를 하고 테스트해보도록하겠습니다.
고정 IP 할당하기
먼저, 좌측 메뉴 > VPC 네트워크 > 외부 IP 주소 로 이동해줍니다
그럼 아까 보았던 외부 IP와 함께 유형에 ‘임시’ 라고 되어있는데 여기를 클릭해서 임시 -> 고정으로 변경해줍니다.
이름과 설명은 자유롭게 작성해주세요.
그럼 이렇게 고정 IP로 변경된걸 확인할 수 있습니다.
매우 간단하죠?? 이제 IP가 잘 할당되었는지 확인해야하는데 추후에도 사용할 nginx를 미리 설치해서 테스트해보겠습니다.
Nginx 설치하기
먼저 SSH 콘솔로 접근후에 sudo명령어로 root 권한을 획득해줍니다.
기본적으로 설정되어있는 repo에서는 nginx 버전이 낮기때문에 최신버전을 설치할 수 있도록 몇가지 작업을 하겠습니다.
nginx최신버전(mainline)설치를 위해서는 기본 레포가 아닌 nginx레포지토리를 따로 추가시켜줘야하기 때문에 필요 패키지 설치 -> nginx 레포지토리(mainline)등록 -> nginx 설치 의 과정으로 진행하겠습니다.
필요패키지 설치
패키지 설치이전에 apt update && apt upgrade
로 최신상태에서 시작해야합니다.
sudo apt install curl gnupg2 ca-certificates lsb-release
nginx repository 등록 (mainline / stable)
이제 nginx mainline의 레포지토리를 등록하겠습니다. 혹시 stable 버전설치를 원하면 두번째 줄에있는 명령어를 사용하면 됩니다.
echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
그리고 공식 서명키를 받아와서 apt가 패키지의 진위여부를 확인할 수 있도록 합니다.
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt-key fingerprint ABF5BD827BD9BF62
nginx 설치
repo 등록과 패키지 인증이 되었으니 이제 apt update를 한번해주고 바로 설치하도록 하겠습니다.
sudo apt update
sudo apt install nginx
설치가 완료되었으면 nginx -v 혹은 nginv -V 로 버전을 확인해주면 됩니다.
추가로 아래 명령어들을 통해 부팅시 nginx가 실행되게 해줍니다systemctl enable nginx
systemctl start nginx
nginx 구동 테스트
먼저 service nginx start로 nginx의 서비스를 시작시켜줍니다.
그리고 netstat -lntp 명령어로 80번 포트가 리스닝 되고있으면 실행이 된상태입니다.
VM 인스턴스 방화벽 열기
기본적으로 nginx는 80번 포트를 사용하고있습니다. 그래서 외부에서 접근할때 80번 포트를 이용하게 되는데 기본상태의 VM 인스턴스의 경우 방화벽이 막혀있는상태입니다. 그래서 활성화 하는 단계를 거치도록 하겠습니다.
메인메뉴 > VPC 네트워크 > 방화벽 규칙
상단에 방화벽 규칙 만들기 클릭
이름과 설명은 원하는대로
로그, 트래픽 방향, 일치시 작업 – 디폴트값
여기서 대상은 ‘네트워크의 모든 인스턴스’ 즉 우리가 프로젝트에 생성한 VM을 의미합니다.
소스 IP 범위는 서버에 접속할 수 있는 IP입니다. 우리가 핸드폰을 가지고 다니는 이상 어떤 IP를 할당받을지 모르기 때문에 0.0.0.0/0 을 작성해줍시다.
nginx를 사용하기 위한 포트는 기본적으로 80번 입니다. 그리고 만들기
테스트
이제 웹 브라우저를 이용해서 VM의 외부 IP로 접근을 시도해 보겠습니다.
저같은경우 http://34.70.108.129 가 되겠네요.
위 화면이 나온다면 고정 IP할당 / 방화벽 정책 허용 / nginx 설치까지 모두 완료된것입니다.
3부에서 만나요~
진행 순서
- [GCP]VM인스턴스 생성하기(Ubuntu OS)
- [GCP]VM 인스턴스 고정 IP할당 및 Nginx 설치.
- [GCP]VM(ubuntu OS) Docker 설치하기.(portainer 추가)
- [GCP]서비스 운영을 위한 무료 도메인 발급받기
- [GCP]Docker를 이용한 Torrent 서비스 구축하기.
[GCP]Docker를 이용한 Nextcloud 서비스 구축하기.(MariaDB 추가)[GCP]Nextcloud 설정 변경하기 및 도메인 SSL,reverse proxy 적용하기.- [GCP]Nextcloud 설치를 위한 PHP, MariaDB 설치하기 + SSL 적용.
- [GCP]LEMP 스택으로 Nextcloud 구축.
- [GCP]Nextcloud 최적화하기(nginx,php-fpm 설정)
- [GCP]Docker를 이용한 Jellyfin 서비스 구축하기.
- [GCP]Docker를 이용한 PLEX 서비스 구축하기.
- [GCP]Nextcloud를 이용해 Webdav 사용하기.