앞의 포스트에서 오라클 클라우드의 내부 네트워크 구성 즉 VCN을 구성하는 과정을 설명했다.
기본적인 구성으로 VCN을 생성하면 인터넷과 연결되는 DMZ 네트워크에 해당되는 퍼블릭(Public) 서브넷과 인터넷에서 직접 접속이 불가능한(DMZ의 서버를 경유해야만 접속이 가능한) 내부 서버 네트워크에 해당되는 프라이빗(Private) 서브넷이 생성되었다.
이번 포스트에서는 인터넷에서 접속을 할 수 있도록 구성된 퍼블릭(Public) 서브넷에 인스턴스 즉 가상서버(Virtual Machine)를 생성하는 과정을 포스팅한다.
먼저 오라클 클라우드에 접속하고 Compute 메뉴에서 서브메뉴인 Instances를 찾아간다.

생성되어 있는 가상머신 (Virtual Machine), 즉 가상 서버의 목록을 보여주는 창이 보이지만 처음엔 “No items found” 가 표시된다(당연하다). AWS에서는 가상 서버를 흔히 “EC2” 혹은 “EC2 Instance(인스턴스)”라고 부르는데 오라클 클라우드에서도 “Instance(인스턴스)”라고 부른다.

클라우드에서 인스턴스라고 하면 가상머신 즉 가상서버(or 가상머신)라고 생각하면 틀리지 않다. 이제 가상머신 즉 인스턴스를 생성하기 위해서 “Create Instance” 버튼을 누른다.

“Name”에는 생성할 가상머신의 컴퓨터 이름을 입력한다. 위 화면처럼 “ubuntu_web” 이라고 입력하면 hostname 명령을 입력했을 때 “ubuntu_web”이 출력된다. 즉 “Name”이 호스트네임으로 지정된다.
“Create in compartment”는 최상위 root 를 선택하면 된다. 어차피 평생 무료버전을 사용할 것이므로(?) 별도의 Compartment는 신경쓰지 않아도 된다.(?)
“Placement”는 인스턴스(VM)를 생성할 위치인데… 오라클 클라우드에 가입할 때 한국리전을 선택하면 춘천이나 서울을 선택하게 되며 선택한 리전에서 어떤 가용 도메인(AD)에 생성할 것인지를 선택하면 되는데 변경하지 않아도 무방하다. 한국에서 가입하면서 해외리전을 선택해도 되지 않을까 싶다.
“Image and Shape”에는 파랑색 박스에서 Image가 기본적으로 Oracle Linux 7.9가 선택되어 있다. 바꾸지 않아도 리눅스 서버를 생성하는데 전혀 문제가 없지만 CentOS, Ubuntu 등으로 바꾸고 싶다면 오른쪽의 “Edit” 링크를 누르면 된다. (뒤에서 설명함)
“Shape”는 기본적으로 VM.Standard.E2.1.Micro로 설정되어 있고 “Always Free Eligible” 이라고 표시되어 있다. 우리말로 하자면 “상시 무료 가능” 또는 “평생 무료 가능”이다. OCPU 1개 Memory 1GB의 스펙으로서 고성능을 기대하긴 어렵지만 Apache웹서버, PHP, MySQL을 설치하여 워드프레스 혹은 그누보드를 설치하여 개인 블로그나 친목도모용 게시판을 운영하기엔 크게 부족하지 않다. 그리고 이런저런 테스트 용도로도 사용할 수 있다. 만약 유료 Shape로 변경하고자 한다면 마찬가지로 “Edit” 링크를 클릭하여 변경할 수 있다.
Networking 항목에서는 Subnet과 Public IPv4 Address를 할당할 것인지만 결정하면 된다. 만약 인터넷과 직접 연결되지 않도록 하기 위한 내부 VM를 만들고자 한다면 “Edit” 링크를 눌러 Private 서브넷으로 변경하거나 Public 서브넷이지만 Public IP Address를 할당하지 않을 수 있다. 여기에서는 인터넷에서 접속할 수 있는 웹서버를 가정하여 설치하는 것이므로 Public 서브넷과 Public IP Address를 할당하는 옵션을 선택한다.
아래는 설치할 표준 이미지를 오라클 리눅스 7.9에서 Ubuntu 리눅스로 변경하는 화면이다.

“Change Image”를 선택하면 모든 설치가능한 운영체제의 표준 이미지 목록이 표시된다. Windows를 제외하면 리눅스는 모두 “Always Free Eligible”이 표시되어 있다.

Ubuntu 20.04 Minimal 이미지로 변경한 화면이다.

단, Shape는 무료인 VM.Standard.E2.1.Micro 에서 다른 Shape로 변경하면… 다음달에 추가 비용이 회원가입 시 입력한 신용카드로 결제가 될 것이다. 추가비용 지불을 원하지 않는다면 “Always Free Eligible”이 있는 것만 선택해야 한다.
Image and Shape를 결정했다면 인스턴스에 SSH 접속 시 어떤 인증 방법을 사용할 것인지를 결정해야 한다.

여기서는 미리 만들어둔 인증서를 사용해 접속하기 위해 인증서의 공개키 파일을 업로드 한 화면이다. 만약 인증서를 사용하여 접속하지 않을 것이라면 파란색 박스의 “No SSH Keys”를 선택하면 초기 접속 계정인 “ubuntu” 계정의 비밀번호를 사용하여 접속하게 된다.
마지막으로 Boot volume에 대한 설정을 하게 되는데 볼륨의 크기를 변경한다던가 직접 관리하는 암호키를 이용해 볼륨을 암호화할 수 있다. 기본적으로는 아무것도 선택하지 않는다.

마지막으로 “Create” 버튼을 선택하면 인스턴스를 생성하게 된다.
PROVISIONING 메시지가 표시되면 인스턴스를 생성중이라는 의미다. Public IP Address가 할당되었고 접속계정(username)은 ubuntu 임을 알 수 있다.

“Work Requests”에서 진행 상태를 확인할 수도 있다. 아직 “In Progress(진행 중)” 상태다.

“Running” 상태가 되면 인스턴스 생성이 완료된 것이다.

기본적으로 모든 인스턴스에는 지정한 서브넷의 Private IP(사설IP)가 할당된다.
위 화면에서는 Private IP가 10.0.0.124가 할당된 것을 볼 수 있다. 그리고 이 인스턴스를 Public 서브넷에 생성하도록 하였고 Public IP Address(공인 IP 주소)를 할당하도록 옵션을 선택하였기 때문에 152.X.X.X의 Public IP Address가 할당된 것을 볼 수 있다. 다만 이 공인 IP 주소는 인스턴스의 이더넷에 부여된 것이 아니라 Public 서브넷의 IG (Internet Gateway)의 NAT 설정을 통해 사설 IP인 10.0.0.124으로 1대1 NAT 설정이 되는 것이다.
다시 Compute 메뉴의 Instances 서브메뉴로 가면 생성된 ubuntu_web 서버를 볼 수 있다.

다음은 우분투 리눅스 인스턴스(ubuntu_web)에 SSH 접속을 한 화면이다.

퍼블릭 서브넷에 인스턴스(우분투 리눅스)를 생성 완료하였다.
#오라클클라우드 #인스턴스만들기