Infograb logo
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가 감사 로그를 저장합니다.

GCP 소개 이미지

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 사용을 권장합니다.

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&region=ibm'
    ...
Tip

teleport start --config=/etc/teleport.yaml -d 로 시작할 때 버킷이 생성되었는지 확인할 수 있습니다.

sudo teleport start --config=/etc/teleport.yaml -d

DEBU [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
Teleport 원문 보기