오라클 클라우드 Free Tier가 가상머신(VM) 인스턴스 2개를 무료로 주기 때문에 핫한데요, 컴퓨팅 환경을 클라우드구축하면 시간당/트래픽당 비용 산정을 효과적으로 할 수 있습니다. 그리고 서버 자원을 늘리고 줄이는 것이 자유로워서 운영비용 절감에 도움이 많이 됩니다.



이번 포스팅에서는 오라클 클라우드(Oracle Cloud) Free Tier 무료 가입 성공 후기에 이어서 팁이 될만한 내용을 적어볼까 합니다.


오라클 클라우드 VM(Virtual Machine) 인스턴스 생성 시점에 기본으로 연결되는 기능들은 ①VNIC(가상 네트워크 인터페이스 카드)  ②VCN(가상 클라우드 네트워크)가 있습니다. 저는 클라우드 컴퓨팅 서비스를 처음 이용하는 입장이라, 이 기능들의 개념을 이해하지 못하고 있었습니다.



그래도 "몰라도 대충 쓸 수 있게끔" 메인화면에 빠른 작업 메뉴를 마련해줬기 때문에, "VM 인스턴스 생성"을 누르고 다음~다음~만 클릭하면 인스턴스가 뚝딱 만들어지더군요. 그렇게 무료 VM 인스턴스 2개를 탄생시켰습니다. 테스트용과 실제 서비스용. 이렇게 나눴지요.


그런데 다른 분들이 작성하셨던 글을 보면서 세팅하다보니, 워드프레스같은 웹서비스를 할 경우 VCN(Virtual Cloud Network. 가상 클라우드 네트워크) 항목에서 80포트와 443포트를 개방하는 과정이 있었습니다.


아, VCN은 컴퓨터 상단에 있는 유무선공유기 같은 역할이구나? 공유기 방화벽을 포트포워딩으로 일부 포트 개방해서 쓰는 거랑 비슷하네!


VCN이 2개 만들어져서 테스트용 인스턴스랑 서비스용 인스턴스에 개별적으로 연결돼 있겠지? 하고 VCN 관리 메뉴에 들어가 봤는데, VCN이 하나만 생성되어 있고 2개의 VM 인스턴스가 그 VCN에 연결되어 있더군요. 구조를 그림으로 그려보면 아래와 같습니다.


(쉬운 이해를 위해 VCN을 장벽처럼 표시했으나, 실제로는 상위에서 주머니처럼 하위 요소들을 감싸고 있겠죠? 유무선 공유기처럼.)


VCN : Virtual Cloud Network (가상 클라우드 네트워크) - 추가 방화벽 같은 개념

VNIC : Virtual Network Interface Card (가상 네트워크 인터페이스 카드) - 랜카드&랜선 같은 개념

VM : Virtual Machine (가상 머신) - 컴퓨터 같은 개념

임시 공용 IP - 유동IP 같은 개념


위 스샷처럼 VCN 하나에 VM 인스턴스 여러 개가 물려있으면 뭐가 안좋은가 하면...

VCN에서 80포트를 여는 순간 모든 VM 인스턴스들의 80포트가 뚫리는 문제가 있습니다. -_-;;

물론 VM 인스턴스의 OS에도 방화벽을 설치하고 설정하는 식으로 방화벽을 이중화하기 때문에 크게 상관 없다고 볼 여지가 있긴 한데, 그렇게 따지면 VCN의 존재를 근본적으로 부정해도 할 말이 없기 때문에 적절치 않은 생각이라고 봅니다.


그래서 제가 원하고 여러분께 제안하는 VM인스턴스 2개(무료 제공)의 구조는 아래 스샷과 같습니다.


※ 공용 IP - 고정IP 같은 개념


구획(Component)을 2개로 나누고, 구획별로 VCN을 따로 만든 다음 VM인스턴스를 생성하면서 기존에 만들어둔 VCN에 연결(VNIC는 자동 생성). 그리고 임시 공용 IP를 공용 IP로 바꿔서 IP 고정하기.



제가 빠른 작업 메뉴를 통해 VM 인스턴스를 먼저 만들었었으므로 어쩔 수 없이 ①②④ 과정을 나중에 처리해봤는데, 이것들은 잘 처리가 되더군요. 그런데 VNIC와 VCN의 연결고리를 끊고 새로운 VCN에 연결해서 기본값으로 고정하는 방법을 (능력 부족때문인지) 메뉴 내에서 찾을 수 없었습니다. 구글링해도 안 나오고 말이지요. 그래서 VM 인스턴스 2개를 삭제할 수밖에 없었네요.


저처럼 나중에 고생하지 마시고, 위에서 제안한 굵은 글씨 순서대로 진행할 것을 추천합니다.


오라클 클라우드 구획(Component) 나누는 메뉴 위치

▲ 좌상단 햄버거 메뉴 버튼 - ID - 구획(Compartments)으로 접근하면 됩니다.


오라클 클라우드 : 구획별로 VCN을 만드는 메뉴 위치?

▼ VCN 만드는 메뉴는 "네트워킹 - 가상 클라우드 네트워크"로 들어가면 되는데,


▼ VCN 마법사로 가상 클라우드 네트워크를 만드는 과정 중에 (생성했던) 구획을 고르는 방법도 있고,


▼ 좌측 "목록 범위"에서 구획을 먼저 선택한 다음 VCN 마법사를 사용하는 방법도 있습니다.


구획별 VM인스턴스 생성하는 시점에 VCN 연결하는 법?

▼ 좌측 "목록 범위"에서 구획을 먼저 선택한 다음 인스턴스 생성을 하면서...


▼ "구성, 네트워크 및 스토리지 옵션 표시"를 누르고, 네트워크 구획에 있는 가상 클라우드 네트워크를 선택하면서 진행하면 됩니다.

▲ 서브넷은 "공용 서브넷"으로 정해야 80포트/443포트로 들어오는 외부 요청 신호를 받아들일 수 있습니다(워드프레스 등).


임시 공용 IP(유동IP)를 공용 IP(고정IP)로 바꾸는 메뉴 위치?

▼ 생성한 인스턴스 세부정보 확인 페이지에서 스크롤을 아래로 내리면 "리소스" 카테고리가 나올 겁니다. "연결된 VNIC"를 클릭한 다음 VNIC 이름을 클릭하세요.


▼ 스크롤을 내리고 "리소스" 카테고리에서 "IP주소" 항목을 클릭. 우측 ··· 버튼 위에 마우스 포인터를 가져간 다음 "편집"을 선택합니다.


▼ "임시 공용 IP"에 체크되어 있던 것을 "공용 IP 없음"으로 바꾸고 "업데이트"버튼을 누르면 유동IP 연결되어 있던 것이 풀립니다.


▼ 다시 "편집"을 눌러 팝업 창을 띄우면...


▼ "예약된 공용 IP"를 선택할 수 있게 됩니다. 선택하고 "예약된 공용 IP 새로 만들기"를 선택 후 업데이트 버튼을 누르면 고정IP 할당이 완료됩니다.


▼ 생성된 고정 IP들은 햄버거메뉴 - 네트워킹 - 공용 IP에서 관리할 수 있습니다.


①②③④ 과정에 대한 개괄은 이것으로 끝입니다.


가상 클라우드 네트워크(VCN)에서 80, 443포트 개방하기


위 스샷처럼 구성이 되었으니 VCN이 모든 포트를 막고 있을 겁니다. 워드프레스나 그누보드 같은 웹서비스를 하려면 80포트, 443포트를 개방해야 해요.


▼ VCN 리스트에서 이름을 클릭하면...


▼ 해당 VCN의 리소스 항목들이 왼쪽에 뜰 겁니다. "보안 목록"을 클릭하고 "Default Security List for~~"를 클릭하세요.


▼ 수신 규칙 리소스에서 "수신 규칙 추가" 버튼을 누르고...


▼ 아래 스샷처럼 입력하고 빠쳐나오면 80포트, 443포트가 열립니다. 설명 끝.


오라클 클라우드 제공 우분투 리눅스, 트윅 버전?

저는 VM 인스턴스를 생성할 때 OS를 우분투 20.04로 선택했는데요, iptables 방화벽이 기본으로 깔려 있더군요. 그리고 22번 포트를 제외한 모든 포트를 막고 있었습니다. 순정 우분투 서버 버전은 방화벽이 없었던 것 같은데 말이지요.


저는 iptables가 익숙치 않아서 지워버리고 ufw 패키지를 설치해서 방화벽을 구축했습니다. 그리고 22번, 80번, 443번 포트를 개방했는데, iptables에 익숙하신 분들께서는 iptables 쓰시면 될 것 같아요.


아무쪼록 오라클 클라우드 Free Tier 사용하실 분들께 도움이 되었으면 좋겠습니다.

반응형