UNIX 유사 시스템에서 Terraform 구성 정보

Terraform을 사용하여 Oracle Cloud Infrastructure 구성 요소를 생성하려면 Terraform을 다운로드하여 설치해야 합니다. 또한 필요한 인프라 구성요소를 생성할 구성 파일을 생성하는 Terraform 모듈을 다운로드합니다.

Terraform을 설치하고 Teraform 모듈을 저장하는 시스템은 온프레미스 또는 클라우드에 있을 수 있습니다. 편의를 위해 이 시스템을 로컬 시스템 또는 로컬 호스트라고 합니다.

Terraform을 실행하기 전에:

  • 컴퓨트 인스턴스에 액세스할 수 있도록 사용된 SSH 키 쌍을 생성합니다.

  • Terraform이 수행한 API 호출을 인증하는 데 사용되는 API 서명 키를 생성합니다.

  • 액세스 인증 및 계획 실행을 위해 Terraform에서 사용하는 환경 변수 설정

이 단계를 완료하면 Terraform 구성 파일을 적용하여 Oracle Cloud Infrastructure에서 인프라 구성요소를 생성할 준비가 된 것입니다.

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

SSH 키 쌍을 생성하여 배스천 호스트에 액세스

SSH를 사용하여 Oracle Cloud의 컴퓨트 인스턴스에 안전하게 접근할 수 있습니다. 로컬 호스트에서 SSH 키 쌍을 생성합니다. SSH 공용 키를 생성하는 동안 배스천 호스트에 추가합니다. SSH를 사용하여 배스천 호스트에 연결할 경우 액세스 인증을 위해 개인 키를 제공합니다.

ssh-keygen 유틸리티를 사용하여 SSH 키 쌍을 생성합니다. 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 키 쌍을 생성하려면 로컬 호스트에서 ssh-keygen를 사용하십시오.

SSH 키를 저장하는 위치를 기록해 둡니다.

API 서명 키 생성

Terraform이 Oracle Cloud Infrastructure로 인증할 수 있도록 PEM(개인 정보 개선 메일) 형식의 RSA 키 쌍을 제공해야 합니다. 이 API 서명 키는 인스턴스에 액세스하는 데 사용하는 SSH 키 쌍과 동일하지 않습니다. OpenSSL를 사용하여 API 서명 키를 생성할 수 있습니다.

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

위치를 기록해 둡니다.

콘솔을 사용하여 API 서명 키 업로드

API 서명 키를 생성한 후에는 Oracle Cloud Infrastructure에서 관련 사용자에 대한 공용 키를 업로드해야 합니다. API 서명 키를 처음 업로드할 때 웹 콘솔을 사용해야 합니다. 이어서 API를 사용하여 API 키를 업로드할 수도 있습니다.

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