TheKoguryo's 기술 블로그

Version 2019.06.03

15.1 Resource Manager 사용하기

Resource Manager

Resource Manager는 OCI 자원 Provisioning을 자동화하는 기능으로 Terraform Configuration을 등록해서 실행하는 기능입니다. 클라이언트에 Terraform을 설치하는 것이 아닌, Resource Manager에서 Terraform Configuration 파일들을 등록해서 OCI 콘솔 또는 OCI CLI로 실행할 수 있습니다.

Terraform CLI를 별도로 설치할 필요가 없고, Terraform 실행 State를 Resource Manager가 관리한다는 차이가 있습니다.

Stack

스택은 Terraform Configuration 묶음을 등록하여 생성하는 Provisioning 단위입니다.

Job

Job은 스택으로 등록된 Terraform Configuration의 실행 작업이며, Terraform에서 경험한 것 처럼 Terraform Plan, Apply, Destroy이 실행되는 작업입니다.

Resource Manager 사용하기

  1. Terraform Configuration 만들기 15.2 Terraform Configurations 작성하기에서 사용한 VCN 만들기 설정파일을 그대로 사용해 보겠습니다. 다만 차이는 oci provider에서 region만 필수 필드이고, 나머지 항목들은 필수가 아닙니다. 등록한 Resource Manager의 Tenancy에서 실행되고, 인증받은 유저가 실행하기 때문에 나머지 항목은 필수가 아닙니다.

    • provider.tf
    variable "region" {}
    
    provider "oci" {
      region           = "${var.region}"
    }
    • vcn.tf
    variable "compartment_ocid" {}
    
    resource "oci_core_virtual_network" "vcn1" {
      cidr_block     = "10.0.0.0/16"
      dns_label      = "vcn1"
      compartment_id = "${var.compartment_ocid}"
      display_name   = "vcn1"
    }
    
    output "vcn1_ocid" {
      value = ["${oci_core_virtual_network.vcn1.id}"]
    }
  2. OCI 콘솔에서 내비게이션 메뉴의 [Solutions, Platform and Edge] >> [Resource Manager] >> [Stacks]을 클릭합니다.

  3. [Create Stack] 을 클릭합니다.

  4. Stack 생성 설정

    • [TERRAFORM CONFIGURATION(.ZIP) FILE TO UPLOAD] : 생성한 Terraform Configration 파일들을 zip으로 묶은 다음 업로드 합니다.
    • [Variables] : Terraform Configration에서 선언한 변수들에 대한 값을 설정하는 영역으로 변수명과 값을 입력합니다.
      그림
  5. 아래쪽 [Create] 클릭

  6. 생성된 Stack 클릭

  7. 생성된 Stack의 상세 화면에서 Terraform Action을 수행할 수 있습니다. CLI에서 했던것 처럼 Plan, Apply, Destroy를 수행할 수 있습니다.
    그림

  8. Terraform Plan을 실행합니다. Plan Job 이름을 입력하고 Plan을 실행합니다.

    • Job이 생성되고 상태가 Accepted -> In Progress -> Succeeded로 변경되는 것을 볼 수 있습니다.
    • 완료되면 해당 Job을 클릭합니다.
      그림
    • Terraform CLI에서 terraform plan을 수행했던 것과 동일한 결과가 로그로 확인됩니다.
      그림
  9. 다시 Stack화면으로 이동하여 Terraform Apply를 실행합니다.

    • Job이 생성되고 상태가 Accepted -> In Progress -> Succeeded로 변경되는 것을 볼 수 있습니다.
    • 완료되면 Virtual Cloud Networks 리스트로 이동합니다.
    • 그림과 같이 vcn이 생성된 것을 확인할 수 있습니다.
      그림
  10. 다시 Stack화면으로 이동하여 Terraform Destroy를 실행합니다.

    • Job이 생성되고 상태가 Accepted -> In Progress -> Succeeded로 변경되는 것을 볼 수 있습니다.
      그림
    • 완료되면 Virtual Cloud Networks 리스트로 이동합니다.
    • 그림과 같이 앞서 생성된 vcn이 삭제된 것을 확인할 수 있습니다.
      그림


** 이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다. **
Last updated on 2 Apr 2019