이 가이드는 우리의 참조 Terraform 코드 와 함께 사용할 수 있도록 설계되었으며, 결과적으로 생성된 Teleport 배포를 관리하는 방법을 설명합니다.
Teleport Enterprise Cloud가 이 설정을 자동으로 처리하므로, 귀하는 즉시 안전한 인프라 접근을 제공할 수 있습니다.
무료 체험으로 Teleport Enterprise Cloud를 시작하세요.
전제 조건
우리의 코드는 Terraform 0.13+를 요구합니다. 여기서 Terraform을 다운로드할 수 있습니다. terraform
이 설치되어 있고 경로에서 사용할 수 있다고 가정하겠습니다.
which terraform/usr/local/bin/terraformterraform versionTerraform v1.5.6
또한 aws
명령줄 도구가 필요합니다. 이는 Ubuntu/Debian/Fedora/CentOS 및 macOS Homebrew에서 awscli
패키지로 제공됩니다.
Fedora/CentOS: yum -y install awscli
Ubuntu/Debian: apt-get -y install awscli
macOS (Homebrew 사용): brew install awscli
가능하면 패키지를 통한 설치가 항상 바람직합니다. 배포판에 사용할 수 있는 패키지를 찾을 수 없는 경우, https://aws.amazon.com/cli/에서 도구를 다운로드할 수도 있습니다.
~/.aws/credentials
에 자격 증명이 있는 AWS cli 액세스가 구성되어 있다고 가정하겠습니다:
cat ~/.aws/credentials[default]
aws_access_key_id = abcd1234-this-is-an-example
aws_secret_access_key = zyxw9876-this-is-an-example
또한 ~/.aws/config
에 기본 지역이 설정되어 있어야 합니다:
cat ~/.aws/config[default]
region = us-west-2
그 결과, aws ec2 describe-instances
와 같은 명령을 실행하여 실행 중인 EC2 인스턴스를 나열할 수 있어야 합니다.
"access denied", "403 Forbidden" 또는 유사한 메시지가 나타나면, aws_access_key_id
및 aws_secret_access_key
가 참조하는 AWS IAM 사용자에게 추가 권한을 부여해야 합니다.
일반적으로 Terraform을 실행하는 사용자는 다음 AWS 서비스에 대한 관리자 수준의 권한이 있다고 가정합니다:
Terraform 배포 자체는 Teleport 인스턴스에서 사용할 새 IAM 역할을 생성하며, 이 역할은 AWS 서비스를 위한 적절한 권한 범위를 제한합니다. 그러나 초기 클러스터 설정은 높은 수준의 AWS 권한을 가진 사용자가 수행해야 합니다.
Terraform 코드 가져오기
먼저 Teleport 리포지토리를 클론하여 시스템에서 사용할 수 있는 Terraform 코드를 가져와야 합니다:
git clone https://github.com/gravitational/teleport -b branch/v16클론 중 'teleport'...
원격: 객체 수 세기: 106, 완료.
원격: 객체 수: 100% (106/106), 완료.
원격: 객체 압축: 100% (95/95), 완료.
원격: 총 61144 (델타 33), 사용 중 35 (델타 11), 패키지 재사용: 61038
객체 수 수신: 100% (61144/61144), 85.17 MiB | 4.66 MiB/s, 완료.
델타 해결: 100% (39141/39141), 완료.
이 작업이 완료되면 Terraform 코드가 체크아웃된 디렉토리로 전환하고 terraform init
을 실행할 수 있습니다:
cd teleport/examples/aws/terraform/ha-autoscale-clusterterraform init
백엔드 초기화 중...
프로바이더 플러그인 초기화 중...- 사용 가능한 프로바이더 플러그인 확인 중...- hashicorp/aws v5.31.0 설치 중...- hashicorp/aws v5.31.0 설치 완료 (HashiCorp에 의해 서명됨)
Terraform이 성공적으로 초기화되었습니다!
이제 Terraform 작업을 시작할 수 있습니다. "terraform plan"을 실행하여 인프라에 필요한 변경 사항을 확인하세요. 모든 Terraform 명령이 이제 작동해야 합니다.
모듈이나 백엔드 구성을 설정하거나 변경하는 경우, 이 명령을 다시 실행하여 작업 디렉토리를 재초기화해야 합니다. 잊어버리면 다른 명령이 이를 감지하고 필요하다면 재초기화하라고 독려할 것입니다.
올바른 Terraform 모듈과 변수를 설정하고 배포를 진행하기 위해 그 후의 예시를 따라가세요.