기반 구조 리소스 프로비전을 준비합니다.

Terraform를 설치하고 필요한 키를 생성하여 Oracle Cloud에 인프라 리소스를 생성합니다.

시작하기 전에

Oracle Cloud Infrastructure에서 리소스 생성을 시작하기 전에 다음 사항을 확인하십시오.

  • Oracle Cloud 테넌시에 대한 인증서입니다.

  • 구획으로, 리소스를 생성 및 관리할 수 있는 권한을 가집니다.
  • 다음 소프트웨어를 포함하고 인터넷에 액세스하는 컴퓨터입니다.

    • API 서명 키를 생성하기 위한 유틸리티입니다.

      대부분의 Unix 유사 시스템에는 openssl이 있습니다. Windows에서 Git Bash를 사용할 수 있습니다.

    • SSH 키 쌍을 생성하기 위한 유틸리티입니다.

      대부분의 Unix 유사 시스템에는 ssh-keygen이 있습니다. Windows에서 PuTTY를 사용할 수 있습니다.

    • 웹 브라우저입니다.

  • Terraform에 대한 기본 지식

    최소한 https://www.terraform.io/intro/에서 소개를 읽어보십시오.

할당영역 설치

Terragrunt은 Terraform 모듈을 효율적으로 적용 및 관리하기 위한 타사 툴입니다. Terraform를 사용하여 개별적으로 모듈을 적용하는 대신 단일 Terragrunt 작업을 사용하여 모든 모듈에 정의된 리소스를 올바른 순서로 배치할 수 있습니다.

Terragrunt 다운로드 및 설치를 수행하려면 https://github.com/gruntwork-io/terragrunt#install-terragrunt의 지침을 따르십시오.

주:

brew를 사용하여 Linux 또는 macOS에 Terragrunt를 설치하면 Terraform가 종속성 중 하나로 자동 설치됩니다. Terraform를 설치할 필요가 없습니다.

Terraform 설치

Oracle Linux를 포함한 unix 유사 또는 Linux 시스템에서는 운영 체제용 Terraform 패키지를 다운로드하고 추출하여 Terraform를 설치할 수 있습니다.

  1. https://www.terraform.io/downloads.html으로 이동합니다.
  2. 운영체제에 따라 적합한 패키지를 다운로드합니다.
  3. 패키지를 /usr/local/bin/ 경로로 추출합니다.
    Terraform을 로컬 호스트의 다른 디렉토리로 추출할 수 있습니다. 디렉토리가 PATH 변수에 포함되어 있는지 확인합니다.
    Terraform가 설치되고 사용할 준비가 되었습니다.
  4. 설치를 확인합니다.
    terraform -v

    다음 예와 같이 Terraform 버전이 표시됩니다.

    Terraform v0.12.18

API 서명 키 생성

Terraform에서 Oracle Cloud Infrastructure를 인증하도록 하려면 RSA 키를 권한 향상된 메일(PEM) 형식으로 제공해야 합니다. 이 키는 컴퓨트 인스턴스 액세스에 사용하는 SSH 키와 동일하지 않습니다.

OpenSSL를 사용하여 API 서명 키를 생성할 수 있습니다.
  1. 홈 디렉토리에 숨겨진 하위 디렉토리를 생성하여 PEM 키를 저장합니다.
    mkdir ~/.oci
  2. 개인 키(크기: 2048비트 이상) 를 생성합니다.
    openssl genrsa -out ~/.oci/oci_api_key.pem 2048
  3. 전용 키 파일의 권한을 변경하여 해당 사용자만 키를 읽을 수 있도록 합니다.
    chmod go-rwx ~/.oci/oci_api_key.pem
  4. 전용 키에 대한 공용 키를 생성합니다.
    openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem

API 서명 키 업로드

API 서명 키를 생성한 후 Oracle Cloud Infrastructure에서 적합한 사용자에 대한 공용 키를 업로드합니다.

  1. Oracle Cloud Infrastructure 웹 콘솔에 사인인합니다.
  2. 서비스 메뉴에서 Id를 선택한 다음 사용자 를 선택합니다.
  3. 사용자 페이지에서 Terraform 구성에 지정할 사용자를 누릅니다.
  4. 사용자 세부 정보 페이지에서 공용 키 추가 를 누릅니다.
  5. ~/.oci/oci_api_key_public.pem 파일에서 공용 키 값을 복사하고 PUBLIC KEY 필드에 붙여 넣습니다.
  6. 추가 를 누릅니다.
    키가 업로드되고 지문이 표시됩니다.
  7. 지문을 복사합니다. 나중에 필요합니다.

Bastion 호스트에 대한 SSH 키 쌍 생성

SSH 키 쌍은 인스턴스에 대한 보안 액세스를 사용으로 설정하는 데 사용됩니다. 로컬 호스트에서 키 쌍을 생성합니다. 그런 다음 Terraform 모듈이 기본 호스트에 공용 키를 추가합니다. 기본 호스트에 접속할 때 액세스 인증을 위한 전용 키를 제공합니다.

  • ssh-keygen 유틸리티를 사용하고 SSH 키 쌍을 생성합니다. 키 쌍에 문장암호를 설정하지 마십시오.
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa: RSA 알고리즘을 사용하여 키 쌍을 생성하도록 지정합니다.

    • -N "": 이 키 쌍과 연관시킬 문장암호를 지정합니다. 따옴표 사이에 아무 것도 입력하지 마십시오. 문장암호 없이 키 쌍을 만듭니다.

    • -b 2048: 2048비트 키를 생성하도록 지정합니다. 이 값은 기본값이며 권장되는 최소값입니다.

    • -C "key_name": 키 쌍의 이름을 지정합니다.

    • -f path/root_name: 키 쌍이 저장되는 디렉토리와 공개 및 개인 키의 루트 이름을 지정합니다. 공개 키에는 루트 이름에 .pub가 추가됩니다.

SSH 키 쌍이 생성되고 지정된 디렉토리에 저장됩니다. 키 파일의 전체 경로와 이름을 기록해 둡니다.

전용 인스턴스에 대한 SSH 키 쌍 생성

기본 사항 호스트는 공용 IP 주소가 없는 인스턴스에 SSH 전달을 사용으로 설정합니다. 기본 사항 호스트를 통해 안전하게 이러한 전용 인스턴스에 액세스하려면 SSH 키 쌍을 사용합니다. 보안 모범 사례로 이 키 쌍은 기본 호스트에 사용하는 키 쌍과 동일하면 안됩니다.

  • ssh-keygen 유틸리티를 사용하고 SSH 키 쌍을 생성합니다. 키 쌍에 문장암호를 설정하지 마십시오.
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa: RSA 알고리즘을 사용하여 키 쌍을 생성하도록 지정합니다.

    • -N "": 이 키 쌍과 연관시킬 문장암호를 지정합니다. 따옴표 사이에 아무 것도 입력하지 마십시오. 문장암호 없이 키 쌍을 만듭니다.

    • -b 2048: 2048비트 키를 생성하도록 지정합니다. 이 값은 기본값이며 권장되는 최소값입니다.

    • -C "key_name": 키 쌍의 이름을 지정합니다.

    • -f path/root_name: 키 쌍이 저장되는 디렉토리와 공개 및 개인 키의 루트 이름을 지정합니다. 공개 키에는 루트 이름에 .pub가 추가됩니다.

SSH 키 쌍이 생성되고 지정된 디렉토리에 저장됩니다. 키 파일의 전체 경로와 이름을 기록해 둡니다.