Oracle Linux VM 인스턴스 생성

  • 문서 생성일: 2020-03-01 01:11:05 +0900 KST
  • 이번 문서는 오라클 클라우드 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은 다음과 같은 절차로 진행합니다.

    1. 자원 제한(Resource Limit) 상황 파악
    2. Oralce Linxu 7.7 이미지로 VM 생성
    3. SSH 접속
    4. 웹 서버 설치
    5. 방화벽 오픈 80포트
    6. Block Storage 추가
    7. 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(제한, 할당량 및 사용량) 페이지는 다음과 같은 메뉴 패스로 이동할 수 있습니다.

    (OCI 콘솔 왼쪽 위 햄버그 버튼) Governance 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

    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 인스턴스에 추가하는 과정을 살펴보겠습니다.

    참고 문서

    김태완 avatar
  • 작성자: 김태완
  • 사랑하는 민수와 데이터 관리, 데이터 분석 & 클라우드에 집중하고 있습니다.
  • E-mail: taewanme@gmail.com
  • Disclaimer
    이 저작물은 Oracle과 관계없이 개인으로서 개인의 시간을 할애하여 작성된 글 입니다. 본 글의 내용, 입장, 예측은 Oracle을 공식적으로 절대 대변하지 않습니다.