Vault backend storage용 Cassandra 구성
Vault backend storage용 Cassandra 구성
Cassandra storage backend는 Vault의 데이터를 Apache Cassandra 클러스터에 영구 저장하는 데 사용됩니다.
출처: 문서
본문
- 고가용성 없음 – Cassandra storage backend는 고가용성을 지원하지 않습니다.
- 커뮤니티 지원 – Cassandra storage backend는 커뮤니티가 지원합니다. HashiCorp 직원의 검토를 거쳤지만 기술에 대해 그렇게 잘 알지 못할 수 있습니다. 문제가 발생하면 원저자에게 문의하도록 안내받을 수 있습니다.
storage "cassandra" {
hosts = "localhost"
consistency = "LOCAL_QUORUM"
protocol_version = 3
}
Cassandra storage backend는 keyspace와 table을 자동으로 만들지 않습니다. 이 예시 구성은 가이드로 사용할 수 있지만, keyspace 복제 옵션이 클러스터에 적합한지 확인해야 합니다:
CREATE KEYSPACE "vault" WITH REPLICATION = {
'class': 'SimpleStrategy',
'replication_factor': 1
};
CREATE TABLE "vault"."entries" (
bucket text,
key text,
value blob,
PRIMARY KEY (bucket, key)
) WITH CLUSTERING ORDER BY (key ASC);
cassandra 파라미터
-
hosts(string: "127.0.0.1")– 연결할 Cassandra 호스트의 쉼표로 구분된 목록입니다. -
keyspace(string: "vault")사용할 Cassandra keyspace입니다. -
table(string: "entries")– 데이터를 저장할keyspace내의 table입니다. -
consistency(string: "LOCAL_QUORUM")데이터를 읽고 쓸 때 사용할 일관성(consistency) 수준입니다. 설정하면"ANY","ONE","TWO","THREE","QUORUM","ALL","LOCAL_QUORUM","EACH_QUORUM", 또는"LOCAL_ONE"중 하나여야 합니다. -
protocol_version(int: 2)사용할 Cassandra 프로토콜 버전입니다. -
username(string: "")– Cassandra 호스트로 인증할 때 사용할 사용자 이름입니다. -
password(string: "")– Cassandra 호스트로 인증할 때 사용할 비밀번호입니다. -
disable_initial_host_lookup(bool: false)- true로 설정하면 Vault는system.peers테이블에서 호스트 정보를 얻으려 시도하지 않습니다. 대신 제공된 호스트에 연결하고 호스트 정보를 조회하지 않습니다. 이는data_centre,rack,token정보를 사용할 수 없게 되며, 그에 따라 호스트 필터링과 token 인식 쿼리 라우팅을 사용할 수 없게 됩니다. -
initial_connection_timeout(int: 0)- Cassandra 호스트와의 초기 연결이 수립될 때까지 기다리는 타임아웃(초)입니다. 설정하지 않으면 Cassandra 드라이버(gocql)의 기본값인 600ms가 사용됩니다. -
connection_timeout(int: 0)- 각 쿼리의 타임아웃(초)입니다. 설정하지 않으면 Cassandra 드라이버(gocql)의 기본값인 600ms가 사용됩니다. -
simple_retry_policy_retries(int: 0)- 여러 노드가 있는 Cassandra 클러스터에 유용합니다. 현재 마스터 노드가 다운되면 요청은simple_retry_policy_retries회 다음 노드에서 재시도되며 클라이언트는 오류를 받지 않습니다. -
tls(int: 0)–1이면 Cassandra 호스트와의 연결이 TLS를 사용해야 함을 나타냅니다. -
pem_bundle_file(string: "")- 인증서와 개인 키, 인증서·개인 키·발급 CA 인증서, 또는 CA 인증서만 포함하는 파일을 지정합니다. -
pem_json_file(string: "")- 인증서와 개인 키, 인증서·개인 키·발급 CA 인증서, 또는 CA 인증서만 포함하는 JSON 파일을 지정합니다. -
tls_skip_verify(int: 0)-1이면 Cassandra에 대한 TLS 호스트 검증이 비활성화됩니다. 기본값은0입니다. -
tls_min_version(string: "tls12")- 사용할 최소 TLS 버전입니다. 허용되는 값은tls10,tls11,tls12또는tls13입니다. 기본값은tls12입니다.