DM ๋ณ€ํ™˜์„ ์‚ฌ์šฉํ•˜์—ฌ Terraform ๋˜๋Š” Kubernetes ๋ฆฌ์†Œ์Šค ๋ชจ๋ธ(KRM)๋กœ ์ „ํ™˜

Deployment Manager Convert(DM Convert)๋Š” Deployment Manager ๊ตฌ์„ฑ ๋ฐ ํ…œํ”Œ๋ฆฟ์„ Google์—์„œ ์ง€์›ํ•˜๋Š” ๋‹ค๋ฅธ ์„ ์–ธ์  ๊ตฌ์„ฑ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. Google์€ ํ˜„์žฌ Terraform ๋ฐ Kubernetes ๋ฆฌ์†Œ์Šค ๋ชจ๋ธ(KRM)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Terraform ๋˜๋Š” KRM์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ด์œ 

Terraform๊ณผ KRM์€ Google Cloud ์„œ๋น„์Šค์™€ ์ธํ”„๋ผ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ์ด๋“ค์€ ๋ณด์•ˆ ๋น„๋ฐ€ ๊ด€๋ฆฌ ๋ฐ ์ง€์†์  ์กฐ์ •(KRM์˜ ๊ฒฝ์šฐ)๊ณผ ๊ฐ™์€ ์ตœ์‹  ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ํ™œ์„ฑ ์—…๋ฐ์ดํŠธ ์ƒํƒœ๊ณ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Google์€ HashiCorp์™€ ํ˜‘๋ ฅํ•˜์—ฌ Google Cloud์šฉ Terraform ์ œ๊ณต์—…์ฒด๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ 2020๋…„์— Google์€ ๊ณ ๊ฐ์ด Kubernetes๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Google Cloud ๋ฆฌ์†Œ์Šค ์œ ํ˜•์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” Config Connector๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

Terraform

Terraform์€ ์ธํ”„๋ผ ํ”„๋กœ๋น„์ €๋‹์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. Terraform์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธ์  ๊ตฌ์„ฑ์„ ์ž‘์„ฑํ•˜์—ฌ Google Cloud์šฉ Terraform ์ œ๊ณต์—…์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Google Cloud ์„œ๋น„์Šค์™€ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google Cloud์˜ Terraform์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Kubernetes ๋ฆฌ์†Œ์Šค ๋ชจ๋ธ(KRM)

KRM์€ ์„ ์–ธ์  ๊ตฌ์„ฑ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ API ๋ฐ ๋ฆฌ์†Œ์Šค ์ •์˜๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ ํŒจ๋Ÿฌ๋‹ค์ž„์ž…๋‹ˆ๋‹ค. ์ปค์Šคํ…€ ๋ฆฌ์†Œ์Šค ์ •์˜ (CRD)๋กœ Google Cloud ๋ฆฌ์†Œ์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ ๊ตฌ์„ฑ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์›๋˜๋Š” ์œ ํ˜• ๋ฐ ์œ ํ˜• ๊ณต๊ธ‰์ž

DM Convert๋Š” Deployment Manager ๊ตฌ์„ฑ YAML ํŒŒ์ผ๊ณผ Jinja ๋˜๋Š” Python ํ…œํ”Œ๋ฆฟ ํŒŒ์ผ์„ KRM ๋˜๋Š” Terraform ๊ตฌ์„ฑ ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์œ ํ˜• ๊ณต๊ธ‰์ž ๋ฐ ๋ฆฌ์†Œ์Šค ์œ ํ˜•์— ๋Œ€ํ•œ DM Convert ์ง€์›์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด --list-supported-types ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

DM Convert์—์„œ ์—ฌ๋Ÿฌ ํ˜•์‹์˜ ๊ฐœ๋…์„ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ดํ•ด

๋‹ค์Œ ํ‘œ์—์„œ๋Š” DM Convert์—์„œ Deployment Manager์˜ ๊ฐœ๋…์„ KRM ๋ฐ Terraform์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

Deployment Manager ๊ฐœ๋… KRM/Config Connector ๋ณ€ํ™˜ Terraform ๋ณ€ํ™˜
์ฐธ์กฐ ๋ฆฌ์†Œ์Šค ์ฐธ์กฐ(KRM ์Šคํ‚ค๋งˆ๊ฐ€ ํ•„๋“œ๋ฅผ ์ฐธ์กฐ๋กœ ์ •์˜ํ•˜๋Š” ๊ฒฝ์šฐ) KRM ์Šคํ‚ค๋งˆ์—์„œ ํ•„๋“œ๋ฅผ ์ฐธ์กฐ๋กœ ์ •์˜ํ•˜์ง€ ์•Š์œผ๋ฉด Deployment Manager ์ฐธ์กฐ๊ฐ€ ํ™•์ธ๋œ ๊ฐ’์œผ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค. Terraform ์ฐธ์กฐ๋Š” Deployment Manager ์ฐธ์กฐ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ํ‘œ์‹œ๋˜๊ณ  ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
๋ช…์‹œ์  ์ข…์† ํ•ญ๋ชฉ(depends_on) ๋ช…์‹œ์  ์ข…์† ํ•ญ๋ชฉ ์ •๋ ฌ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๋Š” eventual consistency ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. depends_on
Identity and Access Management(IAM) ๋ฐ”์ธ๋”ฉ(๊ถŒํ•œ accessControl ๋ธ”๋ก) IAMPolicy <resource_type>_iam_policy ์œ ํ˜•(์˜ˆ: google_pubsub_topic_iam_policy)
IAM ๋ฐ”์ธ๋”ฉ(๋น„๊ถŒํ•œ iamMemberBinding ์œ ํ˜•) IAMPolicyMember <resource_type>_iam_member(์˜ˆ: google_project_iam_member)
๋ณตํ•ฉ ์œ ํ˜• ๋ณตํ•ฉ ์œ ํ˜•์€ ์ง€์› ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. DM Convert๋Š” ๋ณตํ•ฉ ์œ ํ˜•์„ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณตํ•ฉ ์œ ํ˜•์€ ์ง€์› ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. DM Convert๋Š” ๋ณตํ•ฉ ์œ ํ˜•์„ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ž‘์—…, ์ปค์Šคํ…€ ์œ ํ˜• ๊ณต๊ธ‰์ž ๋ฐ ์ถœ๋ ฅ ์ง€์›๋˜์ง€ ์•Š์Œ Terraform์—์„œ ์„ ์–ธ์  ๋“ฑ๊ฐ€ ์ž‘์—…์ด ์žˆ๋Š” ์ž‘์—…์€ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ž‘์—… ์ง€์›์„ ์ฐธ์กฐํ•˜์„ธ์š”.

DM Convert์˜ ์ž‘์—… ์ง€์›(Terraform์šฉ)

์ž‘์—…์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ API ๋ฉ”์„œ๋“œ ์ง‘ํ•ฉ์„ ํ™•์žฅํ•˜๋Š” Deployment Manager์˜ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ž‘์—…์€ ์ง€์›๋˜์ง€ ์•Š์œผ๋ฉฐ DM Convert๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด Terraform์— ์„ ์–ธ์  ๋“ฑ๊ฐ€ ์ž‘์—…์ด ์—†๋Š” ์ž‘์—…์„ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • API ํŒจ์น˜, ์‚ญ์ œ, ๋‚˜์—ด

  • ๋งž์ถค ์œ ํ˜• ๊ณต๊ธ‰์ž์— ์ •์˜๋œ API

  • ์ปค์Šคํ…€ API(์˜ˆ: sqladmin-v1beta4:sql.instances.restart)

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— DM Convert๋Š” ์ž‘์—…์˜ Terraform์— ํ•ด๋‹นํ•˜๋Š” ๋ณ€ํ™˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฆฌ์†Œ์Šค๋ฅผ ๋™๋“ฑํ•œ Terraform ๋ฆฌ์†Œ์Šค๋กœ ์‚ฝ์ž…ํ•˜๋Š” API์— ๋Œ€ํ•œ ์ž‘์—… ํ˜ธ์ถœ์„ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด action: gcp-types/storage-v1:storage.buckets.insert๋Š” google_storage_bucket์œผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.

  • ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ํ•ญ์ƒ Terraform data ์œ ํ˜•์— ๋Œ€ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” API๋กœ ์ž‘์—… ํ˜ธ์ถœ์„ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด actions: gcp-types/compute-v1:compute.subnetworks.get์€ google_compute_subnetwork๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.

  • getIamPolicy์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋Š”์ง€ ์—ฌ๋ถ€์— ๋”ฐ๋ผ setIamPolicy ๋ช…๋ น์–ด๋ฅผ *_iam_policy(๊ถŒํ•œ) ๋˜๋Š” *_iam_member(๋น„๊ถŒํ•œ) ๋ฆฌ์†Œ์Šค๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Deployment Manager ๋‚ด์—์„œ ์ž‘์—… ์‚ฌ์šฉ์„ ์„ ์–ธ์  ๋Œ€์•ˆ์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ž‘์—… ์‚ฌ์šฉ ๋Œ€์ฒด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Terraform์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ์›Œํฌํ”Œ๋กœ

DM Convert๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Deployment Manager ๊ตฌ์„ฑ์„ Terraform์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Terraform์œผ๋กœ ๋ณ€ํ™˜ํ•  Deployment Manager ๊ตฌ์„ฑ์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฆฌ์†Œ์Šค๊ฐ€ ์ตœ์‹  ์ƒํƒœ์ธ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๊ตฌ์„ฑ์˜ ํ™œ์„ฑ ๋ฐฐํฌ๋ฅผ ์กฐ์ •ํ•˜์„ธ์š”.
  3. ๊ตฌ์„ฑ์„ Terraform์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ๋กœ์ปฌ์—์„œ DM Convert ๋„๊ตฌ๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.
  4. ์ƒ์„ฑ๋œ Terraform ๊ตฌ์„ฑ์ด ๋ฆฌ์†Œ์Šค์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  5. Deployment Manager ๋ฐฐํฌ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌ๋ฅผ ์‚ญ์ œํ•  ๋•Œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณด์กดํ•˜๋ ค๋ฉด delete-policy๋ฅผ abandon์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ Terraform ๊ถŒ์žฅ์‚ฌํ•ญ์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ด ์›Œํฌํ”Œ๋กœ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์•ˆ๋‚ด๋Š” DM Convert๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Deployment Manager ๊ตฌ์„ฑ ๋ณ€ํ™˜์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

DM Convert์˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘

๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆ˜์ง‘ํ•˜๋Š” ํ•ญ๋ชฉ

๊ธฐ๋ณธ์ ์œผ๋กœ DM Convert ๋„๊ตฌ๋Š” ๋„๊ตฌ๋ฅผ ์œ ์ง€๋ณด์ˆ˜ ๋ฐ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ต๋ช…์˜ ์‚ฌ์šฉ ๋ฐ์ดํ„ฐ๋ฅผ Google๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. DM Convert ๋„๊ตฌ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์š”์ฒญ๋œ ์ž‘์—…, ์ž‘์—… ์„ฑ๊ณต, ๋ณ€ํ™˜ ์‹œ์ ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ง‘๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋Š” ์ต๋ช…์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋ฉฐ ๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด, ๋ฏผ๊ฐํ•œ ์ •๋ณด ๋˜๋Š” ๊ณ ๊ฐ ์ฝ˜ํ…์ธ ๋Š” ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐ์ดํ„ฐ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ณ€ํ™˜ ๋ช…๋ น์–ด ์ž…๋ ฅ ๋งค๊ฐœ๋ณ€์ˆ˜: ์ถœ๋ ฅ ํ˜•์‹(KRM ๋˜๋Š” Terraform) ๋ฐ ๋‹ค๋ฅธ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ง€์ •๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ๋ถ€์šธ ํ‘œํ˜„์„ ํฌํ•จํ•˜์—ฌ ๋„๊ตฌ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋ณ€ํ™˜ ๋ช…๋ น์–ด์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค(ํ•ด๋‹น ํ”Œ๋ž˜๊ทธ์˜ ํŠน์ • ๊ฐ’์€ ์ˆ˜์ง‘ํ•˜์ง€ ์•Š์Œ).

  • ๋ณ€ํ™˜ ๊ฒฐ๊ณผ: ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๋ณ€ํ™˜ ์ƒํƒœ(SUCCESS ๋˜๋Š” FAILURE)์™€ ์˜ค๋ฅ˜ ์ฝ”๋“œ ๋ฐ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ํฌํ•จํ•œ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

  • ๋ณ€ํ™˜ ์‹œ๊ฐ„: ๋ณ€ํ™˜ ์‹œ์ž‘ ๋ฐ ์ข…๋ฃŒ ์‹œ๊ฐ„์ด ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.

Google์—์„œ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹

Google์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ๊ณผ ์„ค์ •์„ ํฌํ•จํ•˜์—ฌ ๋„๊ตฌ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์„ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค.

  • ๋„๊ตฌ ์‚ฌ์šฉ ์‹คํŒจ๋ฅผ ์ง„๋‹จํ•˜๊ณ  ๊ธฐ์ˆ  ์ง€์›์„ ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์•ˆ๋‚ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์ž ์žฌ์ ์œผ๋กœ ํŠน์„ฑ ๋ฒ”์œ„๋ฅผ ๋Š˜๋ ค ๋„๊ตฌ๋ฅผ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์„ ํƒ ํ•ด์ œ

Google์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณ€ํ™˜์„ ์‹คํ–‰ํ•  ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์ง€๋งŒ ์ด ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠน์ • ๋ณ€ํ™˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์ค‘์ง€ํ•˜๋ ค๋ฉด ๋ณ€ํ™˜ ๋ช…๋ น์–ด์— --opt_out_data_collection=true ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ์ด ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ๊ณ„์† ํ•ด์ œํ•˜๋ ค๋ฉด ๋ณ€ํ™˜์„ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ๋ณ€ํ™˜์— ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ๋ณ€ํ™˜ ๋ช…๋ น์–ด์— --opt_out_data_collection=false ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ ๋ช…๋ น์–ด์—์„œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ƒ๋žตํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.