teleport_server Terraform 리소스 참조
이 페이지는 Teleport Terraform 프로바이더의 teleport_server 리소스에서 지원되는 값을 설명합니다.
사용 예시#
resource "teleport_server" "ssh_agentless" {
version = "v2"
sub_kind = "openssh"
// Name is not required for servers, this is a special case.
// When a name is not set, an UUID will be generated by Teleport and
// imported back into Terraform.
// Giving unique IDs to servers allows UUID-based dialing (as opposed to
// host-based dialing and IP-based dialing) which is more robust than its
// counterparts as it can point to a specific server if multiple servers
// share the same hostname/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 = {
// It is recommended to put the account and instance ID as a name for EC2 Instance Connect
// When dialing to this instance, teleport will detect that this is an
// AWS instance ID an will contact this specific instance. This is more
// robust than host-based and IP-based dialing (because several server
// can have similar hostnames).
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는 리소스 메타데이터입니다. (아래 중첩 스키마 참조)scope(문자열) 서버의 광고된 범위로, 한번 할당되면 변경할 수 없습니다.spec(속성) Spec은 서버 스펙입니다. (아래 중첩 스키마 참조)
metadata에 대한 중첩 스키마#
선택:
description(문자열) Description은 객체 설명입니다.expires(문자열) Expires는 시스템의 모든 리소스에 설정할 수 있는 전역 만료 시간 헤더입니다.labels(문자열 맵) Labels는 레이블 세트입니다.name(문자열) Name은 객체 이름입니다.
spec에 대한 중첩 스키마#
선택:
addr(문자열) Addr는 이 서버에 도달할 수 있는 host:port 주소입니다.cloud_metadata(속성) CloudMetadata는 서버가 실행되는 클라우드 인스턴스에 대한 정보를 포함합니다(있는 경우). (아래 중첩 스키마 참조)github(속성) GitHub는 각 서버가 GitHub 조직을 나타내는 GitHub 프록시에 대한 정보를 포함합니다. (아래 중첩 스키마 참조)hostname(문자열) Hostname은 서버 호스트 이름입니다.immutable_labels(문자열 맵) 참여 시 서버에 할당된 변경 불가 레이블입니다. 이 레이블의 해시는 서버 인증서에 포함된 해시와 일치해야 합니다.peer_addr(문자열) PeerAddr는 피어 프록시가 프록시 서버에 도달할 수 있는 주소입니다.proxy_ids(문자열 목록) ProxyIDs는 이 서버가 연결될 것으로 예상되는 프록시 ID 목록입니다.public_addrs(문자열 목록) PublicAddrs는 이 서버에 도달할 수 있는 공개 주소 목록입니다.relay_group(문자열) 서버가 연결된 Relay 그룹의 이름입니다.relay_ids(문자열 목록) 서버가 연결된 Relay 호스트 ID 목록입니다.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 Instance Connect Endpoint)가 포함됩니다.region(문자열) Region은 AWS EC2 인스턴스 지역입니다.subnet_id(문자열) SubnetID는 인스턴스에서 사용 중인 서브넷 ID입니다.vpc_id(문자열) VPCID는 인스턴스가 실행되는 AWS VPC ID입니다.
spec.github에 대한 중첩 스키마#
선택:
integration(문자열) Integration은 이 서버와 연결된 통합입니다.organization(문자열) Organization은 GitHub 통합을 위한 조직 이름을 지정합니다.
spec.rotation에 대한 중첩 스키마#
선택:
current_id(문자열) CurrentID는 교체 시도를 구분하기 위한 교체 작업의 ID입니다.grace_period(문자열) GracePeriod는 확인 목적으로 이전 CA와 새 CA가 모두 유효하지만 새 CA만 인증서를 발행하는 기간입니다.last_rotated(문자열) LastRotated는 완료된 교체의 마지막 시간을 지정합니다.mode(문자열) Mode는 수동 또는 자동 교체 모드를 설정합니다.phase(문자열) Phase는 현재 교체 단계입니다.schedule(속성) Schedule은 교체 스케줄입니다. 자동 모드에서 단계 전환에 사용됩니다. (아래 중첩 스키마 참조)started(문자열) Started는 교체 상태가 "in_progress"인 경우 교체가 시작된 시간으로 설정됩니다.state(문자열) State는 "init" 또는 "in_progress" 중 하나일 수 있습니다.
spec.rotation.schedule에 대한 중첩 스키마#
선택:
standby(문자열) Standby는 "Standby" 단계로 전환할 시간을 지정합니다.update_clients(문자열) UpdateClients는 "클라이언트 업데이트" 단계로 전환할 시간을 지정합니다.update_servers(문자열) UpdateServers는 "서버 업데이트" 단계로 전환할 시간을 지정합니다.
