주:

Oracle Cloud Infrastructure에서 Pulumi Infrastructure as Code 도구 설치 및 구성

소개

Pulumi Infrastructure as Code(IaC) 도구로 Oracle Cloud 인프라(OCI) 관리를 간소화할 수 있습니다. 이 자습서에서는 Pulumi를 설치하고 설정하여 워크플로우에 원활하게 맞도록 하는 방법에 대해 설명합니다. IaC 사용 경험이 있거나 시작하기 전에 이 자습서에는 단계별 지침이 있습니다. OCI 기반 Pulumi로 인프라 관리 업그레이드를 준비하세요.

Pulumi가 OCI 설정에서 실행되면 효율성이 크게 향상됩니다. 간단한 인터페이스를 통해 리소스 배포 및 관리가 간편해지고 OCI 인프라 관리가 간소화됩니다.

목표

필요 조건

작업 1: Pulumi 다운로드 및 설치

시스템 또는 VM(가상 머신)에 Pulumi를 다운로드하여 설치합니다. 자세한 내용은 Pulumi 다운로드 및 설치를 참조하십시오.

예를 들어, macOS 사용자는 다음 명령을 실행하여 Pulumi를 설치할 수 있습니다.

brew install pulumi/tap/pulumi

작업 2: Pulumi용 OCI 제공자 패키지 설치

OCI 제공자는 Pulumi 코드와 감독할 OCI 서비스 간의 연결 역할을 합니다. OCI 제공자는 Pulumi가 코드를 통해 OCI 환경 내에서 리소스를 생성, 관리 및 구성할 수 있게 해줍니다.

Pulumi용 OCI 제공자를 설치하려면 CLI(명령행 인터페이스)로 이동하여 설치 명령을 실행합니다. 이 자습서에서는 Python을 Pulumi 언어로 사용하여 OCI 서비스를 배포합니다.

python3 -m pip install pulumi_oci

다른 언어를 사용하여 OCI 제공자를 설치하려면 Pulumi용 OCI 제공자를 참조하십시오.

작업 3: 환경 변수 구성

Pulumi를 OCI 환경과 연결하는 데 필요한 환경 변수를 설정합니다. 이러한 변수에는 테넌시 OCID(Oracle Cloud Identifier), 사용자 OCID, 지문, 지역 및 OCI API 키의 경로가 포함됩니다.

테넌시 구성 파일에 따라 값을 수정하고 다음 명령을 실행합니다.

export TF_VAR_tenancy_ocid="ocid1.tenancy.oc1..<unique_ID>"

export TF_VAR_user_ocid="ocid1.user.oc1..<unique_ID>"

export TF_VAR_fingerprint="<key_fingerprint>"

export TF_VAR_region="us-ashburn-1"

export TF_VAR_private_key_path="/path/to/oci_api_key.pem"

작업 4: 풀루미 스택 만들기

Pulumi 스택에 대한 디렉토리를 만들어 프로젝트를 구성합니다. 원하는 프로그래밍 언어로 초기화합니다. 이 튜토리얼에서는 Python 스택을 사용합니다.

  1. Pulumi 스택 디렉토리를 생성합니다. Pulumi 스택에 대한 새 디렉토리를 만들려면 다음 명령을 실행합니다.

    mkdir OCI_Pulumi_Stack && cd OCI_Pulumi_Stack
    
  2. Pulumi 프로젝트 프로젝트를 OCI Python 템플리트(pulumi new oci-python)로 초기화합니다.

  3. 프로젝트 이름, 설명 및 스택 이름(예: dev, staging, prod)과 같은 프로젝트 세부정보를 입력합니다. 이 단계에서는 필요한 종속성을 추가하고 샘플 코드를 main.py 파일에 로드하는 등 설정 프로세스를 시작합니다.

  4. OCI_Pulumi_Stack 디렉토리의 내용을 확인하여 코드 설정을 확인합니다. 여기서는 샘플 코드와 초기화 프로세스 중에 생성된 추가 파일을 찾을 수 있습니다.

작업 5: Pulumi 스택 사용자 정의

특정 요구 사항에 따라 스택을 사용자 정의합니다. 기본 배치 파일 main.py를 열고 필요한 코드를 추가하여 배치할 OCI 리소스를 정의합니다. 이 자습서에서는 OCI 테넌시 내에서 가용성 도메인을 검색하는 방법을 보여줍니다.

"""A OCI Python Pulumi program"""

import pulumi

import pulumi_oci as oci

test_availability_domains = oci.identity.get_availability_domains(compartment_id="ocid1.tenancy.oc1..xxxxx")

# Output availability domains

pulumi.export("availability_domain_1", test_availability_domains.availability_domains[0].name)

pulumi.export("availability_domain_2", test_availability_domains.availability_domains[1].name)

pulumi.export("availability_domains_3", test_availability_domains.availability_domains[2].name)

이 코드는 OCI 테넌시에서 가용성 도메인을 인출하고 해당 이름을 출력으로 익스포트하는 방법을 보여줍니다. Pulumi를 사용하여 이 코드를 실행하면 OCI와 상호 작용하여 가용성 도메인을 검색하고 이름을 출력으로 표시합니다. 이렇게 하면 코드가 OCI에서 필요한 정보를 정확하게 검색할 수 있습니다.

작업 6: Pulumi Code를 OCI에 배포

다음 명령을 실행하여 OCI에 리소스를 배치합니다.

pulumi up

작업 7: 명령 출력 확인

배포 후 명령은 Pulumi 프로그램을 실행하고 코드에 정의된 대로 OCI 테넌시 내의 가용성 도메인을 검색합니다.

Pulumi_OCI_Output

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 살펴보거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하십시오. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.