Infograb logo
teleport_server Terraform 리소스 참조

사용 예제

resource "teleport_server" "ssh_agentless" {
  version  = "v2"
  sub_kind = "openssh"
  // 서버에는 이름이 필요하지 않습니다. 이것은 특별한 경우입니다.
  // 이름이 설정되지 않으면 Teleport가 UUID를 생성하고
  // Terraform으로 다시 가져옵니다.
  // 서버에 고유한 ID를 부여하면 UUID 기반 다이얼링(호스트 기반 다이얼링 및 IP 기반 다이얼링보다 더 강력함)을 통해
  // 여러 서버가 동일한 호스트 이름/IP를 공유할 때 특정 서버를 지목할 수 있습니다.
  spec = {
    addr     = "127.0.0.1:22"
    hostname = "test.local"
  }
}

resource "teleport_server" "ssh_agentless_eice" {
  version  = "v2"
  sub_kind = "openssh-ec2-ice"
  metadata = {
    // EC2 Instance Connect의 이름으로 계정 및 인스턴스 ID를 설정하는 것이 권장됩니다.
    // 이 인스턴스에 다이얼할 때, teleport는 이것이
    // AWS 인스턴스 ID임을 감지하고 이 특정 인스턴스에 연락합니다. 이는
    // 여러 서버가 유사한 호스트 이름을 가질 수 있기 때문에
    // 호스트 기반 및 IP 기반 다이얼링보다 더 강력합니다.
    name = "123456789012-i-0123456789abcdef"
  }
  spec = {
    addr     = "127.0.0.1:22"
    hostname = "test.local"

    cloud_metadata = {
      aws = {
        account_id  = "123"
        instance_id = "123"
        region      = "us-east-1"
        vpc_id      = "123"
        integration = "foo"
        subnet_id   = "123"
      }
    }
  }
}

스키마

필수

  • sub_kind (문자열) SubKind는 일부 리소스에서 사용되는 선택적 리소스 하위 종류입니다.
  • version (문자열) Version은 버전입니다.

선택 사항

  • metadata (속성) Metadata는 리소스 메타데이터입니다 (아래의 중첩 스키마를 참조하십시오)
  • spec (속성) Spec는 서버 스펙입니다 (아래의 중첩 스키마를 참조하십시오)

metadata 에 대한 중첩 스키마

선택 사항:

  • description (문자열) Description은 객체 설명입니다.
  • expires (문자열) Expires는 시스템 내의 모든 리소스에 설정할 수 있는 글로벌 만료 시간 헤더입니다.
  • labels (문자열의 맵) Labels는 레이블 집합입니다.
  • name (문자열) Name은 객체 이름입니다.

spec 에 대한 중첩 스키마

선택 사항:

  • addr (문자열) Addr는 이 서버에 도달할 수 있는 호스트:포트 주소입니다.
  • cloud_metadata (속성) CloudMetadata는 서버가 실행 중인 클라우드 인스턴스에 대한 정보를 포함합니다 (아래의 중첩 스키마를 참조하십시오).
  • hostname (문자열) Hostname은 서버 호스트 이름입니다.
  • peer_addr (문자열) PeerAddr는 피어 프록시가 접근할 수 있는 프록시 서버의 주소입니다.
  • proxy_ids (문자열 목록) ProxyIDs는 이 서버가 연결될 것으로 예상되는 프록시 ID 목록입니다.
  • public_addrs (문자열 목록) PublicAddrs는 이 서버에 도달할 수 있는 공용 주소 목록입니다.
  • rotation (속성) Rotation은 서버 회전을 지정합니다 (아래의 중첩 스키마를 참조하십시오).
  • use_tunnel (부울) UseTunnel은 이 서버에 대한 연결이 역 터널을 통해 수행되어야 함을 나타냅니다.
  • version (문자열) TeleportVersion은 서버가 실행 중인 teleport 버전입니다.

spec.cloud_metadata 에 대한 중첩 스키마

선택 사항:

  • aws (속성) AWSInfo는 EC2 인스턴스와 일치하는 속성을 포함합니다. (중첩 스키마에 대해서는 아래 참조)

spec.cloud_metadata.aws 에 대한 중첩 스키마

선택 사항:

  • account_id (문자열) AccountID는 AWS 계정 ID입니다.
  • instance_id (문자열) InstanceID는 EC2 인스턴스 ID입니다.
  • integration (문자열) Integration은 이 노드를 추가한 통합 이름입니다. 연결할 때 이를 사용하여 AWS API 호출을 발행하여 연결을 설정합니다. 여기에는 SSH 키 전송과 Teleport가 연결할 수 있도록 하는 터널(EC2 인스턴스 연결 엔드포인트)을 여는 작업이 포함됩니다.
  • region (문자열) Region은 AWS EC2 인스턴스 리전입니다.
  • subnet_id (문자열) SubnetID는 인스턴스에서 사용하는 서브넷 ID입니다.
  • vpc_id (문자열) VPCID는 인스턴스가 실행 중인 AWS VPC ID입니다.

spec.rotation 에 대한 중첩 스키마

선택 사항:

  • current_id (문자열) CurrentID는 회전 작업의 ID로, 회전 시도를 구분하는 데 사용됩니다.
  • grace_period (문자열) GracePeriod는 이전과 새로운 CA가 확인 목적으로 유효한 기간이며, 오직 새로운 CA만 인증서를 발급합니다.
  • last_rotated (문자열) LastRotated는 완료된 회전의 마지막 시간을 지정합니다.
  • mode (문자열) Mode는 수동 또는 자동 회전 모드를 설정합니다.
  • phase (문자열) Phase는 현재 회전 단계입니다.
  • schedule (속성) Schedule은 회전 일정을 나타내며 - 자동 모드에서 단계 간 전환에 사용됩니다. (중첩 스키마에 대해서는 아래 참조)
  • started (문자열) Started는 회전 상태가 "진행 중"일 경우 회전이 시작된 시간을 설정합니다.
  • state (문자열) State는 "init" 또는 "in_progress" 중 하나일 수 있습니다.

spec.rotation.schedule 에 대한 중첩 스키마

선택 사항:

  • standby (문자열) Standby는 "Standby" 단계로 전환할 시간을 지정합니다.
  • update_clients (문자열) UpdateClients는 "클라이언트 업데이트" 단계로 전환할 시간을 지정합니다.
  • update_servers (문자열) UpdateServers는 "서버 업데이트" 단계로 전환할 시간을 지정합니다.
Teleport 원문 보기