Infograb logo
Terraform으로 Teleport 리소스 가져오기

이 가이드는 기존의 동적 Teleport 리소스를 Terraform 리소스로 가져오는 방법을 보여줍니다.

tctl 또는 Kubernetes Operator와 같은 다른 클라이언트 도구를 사용하여 이미 Teleport 리소스를 생성했으며, Terraform 구성을 사용하여 모든 Teleport 리소스를 관리하려는 경우, 기존 Teleport 리소스를 나타내는 resource 블록이 포함된 .tf 파일을 생성하는 다음 단계를 따르십시오.

모든 Teleport 리소스를 한 곳에서 정의함으로써 클러스터 구성이 기대에 맞게 일치하도록 도울 수 있습니다.

1/3단계. import 블록 추가

  1. 작업 공간에서 루트 Teleport Terraform 모듈로 이동합니다.

  2. Terraform 가져오기를 구성하기 위해 텍스트 편집기에서 파일을 엽니다. 구성을 깔끔하게 유지하기 위해 imports.tf 라는 새 파일을 엽니다.

  3. imports.tfimport 블록을 추가합니다. to 필드를 사용하여 Terraform에서 구성을 생성할 리소스의 이름을 지정합니다. 다음 예제는 myrole 이라는 Teleport 역할을 가져옵니다:

    import {
      to = teleport_role.myrole
    }
    

2/3단계. 리소스의 ID 가져오기

  1. 리소스의 ID를 가져옵니다. 사용할 방법은 리소스 유형에 따라 다릅니다. 다음 규칙을 사용하십시오:

    리소스가 teleport_provision_token 인 경우, ID는 리소스의 metadata.id 입니다.

    리소스가 단일 인스턴스만 가질 수 있는 경우, teleport 접두사를 제외한 리소스 유형의 이름을 사용합니다. 예를 들면:

    리소스ID
    teleport_cluster_maintenance_configcluster_maintenance_config
    teleport_cluster_networking_configcluster_networking_config

    다른 모든 리소스의 경우, ID는 항상 리소스의 metadata.name 입니다.

    예를 들어, teleport_role 리소스는 역할의 metadata.name 필드를 ID로 사용합니다. 가능한 모든 역할 ID를 찾으려면 다음 명령을 실행하십시오:

    tctl get roles --format json | jq '.[].metadata.name'
  2. import 블록에서 이전에 가져온 리소스 ID에 id 필드를 할당합니다. 예를 들어, metadata.namemyrole 인 Teleport 역할을 가져오려면 다음을 추가하십시오:

      import {
        to = teleport_role.myrole
    +   id = "myrole"
      }
    

3/3단계. 구성 파일 생성

  1. 리소스 구성을 생성합니다.

    terraform plan -generate-config-out=imported-resources.tf
  2. 결과 파일 imported-resources.tf 를 검토합니다. 새 resource 블록이 올바르게 표시되면 파일을 소스 제어에 체크인할 수 있습니다.

다음 단계

Teleport 원문 보기