앞선글에서 구글 클라우드 플랫폼을 이용해서 VM 인스턴스를 생성했다.
이번글에서는 생성한 VM을 이용해서 웹서버(nginx)를 설치하고 방화벽 설정을 통해서 외부에서 접속해보도록 하겠다.
웹서버에 접근하기 위해서는 외부 IP를 알고있어야되는데 VM인스턴스에 보면 외부 IP라고 표기되어있는걸 기록해놓으면 된다.
(일단은 임시 IP를 사용하고 추후에 고정적으로 사용하고싶다면 따로설정해주면된다.)
웹서버 설치환경
OS : Cent OS 8.1 64bit
Nginx : 1.17.8 (최신 Mainline버전)
앞서 수없이 많이 nginx를 설치했었기 때문에 설치하는 방법은 링크로 대체하겠다.
*OS버전도 똑같으니까 따라하면된다.
설치완료가 되면 service nginx start로 시작
이제 방화벽 오픈을 해줘야한다.
cockpit를 이용하면 좀더 편하긴하지만.. 아직 설치하지않았으니 firewall-cmd 명령어를 이용하도록하겠다.
방화벽 설정
방화벽의 경우 centos자체에서 운영되고있는 방화벽과 google cloud에서 운영되는 방화벽 두가지 모두해제하여야 한다.
먼저, Cent OS 방화벽
http(80) 포트만 오픈해주면된다.
firewall-cmd --zone=public --permanent --add-port=80/tcp
firewall-cmd --reload
이제 구글 클라우드 자체 방화벽 설정
관리 콘솔 > 네트워킹 > VPC네트워크 > 방화벽 규칙
들어가서 보면 기본적으로 icmp와 ssh rdp가 설정되어있고 필터로 내부 ip에 대해 모든 방화벽 허용이 잡혀있는데 지금해야할건 외부 IP에 대해 80번 포트를 허용해주는거다
이름부터 작성
정책을 적용할 대상(VM인스턴스)를 태그로 지정하는게 좋은데 나는 태그가 기억이 안나서 그냥 모든 인스턴스에 오픈(어차피 하나뿐;)
소스 IP의 경우 외부 전체로 오픈하기때문에 0.0.0.0/0
http만 오픈 예정이므로 포트는 80번
이렇게 만들기를 하면 방화벽 정책이 생성완료된다.
이제 아까 기억해놨던 (임시)외부IP로 브라우저를 통해 접속해보자.
일단 임시 IP이기 때문에 VM 인스턴스를 재시작 하면 IP가 바뀌기 때문에 실제 웹사이트 or 블로그로 사용하려면 고정 IP를 할당 받도록 하자.