Windows 시스템에서 Terraform 구성 정보

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

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

Terraform을 실행하기 전에:

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

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

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

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

Terraform 설치

Windows 시스템에 Terraform을 설치하려면 Terraform 웹 사이트에서 해당 패키지를 다운로드합니다.

  1. https://www.terraform.io/downloads.html으로 이동합니다.
  2. 해당 패키지를 로컬 시스템에 다운로드합니다.
  3. 패키지를 C:\Program Files (x86) 폴더에 추출합니다.
    이 경로는 예로 사용됩니다. 그러나 Terraform 실행 파일을 로컬 시스템의 다른 위치에도 적용할 수 있습니다.
  4. Terraform 실행 파일이 있는 폴더를 포함하도록 경로 환경 변수를 업데이트합니다.
    1. Control Panel(제어 패널)로 이동합니다.
    2. 시스템을 누릅니다.
    3. Windows 10 시스템에서 고급 시스템 설정을 누릅니다. 이 옵션은 Windows 버전마다 다를 수 있습니다.
      시스템 속성 창의 고급 탭이 표시됩니다.
    4. 창 아래쪽 근처에 있는 환경 변수를 누릅니다.
      환경 변수 창이 표시됩니다.
    5. 시스템 변수 창에서 경로를 누른 다음 편집을 누릅니다.
    6. New(새로 만들기)를 누릅니다. Terraform 실행 파일이 있는 폴더에 경로를 추가합니다.
    7. 변경 사항을 저장하려면 확인을 누르고 확인을 눌러 환경 변수 창을 종료합니다. 그런 다음 확인을 다시 눌러 시스템 속성 창을 종료합니다.
  5. 설치를 확인하고 버전을 확인하려면 Windows PowerShell을 실행하고 terraform -version을 입력합니다.
    출력에 표시된 Terraform 버전이 표시됩니다. 예: Terraform v0.11.8

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

SSH 키 쌍은 공용 서브넷에서 생성된 인스턴스에 안전하게 액세스할 수 있도록 하는 데 사용됩니다. 로컬 호스트에 SSH 키 쌍을 생성합니다. 그런 다음 Terraform 모듈은 배스천 호스트에 SSH 공개 키를 추가합니다. 공용 인터넷을 통해 배스천 호스트에 연결해야 하는 경우 액세스 인증을 위해 SSH 개인 키를 제공합니다.

PuTTYgen를 사용하여 SSH 키 쌍을 생성할 수 있습니다. SSH 키에 대한 문장암호를 설정하지 마십시오.

  1. PuTTYgen를 시작합니다.
  2. 기본 키 유형 SSH-2 RSA를 적용하고 생성된 키의 비트 수를 2048로 설정합니다(아직 설정되지 않은 경우).
  3. 생성을 누른 다음 마우스를 빈 영역 주위로 이동하여 무작위성을 생성합니다.
    키가 생성되고 해당 값이 OpenSSH authorized_keys 파일에 붙여넣기 위한 공용 키 아래에 나타납니다.
  4. Save Private Key를 누릅니다. 문장암호 없이 키를 저장할 것인지 확인하는 메시지가 표시됩니다. 를 누릅니다. 이 키는 모든 위치에 저장할 수 있지만, 간단히 Terraform 모듈이 있는 동일한 폴더에 저장할 수 있습니다.
  5. 그런 다음, 공개 키를 저장하려면 OpenSSH authorized_keys 파일 필드에 붙여넣기를 위해 2공용 키2에 표시되는 생성된 키를 모두 선택하고 복사하여 텍스트 파일에 붙여넣습니다. 이 파일을 전용 키와 동일한 위치에 저장합니다. 공용 키 저장 단추는 키를 OpenSSH 형식으로 저장하지 않으므로 사용하지 마십시오.
이제 SSH 키 쌍을 생성하여 로컬 시스템에 저장했습니다. 이 키 쌍이 저장된 위치를 기록해 두십시오.

SSH 키 쌍을 생성하여 다른 인스턴스에 액세스

배스천 호스트는 공용 IP 주소가 없고 공용 인터넷을 통한 액세스를 허용하지 않는 다른 인스턴스로 SSH 전달을 사용으로 설정하는 데 사용됩니다. 배스천 호스트에서 다른 인스턴스에 안전하게 액세스하려면 전용 서브넷의 인스턴스에 저장된 공용 키가 로컬 시스템에 저장된 전용 키와 일치하는 SSH 키 쌍을 사용합니다.

배스천 호스트에서 다른 인스턴스로 액세스를 사용으로 설정하는 데 사용되는 SSH 키 쌍은 OpenSSL 또는 ssh-keygen.와 같은 유틸리티를 사용하여 생성해야 합니다. PuTTY에서 사용되는 .ppk 형식은 Oracle Linux 또는 다른 UNIX와 유사한 운영체제에서 지원되지 않으므로 Windows에서 생성된 SSH 키 쌍을 사용할 수 없습니다. SSH 트래픽을 다른 인스턴스로 전달하는 배스천 호스트는 Oracle Linux 이미지를 사용합니다.

  1. Git Bash를 시작합니다.
  2. Enter: 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 키 쌍이 생성되어 지정한 위치에 저장됩니다. 이 위치를 기록해 두십시오.

API 서명 키 생성

Oracle Cloud Infrastructure로 Terraform 스크립트를 인증하려면 PEM(Privacy Enhanced Mail) 형식으로 RSA 키 쌍을 제공해야 합니다. 이 API 서명 키는 인스턴스에 액세스하는 데 사용하는 SSH 키 쌍과 동일하지 않습니다. Git Bash의 OpenSSL를 사용하여 이 키 쌍을 생성할 수 있습니다. 로컬 시스템에 Git Bash를 이미 설치했습니다.

  1. Git Bash를 시작합니다.
  2. 숨겨진 폴더를 생성하여 PEM 키를 저장합니다. 모든 위치에 PEM 키를 저장할 수 있지만 간단히 이 폴더를 Terraform 모듈이 있는 폴더 아래에 만듭니다. 키 쌍을 저장한 위치를 기록해 두십시오. 해당 위치로 이동하고 mkdir ./.oci을 입력합니다.
  3. API 서명 키를 생성하려면 openssl genrsa -out ./.oci/key_name.pem 2048를 입력합니다.
  4. 전용 키만 읽을 수 있도록 전용 키에 대한 권한을 변경합니다. chmod go-rwx ./.oci/key_name.pem을 입력합니다.
  5. 그런 다음 제공된 개인 키에 대한 공개 키를 생성하려면 openssl rsa -pubout -in ./.oci/key_name.pem -out ./.oci/key_name_public.pem를 입력합니다.
공용 및 전용 API 서명 키는 지정된 폴더에 저장됩니다.

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

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

  1. Oracle Cloud Infrastructure 콘솔에 사인인합니다.
  2. ID를 누른 다음 사용자를 누릅니다.
  3. API 서명 키를 추가할 사용자를 누릅니다.
  4. 사용자 세부정보 페이지에서 공용 키 추가를 누릅니다.
  5. 로컬 시스템에서 Git Bash를 실행합니다. API 서명 키 쌍을 저장한 폴더로 이동합니다.
  6. 공용 키를 복사하려면 다음을 입력합니다. cat ./key_name_public.pem. 공용 키 값이 표시됩니다. -----BEGIN PUBLIC KEY----------END PUBLIC KEY-----. 라인을 포함하여 이 값을 복사합니다.
  7. 콘솔에서 공용 키 값을 붙여 넣고 추가를 누릅니다.