Consul 에이전트 구성 파일의 서비스 메시 매개변수

Consul 에이전트 구성 파일의 서비스 메시 매개변수 (Service mesh parameters for Consul agent configuration files)

Consul 에이전트 구성 파일에 있는 서비스 메시 관련 매개변수에 대한 참조 정보를 제공해요.

출처: 문서

본문

이 페이지는 Consul 에이전트 구성 파일의 서비스 메시 매개변수에 대한 참조 정보를 제공합니다.

서비스 메시 매개변수 (Service Mesh Parameters)

이 문서 전체에서 connect 명사는 Consul의 서비스 메시 기능을 제공하는 connect 서브시스템을 가리키는 데 사용됩니다.

  • connect — 이 객체는 Connect 기능에 대한 옵션을 설정할 수 있게 합니다. 사용 가능한 하위 키는 다음과 같습니다.
    • enabled (기본값 true) — 이 에이전트에서 Connect 기능이 활성화되는지 제어합니다. 서비스 메시가 제대로 작동하려면 클러스터의 모든 서버에서 활성화해야 합니다. auto_config.enabled 또는 auto_encrypt.allow_tls가 true이면 자동으로 true로 설정됩니다.
    • enable_mesh_gateway_wan_federation (기본값 false) — 서버 간의 데이터센터 간 페더레이션 트래픽이 메시 게이트웨이를 통해 전달되는지 제어합니다. Consul 1.8.0에 추가되었습니다.
    • ca_provider — 서비스 메시의 CA에 사용할 CA 공급자를 제어합니다. 현재는 aws-pca, consul, vault 공급자만 지원됩니다. 이는 클러스터를 처음 부트스트랩할 때만 사용됩니다. 기존 클러스터의 경우 CA 구성 업데이트 엔드포인트(Update CA Configuration Endpoint)를 사용하세요.
    • ca_config — 선택한 CA 공급자에 따라 다양한 구성 옵션을 설정할 수 있는 객체입니다. 이는 클러스터를 처음 부트스트랩할 때만 사용됩니다. 기존 클러스터의 경우 CA 구성 업데이트 엔드포인트를 사용하세요. 지원되는 공급자는 다음과 같습니다.
      • AWS ACM Private CA 공급자 (ca_provider = "aws-pca")
        • existing_arn — ACM 계정의 기존 프라이빗 CA의 Amazon 리소스 이름(ARN)입니다. 지정하면 Consul이 기존 CA를 사용해 인증서를 발급하려고 시도합니다.
      • Consul CA 공급자 (ca_provider = "consul")
        • private_key — CA에 사용할 프라이빗 키의 PEM 내용입니다.
        • root_cert — CA에 사용할 루트 인증서의 PEM 내용입니다.
      • Vault CA 공급자 (ca_provider = "vault")
        • address — 연결할 Vault 서버의 주소입니다.
        • token — 사용할 Vault 토큰입니다. Consul 1.8.5 이상에서 토큰에 갱신 가능(renewable) 플래그가 설정되어 있으면, Consul은 기간의 절반이 만료된 후 주기적으로 임대를 갱신하려고 시도합니다.
        • root_pki_path — Vault에서 루트 CA pki 백엔드로 사용할 경로입니다. CA가 이미 구성된 기존 백엔드이거나, 비어 있거나 마운트되지 않은 백엔드일 수 있습니다. 후자의 경우 Consul이 CA를 자동으로 마운트/생성합니다. 위에 주어진 Vault 토큰은 이 백엔드에 대한 sudo 액세스 권한이 있어야 하며, 경로에 아직 마운트되지 않은 경우 이 경로에 백엔드를 마운트할 권한도 있어야 합니다.
        • intermediate_pki_path — Vault에서 임시 중간 CA pki 백엔드로 사용할 경로입니다. Consul은 임시 중간 CA를 생성하기 위해 이 경로의 모든 데이터를 덮어씁니다. 위에 주어진 Vault 토큰은 이 백엔드에 대한 쓰기 액세스 권한이 있어야 하며, 경로에 아직 마운트되지 않은 경우 이 경로에 백엔드를 마운트할 권한도 있어야 합니다.
        • root_pki_namespace — Root PKI 경로가 있는 Vault 네임스페이스입니다. 이 매개변수를 설정하면 Consul의 RootPKIPath에 대한 Namespace 옵션이 재정의됩니다.
        • intermediate_pki_namespace — Intermediate PKI 경로가 있는 Vault 네임스페이스입니다. 이 매개변수를 설정하면 Consul의 IntermediatePKIPath에 대한 Namespace 옵션이 재정의됩니다.
        • ca_path — Vault 통신에 사용할 CA 인증서가 들어 있는 폴더의 선택적 경로를 지정합니다. 지정하지 않으면 OS와 버전에 따라 달라지는 기본 시스템 CA 번들로 대체됩니다.
        • ca_file — Vault 통신에 사용할 CA 인증서의 선택적 경로를 지정합니다. 지정하지 않으면 OS와 버전에 따라 달라지는 기본 시스템 CA 번들로 대체됩니다.
        • cert_file — Vault 통신에 사용할 인증서의 경로를 지정합니다. 설정하면 key_file도 설정해야 합니다.
        • key_file — Vault 통신에 사용할 프라이빗 키의 경로를 지정합니다. 설정하면 cert_file도 설정해야 합니다.
        • tls_server_name — TLS로 Vault에 연결할 때 SNI 호스트를 설정하는 데 사용할 선택적 문자열을 지정합니다.
        • tls_skip_verify — SSL 피어 검증을 강제할지 지정합니다. 기본값은 false입니다.
        • auth_method — Vault에 로그인하는 데 사용할 Vault 인증 방법입니다. 개별 인증 방법 구성 방법은 Vault 인증 방법(Vault Auth Methods)을 참조하세요. 인증 방법이 제공되면 Consul은 토큰을 더 이상 갱신할 수 없을 때 Vault에서 새 토큰을 얻습니다.
          • type — Vault 인증 방법의 유형입니다.
          • mount_path — 인증 방법의 마운트 경로입니다. 제공하지 않으면 인증 방법 유형이 마운트 경로로 사용됩니다.
          • params — 인증 방법을 구성할 매개변수입니다. 사용하려는 인증 방법을 구성하는 방법은 Vault 인증 방법을 참조하세요. Kubernetes 인증 방법을 사용하는 경우 jwt 매개변수가 제공되지 않으면 Consul은 기본 마운트 경로 /var/run/secrets/kubernetes.io/serviceaccount/token에서 서비스 계정 토큰을 읽습니다.
      • 공통 CA 구성 옵션 — 모든 공급자가 지원하는 몇 가지 공통 구성 옵션도 있습니다.
        • csr_max_concurrent — 동시에 처리할 수 있는 인증서 서명 요청(CSR) 수에 대한 제한을 설정합니다. 기본값은 0(비활성화)입니다. 이는 서버가 인증서 서명 작업에 사용할 수 있는 CPU 코어 수를 제한하려는 경우 유용합니다. 예를 들어 8코어 서버에서 이 값을 1로 설정하면 인증서 생성 또는 회전 시 하나 이상의 CPU 코어가 소비되지 않도록 보장합니다. 회전 속도를 인위적으로 늦추지 않고 CSR 리소스를 제한하는 방법에 대해 추론하기 더 간단하므로 CPU 코어 수를 제한하려면 csr_max_per_second보다 이 값을 설정하는 것이 좋습니다. 1.4.1에서 추가되었습니다.
        • csr_max_per_second — 서버가 수락할 인증서 서명 요청(CSR)의 최대 수에 대한 비율 제한을 설정합니다. 이는 CA 회전이 서버에서 무제한 CPU 사용을 일으키지 않도록 방지하는 데 사용됩니다. 기본값은 보수적인 50입니다 — 2017년 Macbook은 단일 CPU 코어의 약 40%만 사용해 초당 약 100개를 처리할 수 있습니다 — 회전 시간이 영향을 받기 전까지 최대 약 1500개 서비스 인스턴스의 배포에는 충분합니다. 더 큰 배포의 경우 예상 서버 인스턴스 수와 서버 리소스를 기준으로 이 값을 높이는 것이 좋으며, 서버에 CPU 코어가 여러 개 있는 경우 csr_max_concurrent를 대신 사용하세요. 이 값을 0으로 설정하면 비율 제한이 비활성화됩니다. 1.4.1에서 추가되었습니다.
        • leaf_cert_ttl — 서비스에 대해 발급된 리프 인증서 만료의 상한을 지정합니다. 대부분의 경우 새 리프 인증서는 이 한도에 도달하기 전에 프록시가 요청합니다. 이는 또한 네트워크 연결이 거부되기 시작하기 전에(리더 없이) 서버 중단이 지속될 수 있는 시간의 실질적인 한도입니다. 기본값은 72h입니다. 다음 단위를 사용해 1시간(최소)에서 1년(최대)까지의 범위를 지정할 수 있습니다: h, m, s, ms, us(또는 µs), ns, 또는 이러한 단위의 조합(예: 1h5m). 이 값은 클러스터에서 오래된 루트 인증서를 회전할 때도 사용됩니다. 루트 인증서가 현재 leaf_cert_ttl의 두 배 이상 비활성(회전됨) 상태였으면 신뢰 목록에서 제거됩니다.
        • intermediate_cert_ttl — 중간 인증서의 만료를 지정합니다. 기본값은 8760h(1년)입니다. leaf_cert_ttl의 최소 3배여야 합니다.
        • root_cert_ttl — 루트 인증서의 만료를 지정합니다. 기본값은 87600h의 10년입니다. 이 값은 제공된다면 중간 인증서 TTL보다 높아야 합니다. 이 설정은 모든 Consul CA 공급자에 적용됩니다. Vault 공급자의 경우 이 값은 백엔드가 처음에 초기화되지 않은 경우에만 사용됩니다. 이 값은 ca set-config 명령에도 적용됩니다.
        • private_key_type — 이 CA에 대해 생성할 키의 유형입니다. 이는 공급자가 새 키를 생성할 때만 사용됩니다. Consul 공급자에 대해 private_key가 설정되었거나 Vault에 대해 기존 루트 또는 중간 PKI 경로가 주어진 경우 무시됩니다. 현재 지원되는 옵션은 ec 또는 rsa입니다. 기본값은 ec입니다. 데이터센터의 모든 서버가 CA에 대해 동일한 구성을 가져야 합니다. 다른 데이터센터의 서버가 동일한 키 유형과 크기를 사용하는 것이 좋지만, 내장 CA와 Vault 공급자는 모두 혼합 CA 키 유형을 허용합니다. 일부 CA 공급자(현재 Vault)는 다른 키 유형으로 새 CA 인증서를 교차 서명하는 것을 허용하지 않습니다. 즉, RSA 키 Vault CA에서 어떤 공급자의 EC 키 CA로 마이그레이션한다면 교차 서명 없이 진행해야 하며, 이는 새 인증서 롤아웃 중 워크로드에 일시적인 연결 문제가 발생할 위험이 있습니다. 영향을 이해하려면 프로덕션 외부에서 테스트할 것을 강력히 권장하며 가능하면 동일한 키 유형을 유지할 것을 제안합니다. 참고로 이는 공급자가 생성한 CA 키에만 영향을 줍니다. 리프 인증서 키는 CA 구성과 관계없이 항상 EC 256입니다.
        • private_key_bits — 이 CA에 대해 생성할 키의 길이입니다. 이는 공급자가 새 키를 생성할 때만 사용됩니다. Consul 공급자에 대해 private_key가 설정되었거나 Vault에 대해 기존 루트 또는 중간 PKI 경로가 주어진 경우 무시됩니다. 현재 지원되는 값은 다음과 같습니다. private_key_type = ec(기본값): 같은 이름의 NIST P-* 곡선에 해당하는 224, 256, 384, 521. private_key_type = rsa: 2048, 4096.
    • locality Enterprise — Consul 에이전트의 리전과 존을 설정하는 구성 맵을 지정합니다. 서버 에이전트에 지정하면 locality는 서버의 모든 파티션에 적용됩니다. 클라이언트에 지정하면 locality는 클라이언트에 등록된 모든 서비스에 적용됩니다. Consul이 트래픽을 가장 가까운 물리적 서비스 인스턴스로 라우팅할 수 있도록 이 필드를 구성하세요. 이 필드는 주로 VM 및 Nomad 워크로드와 함께 사용하기 위한 것입니다. 자세한 내용은 로컬 업스트림으로 트래픽 라우팅(Route traffic to local upstreams)을 참조하세요.
      • region : Consul 에이전트가 실행되는 리전을 지정하는 문자열 값입니다. Consul은 이 값을 해당 에이전트에 등록된 서비스에 할당합니다. 서비스 프록시 리전이 일치하면 Consul은 다른 리전의 인스턴스보다 같은 리전의 서비스 인스턴스 간 라우팅을 우선시할 수 있습니다. 네트워크에서 리전이 정의되는 방식과 일치하는 값을 지정해야 합니다. 예를 들어 AWS 네트워크의 경우 us-west-1.
      • zone : Consul 에이전트가 실행되는 가용성 존을 지정하는 문자열 값입니다. Consul은 이 값을 해당 에이전트에 등록된 서비스에 할당합니다. 서비스 프록시 리전이 일치하면 Consul은 다른 리전과 존의 인스턴스보다 같은 리전과 존의 서비스 인스턴스 간 라우팅을 우선시할 수 있습니다. 가장 가까운 리전 내 여러 존에서 정상 서비스 인스턴스를 사용할 수 있다면 Consul은 다운스트림 프록시의 zone과도 일치하는 인스턴스를 우선시합니다. 네트워크에서 존이 정의되는 방식과 일치하는 값을 지정해야 합니다. 예를 들어 AWS 네트워크의 경우 us-west-1a.

더 알아보기 (Learn more)