Oracle Linux VM 인스턴스 생성
이번 문서는 오라클 클라우드 Free Tier 계정을 생성하고 로그인한 상황을 전제로 합니다. 만약에 현재 오라클 클라우드 계정이 없는 상태라면, 다음 문서를 참조하여 오라클 클라우드 계정을 만들고 OCI 콘솔에 로그인하시기 바랍니다.
이번 문서에서는 OCI 콘솔에서 OCI Linux VM 인스턴스를 생성하는 절차를 소개합니다. OCI Linux VM 인스턴스 생성 문서는 다음과 같은 목차로 진행 됩니다.
1. 사전 준비
OCI Linux VM 인스턴스를 생성 문서는 다음과 같은 자원과 파일이 이미 만들어져 있다는 것을 가정하고 진행합니다.
1.1 OCI 자원 준비
다음 자원이 없다면 “자원 생성 참조 문서“를 참조하여 해당 자원을 생성하시기 바랍니다.
자원 유형 | 자원 이름 | 소속 Compartment | 추가 설명 | 자원 생성 참조 문서 |
---|---|---|---|---|
Compartment | sanbox | root > sandbox | . | Compartment 추가 |
VCN | demo_vcn | root > sandbox | 80포트를 공개하는 Custom_Security_List를 포함할 것 | 간편 VCN 만들기 |
1.2 준비 파일
OCI Linux VM 인스턴스을 생성하기 위해서는 SSH 접속에 사용할 공개키 등록해야 합니다. 다음과 같은 RSA 공개키를 준비해야 합니다.
파일 유형 | 파일명 | 파일 생성 참조 문서 |
---|---|---|
Key Paring RSA 공개키 | id_rsa.pub | 운영체제별 SSH Key Pair 준비 |
2. OCI Linux VM 인스턴스 생성
OCI Linux VM은 다음과 같은 절차로 진행합니다.
- 자원 제한(Resource Limit) 상황 파악
- Oralce Linxu 7.7 이미지로 VM 생성
- SSH 접속
- 웹 서버 설치
- 방화벽 오픈 80포트
- Block Storage 추가
- Oracle Linux VM 제거
사전 준비 사항인 Compartment(sandbox)와 VCN(demo_vcn)을 만들었고 다음과 같이 id_rsa.pub 파일을 생성했다고 가정하고 진행하겠습니다.
~ > cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGY37KCYmS7bE72rHskoiwEGoG6xK1
+fgDKKXccYdZS24VuxXYsi4b6YC3yCFPxIgvNGankDas0Vf80YuMi3cPwM+/UamM14FC
3N/57CJcsXi1+fv24K9LtIpby2wkSenxMAwMnhoMzMWyDxr2rWvqOz30rbDrw8cc2G5l
7aZ/5tMQFj3SRk/bRSOrrBxZ/gDMhLKhvAxQ/B0cFVNicDPg2kD7ghpZDdBVoZHiuKih
lv+ycsEp/CjHBvUJFKBqQ3fkaJtcBjYXNgASv0TCaP4Kh02KrwiwU9seg53TbqPvS/NI
A8Jj6jew4FLvdrn6JOOxhNIaP8ry2ukna3r2m2C/
taewan@taewanui-MacBook-Pro.local
~ >
위 절차를 모두 마치면 다음과 같은 상태가 만들어집니다.
2.1 사용 가능한 자원 확인
현재 Tenancy에 할당된 사용 가능한 자원을 확인 합니다. Tenancy에 할당된 자원량을 확인하는 Limits, Quotas and Uasge(제한, 할당량 및 사용량) 페이지는 다음과 같은 메뉴 패스로 이동할 수 있습니다.
Limits, Quotas and Uasge(제한, 할당량 및 사용량) 페이지에서 리전의 AD(Available Domain)에서 서비스 별로 Tenancy에 할당된 자원 크기와 현재 사용중인 자원 크기 및 사용 가능한 자원 크기를 확인할 수 있습니다. 또한 Request a services limit increase에서 자원 할당 증설을 요청할 수 있습니다.
위 페이지에서 사용 가능한 Shape인 VM.Standard2.1으로 리눅스 VM 인스턴스를 생성할 것입니다.
2.2 Oralce Linxu 7.7 이미지로 VM 생성
이제 부터 Oracle Linux 7.7을 이미지하고 Shape VM.Standard2.1으로 리눅스 VM 인스턴스를 만들겠습니다. 다음 메뉴 패스로 OCI Compute의 Instance관리 페이지로 이동합니다.
OCI Compute의 Instance관리 페이지에서 앞으로 생성할 VM을 할당할 Compartment인 sandbox를 선택합니다. “create instance” 버튼을 클릭하여 “Create Compute Instance” 페이지로 이동합니다.
“Create Compute Instance” 페이지에서 입력 폼 각 항목에 다음과 같이 입력합니다.
설정 항목 | 설정값 | 설명 |
---|---|---|
Name your instance | demo_linux_vm | |
Operating System or Image Source | Oracle Linux 7.7 | 오라클 리눅스 7.X는 CentOs7.x/RedHat7.x와 완전한 호환성 제공 |
Availability Domain | AD 1 | 현제 데모는 3AD 리전인 Ashburn에서 진행하고 있음 |
Instance Type | Virtual Machine | |
Instance Shape | VM.Stanndard2.1 | 1 Core OCPU, 15GB Memory |
Virtaul cloud network compartment | sandbox | |
Virtaul cloud network | demo_vcn | |
Subnet Compartment | sandbox | |
Subnet | Public Subnet-demo_vcn | |
Assign a public IP address | 체크 | 공개 IP를 설정하기 위해서 체크 |
Choose SSH Key file | 체크 | 아래 Choose Files를 클릭하고 미리 준비한 id_rsa.pub 파일을 업로드 |
다음 이미지와 같이 입력을 완료한 후 “Create” 버튼을 클릭하여 인스턴스 생성을 시작합니다.
인스턴스 생성이 시작되면 Compute Instance 상세 페이지로 이동합니다. 처음에 Compute Instance 아이콘 색깔은 주황색(생성중)입니다. Compute Instance 생성이 완료되면 아이콘이 색이 초록색으로 변경됩니다. 그리고 Public IP Address에 IP 150.136.254.123가 할당되어 있는것을 확인할 수 있습니다.
2.3 SSH 접속
앞에서 확인한 공개 IP로 ssh 접근을 할 수 있습니다. 리눅스/맥의 터머널로 ssh 접근하는 명령의 형식은 다음과 같습니다.
ssh -i <id_rsa파일> opc@<공개 IP>
여기서 id_rsa는 앞에서 Compute Instance를 생성할 때 업로드한 공개키(id_rsa.pub)의 key pair 파일이고 opc는 오라클이 배포하는 VM 이미지의 기본 OS 사용자 계정입니다.
2.4 웹 서버 설치
SSH 접속을 한 상태에서 다음 명령을 입력하여 웹 서버 Nginx를 설치합니다.
Nginx를 설치하는 명령은 다음과 같습니다.
sudo yum install nginx
이 명령을 수행하면 다음과 같이 Nginx가 설치됩니다. 중간에 설치를 동의하는 입력(y)이 요청됩니다.
설치가 완료되면 다음 명령으로 Nginx를 시작하고 상태를 확인합니다.
sudo systemctl start nginx
sudo systemctl status nginx
위 명령을 실행한 결과는 다음 이미지와 같습니다. 다음 이미지를 보면 Nginx가 작동하는 상태임을 확인할 수 있습니다.
추가로 Nginx가 실행된 상태를 curl 명령으로도 확인할 수 있습니다.
curl localhost | head
Nginx가 정상적으로 실행되는 상태에서는 다음 이미지와 같이 html 코드 일부가 출력됩니다.
2.5 OS 방화벽 오픈
현재 사용하는 VCN(demo_vcn)의 Public Subnet-demo_vcn 서브넷 Security List에 22번 포트와 80 포트 오픈 룰이 적용되어 있습니다. 그러나 현재 Nginx 웹 서버에 브라우저 접근이 블가능합니다.
이유는 OCI의 Oracle Linux 7.7 이미지로 만든 Compute Instance에는 방화벽이 활성화되어 있습니다. 따라서 OS 방화벽에 해당 포트를 오픈해야 합니다. Oracle Linux에서 80포트를 오픈하는 명령은 다음과 같습니다.
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
OS 방화벽에 80 포트를 오픈하면 다음가 같이 Nginx 웹 서버에 브라우저 접근이 가능합니다.
지금까지 OCI에서 Oracle Linux Compute VM 인스턴스를 만드는 과정을 살펴보았습니다. 다음 문서에서는 Block Storage를 VM 인스턴스에 추가하는 과정을 살펴보겠습니다.