OCI Tenancy 기본 환경 설정

OCI Tenancy 기본 환경 설정

이 문서는 앞으로 데모 환경을 구성하는 기본 문서로 활용할 목적으로 작성합니다. 이 문서에서는 OCI User ID, OCI Group, Compoartment 및 VCN를 다음과 같이 구성합니다.

  • OCI 사용자 ID: OCI 사용자 계정
    • developer01
    • operator01
    • data_analyst01
    • admin
  • OCI Group: OCI 사용자를 묶는 논리적인 단위
    • developers
    • operators
    • data_analysts
  • Compartment: OCI 자원을 묶는 논리적인 단위
    • demo
  • VCN: 가상 클라우드 네트워크
    • demovcn

OCI 사용자 기본 설정

OCI Group과 OCI User를 만들고, 그룹에 OCI User를 할당하는 과정은 다음 문서를 참조하시기 바랍니다.

OCI 사용자 기본 설정은 OCI 관리자 계정으로 로그인하여 진행합니다.

OCI User ID

OCI User ID 4개와 Group 3개를 만들고, 각 그룹에 다음 OCI User ID를 할당합니다.

OCI User ID 예시 패스워드 OCI Group 역할
admin Welcome123456! administrators OCI 관리자 ID
developer01 Welcome123456! developers 개발자 ID
operator01 Welcome123456! operators 운영자 ID
data_analyst01 Welcome123456! data_analysts 데이터 분석가 ID

OCI Tenancy가 생성될 때, 기본 관리자 ID가 2개 만들어집니다. 이 관리자 ID 외에 새로운 사용자 ID를 4개 만듭니다. 각 사용자 ID는 개발자, 운영자, 데이터 분석가, 클라우드 관리자의 역할을 수행합니다. 사용자 설정이 완료되면 다음과 같은 상태가 됩니다.

OCI User Group

IAM 사용자 ID를 묶는 사용자 그룹을 3개(개발자 그룹, 운영자 그룹, 분석가 그룹) 새로 만듭니다. OCI Tenancy가 기본 제공하는 Administrotors 그룹은 관리자 그룹으로 재사용합니다.

Compartment

OCI에서 자원(VCN, VM, Database, Storage 및 여러 서비스)을 만들 때, Compartment는 OCI 자원을 논리적으로 묶는 역할을 담당합니다. Compartment로 여러 자원을 묶고, OCI 컴파트먼트 단위로 자원 모니터링, 과금 및 권한 설정을 합니다. Compartment는 OCI 클라우드 자원을 관리하는 IAM 핵심 구성요소입니다.

컴파트먼트는 중첩 디렉터리 구조를 갖습니다. OCI의 모든 자원은 특정 컴파트먼트에 소속됩니다. 컴파트먼트는 OCI 글루벌 범위를 갖습니다. 컴파트먼트는 특정 리전에 종속적이지 않으며, 특정 리전에서 만든 컴파트먼트는 모든 리전에서 사용 가능합니다.

Compartment(컴파트먼트)는 한국어로 “구획“으로 번역됩니다.

demo 컴파트먼트 만들기

demo 컴파트먼트 생성은 OCI 관리자 계정으로 진행합니다. root 컴파트먼트 아래에 demo 컴파트먼트를 만들겠습니다.

Compartment 생성을 위해서 다음 메뉴 패스로 이동합니다.

  • OCI 콘솔 왼쪽 위 햄버그 버튼 >> Identity >> Compartments

Compartments 관리 페이지에서 “Create Compartment” 버튼을 클릭합니다.


새로운 Compartment를 대해서 다음과 같이 설정하고 생성합니다.

항목 설정 값
Name demo
Description demo 컴파트먼트
Parent Compartment root


Compartment가 정상적으로 생성되면 위 그림과 같이 Compartments 관리 페이지가 출력됩니다. 이 페이지에서 demo 컴파트먼트 생성된 것을 확인할 수 있습니다


demo 컴파트먼트를 클릭하면 demo 컴파트먼트의 상세 정보를 확인할 수 있습니다.

Policy

OCI에서는 IAM Policy로 OCI 자원 권한 설정을 합니다.

OCI IAM policy의 기본 문법은 다음과 같습니다.

Allow <subject> to <verb> <resource-type> in <location> where <conditions>

Policy를 사용하는 패턴은 다음과 같습니다.

  • Case 1: 특정 OCI Group을 특정 Compartment에 포함된 자원의 접근 제어 설정
Allow group <group_name> to <verb> <resource-type> in compartment <compartment_name>

  • Case 2: 특정 OCI Group이 Tenancy 전체 자원 접근 제어 설정
Allow group <group_name> to <verb> <resource-type> in tenancy

Policy에 적용하는 verb는 다음과 같습니다.

VERB 설명 대상 OCI USER
inspect - 사용자 정의 메타데이터, 보안 정보를 제외한 자원을 리스트(조회)할 수 있는 권한 조회가 필요한 제3자 사용자
read - inspect에 추가하여 사용자 정의 메타데이터도 조회할 수 있는 권한 포함 조회가 필요한 내부 사용자
use - read의 모든 권한 포함
- 자원을 사용할 수 있는 권한 포함
- 자원 생성, 삭제에 대한 권한은 포함하지 않음
일반 사용자
manage 해당 자원의 모든 권한 부여 관리자

Demo 컴파트먼트 권한 부여

demo 컴파트먼트의 Policy 설정은 OCI 관리자 계정으로 진행합니다. demo 컴파트먼트에 대한 권한을 사용자 그룹 별로 다음과 같이 설정합니다.

사용자 그룹 권한 설명
developers manage demo 컴파트먼트의 모든 리소스 생성, 사용, 삭제 권한 부여
operators read demo 컴파트먼트의 모든 리소스의 읽기 권한 부여
data_analysts manage emo 컴파트먼트의 모든 리소스 생성, 사용, 삭제 권한 부여

Policy를 생성하기 위해서 다음 메뉴 패스로 이동합니다.

  • OCI 콘솔 왼쪽 위 햄버그 버튼 >> Identity >> Policies


Policy 관리 페이지에서 Ceate Policy 버튼을 클릭합니다.


Policy 등록 폼에 다음과 같이 입력합니다.

항목 설정 값
Name BasicPolicy
Description Default Policy
Compartment root

위 항목을 입력하고 Policy Builder에 Switch to Basic Builder 링크를 클릭한 다음에 아래 문장을 입력합니다.

Allow group developers, data_analysts to manage all-resources in compartment demo
Allow group operators to read all-resources in compartment demo

모두 입력을 완료했으면 Create 버튼을 클릭합니다.

Policy가 생성되면 다음과 같은 상세 정보가 출력됩니다.

Cloud Shell을 위한 Policy 설정

Cloud Shell은 OCI Console(OCI 관리 콘솔)에서 실행되는 브라우저 기반 가상 터미널입니다. OCI Cloud Shell를 이용하면 PuTTY를 사용하지 않고 OCI VM 인스턴스에 접속하거나 추가적인 계정 설정 작업 없이 OCI CLI와 같은 툴을 사용할 수 있습니다.

OCI 사용자가 Cloud Shell을 사용하기 위해서는 root 컴파트먼트에 다음 Policy를 설정해야 합니다.

allow group <GROUP-NAME> to use cloud-shell in tenancy

develper01과 data_analyst01 사용자가 Cloud Shell을 사용하기 위해서 다음 Policy를 root 컴파트먼트에 생성합니다.

allow group data_analysts, developers to use cloud-shell in tenancy

cloud shell을 위한 Policy를 다음과 같이 만듭니다.

VCN(Virtual Cloud Network) 만들기

OCI Compute 서비스를 사용하면 여러 VCN(Virtual Cloud Network)을 만들 수 있습니다. OCI 자원을 생성/배포하기 위해서는 다른 자원을 생성하기 전에 VCN을 먼저 만들어야 합니니다. VCN은 다음과 같은 네트워크 컴포넌트로 구성됩니다.

  • Subnet
  • Route Table
  • Security List
  • Internet Gateway
  • NAT Gateway
  • Service Gateway
  • Dynamic Routing Gateway
  • Load Balancer
  • Local/Remote Peering

demovcn 만들기

demovcn 만들기는 developer01 사용자로 진행합니다. developer01 사용자로 OCI Console에 로그인합니다. 그리고 VCN을 생성하기 위해서 다음 메뉴 패스로 이동합니다.

  • OCI 콘솔 왼쪽 위 햄버그 버튼 >> Networking >> Virutla Cloud Network


VCN 관리 페이지에서 컴파트먼트로 demo를 선택하고 Networking Quickstart 버튼을 클릭합니다. Networking Quickstart 버튼을 클릭하면 간편 모드로 VCN을 만드는 UI가 나타납니다.


간편 모드로 2가지 형태의 VCN을 만들 수 있습니다. 간편 모드가 지원하는 2개 형태는 다음과 같은 특징을 갖습니다.

항목 설정
인터넷 접속을 위한 VCN - 2개 서브넷 구성(public subnet, private subnet)
- 주요 구성: Internet Gateway, NAT Gateway, Service Gateway
인터넷 접속 사이트간 VCN Connect를 통한 VCN - VCN with Internet Connectivity에 VPN 기본 설정 구성

인터넷 접속을 위한 VCN“을 선택하고 VCN 마법사 시작 버튼을 클릭합니다.

VCN 생성 폼에 다음고 같은 정보를 입력합니다.

입력 항목 설정 값 비고
VCN Name demovcn 신규입력
Compartment demo 신규입력
VCN CIDR Block 10.0.0.0/16 기본값 사용
Public Subnet CIDR Block 10.0.0.0/24 기본값 사용
Private Subnet CIDR Block 10.0.1.0/24 기본값 사용
Use DNS HOSTINGNAMES In the VCN 체크 기본값 사용

위 설정을 입력하고 VCN 마법사 시작 버튼을 클릭합니다.


다음 이미지와 같이 VCN 이름으로 demovcn, Compartment로 demo를 지정하고 다음 버튼을 클릭합니다.


VCN 생성 정보가 출력됩니다. 입력한 사항이 맞으면 생성 버튼을 클릭합니다.


모든 컴포넌트가 초록색 아이콘으로 표시되면, 가상 클라우드 네트워크 보기 버튼을 클릭합니다.


2개 서브넷으로 구성된 demovcn의 상세 페이지를 확인할 수 있습니다.

김태완 avatar
작성자: 김태완
1999년 부터 Java, Framework, Middleware, SOA, DB Replication, Cache, CEP, NoSQL, Big Data, Cloud를 키워드로 살아왔습니다. 현재는 빅데이터와 Machine Learning을 중점에 두고 있습니다.
E-mail: taewanme@gmail.com

이 저작물은 Oracle과 관계없이 개인으로서 개인의 시간을 할애하여 작성된 글 입니다. 본 글의 내용, 입장, 예측은 Oracle을 공식적으로 절대 대변하지 않습니다.