인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
IBM Cloud에서 Teleport 실행
고객에게 Teleport 사용 방법에 대한 개요를 제공하기 위해 이 가이드를 작성했습니다.
IBM Cloud에서 Teleport를 설정하고 운영하는 방법에 대한 고급 소개를 제공합니다.
이 가이드는 다음과 같이 나누어져 있습니다:
Tip
Teleport Enterprise Cloud는 이 설정을 자동으로 처리하므로 즉시 인프라에 대한 안전한 액세스를 제공할 수 있습니다.
Teleport Enterprise Cloud의 무료 평가판으로 시작하세요.
IBM Cloud에서의 Teleport FAQ
IBM Cloud에서 Teleport를 사용하려는 이유는 무엇인가요?
Teleport는 방해받지 않는 클라우드 네이티브 인프라를 위한 특권 액세스 관리를 제공합니다. 정보 보안 및 시스템 엔지니어는 인프라에 대한 액세스를 안전하게 하고, 규정 준수 요건을 충족하며, 운영 오버헤드를 줄이고, 액세스 및 행동에 대한 완전한 가시성을 확보할 수 있습니다.
IBM과 함께 Teleport를 사용하면 IBM Cloud와 Softlayer 인프라에 대한 모든 액세스를 쉽게 통합할 수 있습니다.
어떤 서비스와 함께 Teleport를 사용할 수 있나요?
SSH로 액세스할 수 있는 모든 서비스에서 Teleport를 사용할 수 있습니다. 이 가이드는 IBM Cloud에 초점을 맞추고 있습니다.
IBM Cloud Kubernetes Service와 함께 Teleport를 사용하는 것을 포함하도록 가이드를 확장할 계획입니다.
IBM Teleport 소개
이 가이드는 IBM Cloud에서 Teleport를 설정하고 구성하며 실행하는 방법을 다룰 것입니다.
고가용성에서 Teleport를 실행하기 위해 필요한 IBM 서비스:
필요한 기타 사항:
고가용성 모드(HA)에서 Teleport 설정을 권장합니다. 고가용성 모드에서는 etcd가 시스템 상태를 저장하고 IBM Cloud Storage가 감사 로그를 저장합니다.
IBM Cloud: 인스턴스 그룹을 포함한 가상 서버
우리는 Gen 2 Cloud IBM 가상 서버와 자동 스케일링을 권장합니다.
- 스테이징 및 POC의 경우, 2 vCPU, 4GB RAM, 4 Gbps의
bx2-2x8
기계를 사용하는 것을 권장합니다. - 프로덕션의 경우, 4 vCPU, 8 GB RAM, 8 Gbps의
cx2-4x8
을 추천합니다.
스토리지: etcd용 데이터베이스
IBM은 관리형 etcd 인스턴스를 제공합니다.
Teleport는 etcd를 확장 가능한 데이터베이스로 사용하여 고가용성을 유지하고 원활한 재시작을 제공합니다. 이 서비스를 IBM Cloud 대시보드에서 활성화해야 합니다.
계획된 Teleport 클러스터와 동일한 지역의 etcd 인스턴스를 선택하는 것을 권장합니다.
- 배포 지역: Teleport 클러스터의 나머지와 동일
- 초기 메모리 할당: 2GB/멤버 (총 6GB)
- 초기 디스크 할당: 20GB/멤버 (총 60GB)
- CPU 할당: 공유
- etcd 버전: 3.3
자격 증명 저장
teleport:
storage:
type: etcd
# 연결할 etcd 피어 목록:
# IBM 예제 호스트 및 포트를 보여줍니다.
peers:
[
"https://a9e977c0-224a-40bb-af51-21893b8fde79.b2b5a92ee2df47d58bad0fa448c15585.databases.appdomain.cloud:30359",
]
# 선택적 비밀번호 기반 인증
# 새 사용자를 설정하는 방법에 대해서는 https://etcd.io/docs/v3.4.0/op-guide/authentication/ 를 참조하십시오.
# IBM 기본값은 `root` 입니다.
username: "root"
# 비밀번호 파일은 비밀번호만 포함해야 합니다.
password_file: "/var/lib/etcd-pass"
# TLS 인증서 이름, 개요의 파일 내용과 함께
tls_ca_file: "/var/lib/teleport/797cfsdf23e-4027-11e9-a020-42025ffb08c8.pem"
# teleport이 상태를 저장할 etcd 키(위치).
# 반드시 '/' 로 끝나야 합니다!
prefix: "/teleport/"
스토리지: IBM Cloud Object Storage
Teleport 기록 세션을 저장하기 위해 IBM Cloud Object Storage 사용을 권장합니다.
- 새 Object Storage 리소스 만들기. IBM 카탈로그 - Object Storage 빠른 링크
- 새 버킷을 생성합니다.
- HMAC 자격 증명 설정
- 감사 세션 URI 업데이트:
audit_sessions_uri: 's3://BUCKET-NAME/readonly/records?endpoint=s3.us-east.cloud-object-storage.appdomain.cloud®ion=ibm'
audit_sessions_uri
를 설정할 때 s3://
세션 접두사를 사용하십시오.
자격 증명은 ~/.aws/credentials
에서 사용되며 HMAC 옵션으로 생성해야 합니다:
{
"apikey": "LU9VCDf4dDzj1wjt0Q-BHaa2VEM7I53_3lPff50d_uv3",
"cos_hmac_keys": {
"access_key_id": "e668d66374e141668ef0089f43bc879e",
"secret_access_key": "d8762b57f61d5dd524ccd49c7d44861ceab098d217d05836"
},
"endpoints": "https://control.cloud-object-storage.cloud.ibm.com/v2/endpoints",
"iam_apikey_description": "키 e668d663-74e1-4166-8ef0-089f43bc879e에 대해 자동 생성됨",
"iam_apikey_name": "서비스 자격 증명-1",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
"iam_serviceid_crn": "crn:v1:bluemix:public:iam-identity::a/0328d127d04047548c9d4bedcd24b85e::serviceid:ServiceId-c7ee0ee9-ea74-467f-a49e-ef60f6b27a71",
"resource_instance_id": "crn:v1:bluemix:public:cloud-object-storage:global:a/0328d127d04047548c9d4bedcd24b85e:32049c3c-207e-4731-8b8a-53bf3b4844e7::"
}
이 설정을 ~/.aws/credentials
에 저장하십시오.
# ~/.aws/credentials에 저장할 예제 서비스 계정의 예제 키
[default]
aws_access_key_id="abcd1234-this-is-an-example"
aws_secret_access_key="zyxw9876-this-is-an-example"
예제 /etc/teleport.yaml
...
storage:
...
# 참고
#
# endpoint=s3.us-east.cloud-object-storage.appdomain.cloud | 이 URL은
# 버킷이 생성된 지역에 따라 다릅니다. 공용
# 엔드포인트를 사용하십시오.
#
# region=ibm | 항상 IBM으로 설정해야 합니다.
audit_sessions_uri: 's3://BUCKETNAME/readonly/records?endpoint=s3.us-east.cloud-object-storage.appdomain.cloud®ion=ibm'
...
Tip
teleport start --config=/etc/teleport.yaml -d
로 시작할 때 버킷이
생성되었는지 확인할 수 있습니다.
sudo teleport start --config=/etc/teleport.yaml -dDEBU [SQLITE] Connected to: file:/var/lib/teleport/proc/sqlite.db?_busy_timeout=10000&_sync=OFF, poll stream period: 1s lite/lite.go:173
DEBU [SQLITE] Synchronous: 0, busy timeout: 10000 lite/lite.go:220
DEBU [KEYGEN] SSH cert authority is going to pre-compute 25 keys. native/native.go:104
DEBU [PROC:1] Using etcd backend. service/service.go:2309
INFO [S3] Setting up bucket "ben-teleport-test-cos-standard-b98", sessions path "/readonly/records" in region "ibm". s3sessions/s3handler.go:143
INFO [S3] Setup bucket "ben-teleport-test-cos-standard-b98" completed. duration:356.958618ms s3sessions/s3handler.go:147
네트워크: IBM Cloud DNS 서비스
Teleport Proxy의 공용 주소로 IBM Cloud DNS 사용을 추천합니다.
# 클러스터 사용자가 액세스할 수 있는 프록시 HTTPS 엔드포인트의 DNS 이름.
# 지정하지 않으면 프록시의 호스트 이름으로 기본 설정됩니다. 여러
# 프록시를 로드 밸런서 뒤에서 실행하는 경우 이 이름은 로드 밸런서를 가리켜야 합니다.
# (아래 public_addr 섹션 참조)
public_addr: proxy.example.com:3080