์‘๋‹ต ์ •์ฑ… ๋ฐ ๊ทœ์น™ ๊ด€๋ฆฌ

์ด ํŽ˜์ด์ง€์—์„œ๋Š” ์‘๋‹ต ์ •์ฑ…๊ณผ ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Cloud DNS ๋น„๊ณต๊ฐœ ์˜์—ญ์„ ์‚ฌ์šฉํ•˜๋ฉด ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์— ๋”ฐ๋ผ ๋ฆฌ์กธ๋ฒ„ ๋™์ž‘์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋„คํŠธ์›Œํฌ๋‹น ์‘๋‹ต ์ •์ฑ…์„ ํ•˜๋‚˜๋งŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ผ ์‘๋‹ต ์ •์ฑ… ๋‚ด์—์„œ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ทœ์น™์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํŠน์ • ๋ฆฌ์†Œ์Šค ๋ ˆ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์„ ํƒํ•œ ์ฟผ๋ฆฌ ์ด๋ฆ„(์™€์ผ๋“œ ์นด๋“œ ํฌํ•จ)์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ ๋ณ€๊ฒฝํ•˜๊ธฐ
  • ์‘๋‹ต ์ •์ฑ…์„ ์šฐํšŒํ•˜๊ณ  ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ์ด๋ฆ„์„ ์ œ์™ธํ•˜๋Š” passthru ๋™์ž‘ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ธฐ. ์˜ˆ๋ฅผ ๋“ค์–ด ์™€์ผ๋“œ ์นด๋“œ ์‘๋‹ต์˜ ๊ฒฝ์šฐ ๋น„๊ณต๊ฐœ DNS ์ฟผ๋ฆฌ ์ผ์น˜๊ฐ€ ์™€์ผ๋“œ ์นด๋“œ๋ฅผ ๋ฐœ์ƒํ•˜์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ ๊ณ„์† ์ผ์น˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VPC ์„œ๋น„์Šค ์ œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ๊ฐ์ด ๋น„๊ณต๊ฐœ VPC ๋„คํŠธ์›Œํฌ์—์„œ API ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google API ๋ฐ ์„œ๋น„์Šค๋กœ ๋น„๊ณต๊ฐœ ์—ฐ๊ฒฐ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์‘๋‹ต ์ •์ฑ… ๊ด€๋ฆฌ

์‘๋‹ต ์ •์ฑ… ๋งŒ๋“ค๊ธฐ

์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Cloud DNS ์˜์—ญ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Cloud DNS ์˜์—ญ์œผ๋กœ ์ด๋™

  2. ์‘๋‹ต ์ •์ฑ… ์˜์—ญ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์‘๋‹ต ์ •์ฑ… ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: myresponsepolicy).

  5. ์‘๋‹ต ์ •์ฑ…์˜ ์„ค๋ช…์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: My new response policy).

  6. ๋„คํŠธ์›Œํฌ ๋“œ๋กญ๋‹ค์šด์—์„œ ์‘๋‹ต ์ •์ฑ…๊ณผ ์—ฐ๊ฒฐํ•  ๋„คํŠธ์›Œํฌ๋ฅผ ํ•˜๋‚˜ ์ด์ƒ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  7. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์ƒ์„ฑํ•œ ๊ฐ ์‘๋‹ต ์ •์ฑ… ์˜์—ญ์— ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์•ˆ๋‚ด๋Š” ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

gcloud

gcloud dns response-policies create ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

gcloud dns response-policies create RESPONSE_POLICY_NAME \
    --networks=NETWORK \
   [--description=DESCRIPTION]

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • RESPONSE_POLICY_NAME: ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)
  • NETWORK: ์‘๋‹ต ์ •์ฑ…๊ณผ ์—ฐ๊ฒฐํ•  ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋„คํŠธ์›Œํฌ ์ด๋ฆ„ ๋ชฉ๋ก(์˜ˆ: network1, network2)
  • DESCRIPTION: ์‘๋‹ต ์ •์ฑ… ์„ค๋ช…(์˜ˆ: My new response policy)

API

responsePolicies.create ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ POST ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies

PROJECT_ID๋ฅผ ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“ค ํ”„๋กœ์ ํŠธ์˜ ์ด๋ฆ„์ด๋‚˜ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

์‘๋‹ต ์ •์ฑ… ๋ณด๊ธฐ

ํŠน์ • ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์‘๋‹ต ์ •์ฑ… ๋ชฉ๋ก์„ ๋ณด๊ฑฐ๋‚˜ ํŠน์ • ์‘๋‹ต ์ •์ฑ…์˜ ์„ค๋ช…์„ ๋ณด๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Cloud DNS ์˜์—ญ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Cloud DNS ์˜์—ญ์œผ๋กœ ์ด๋™

  2. ์‘๋‹ต ์ •์ฑ… ์˜์—ญ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์‘๋‹ต ์ •์ฑ… ๋ชฉ๋ก ํŽ˜์ด์ง€์— ๋‚ด๊ฐ€ ๋งŒ๋“  ์‘๋‹ต ์ •์ฑ…์ด ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

gcloud

  • ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์‘๋‹ต ์ •์ฑ… ๋ชฉ๋ก์„ ํ™•์ธํ•˜๋ ค๋ฉด gcloud dns response-policies list ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies list
    
  • --limit ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‘๋‹ต ์ •์ฑ… ์ˆ˜๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‘๋‹ต ์ •์ฑ… ์ฒ˜์Œ 10๊ฐœ์˜ ๋ชฉ๋ก์„ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies list \
      --limit=10
    
  • ์‘๋‹ต ์ •์ฑ…์˜ ์ž์„ธํ•œ ์„ค๋ช…์„ ํ™•์ธํ•˜๋ ค๋ฉด gcloud dns response-policies describe ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies describe RESPONSE_POLICY_NAME
    

    RESPONSE_POLICY_NAME์„ ์„ค๋ช…์„ ๋ณด๋ ค๋Š” ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

API

์‘๋‹ต ์ •์ฑ…์˜ ์ž์„ธํ•œ ์„ค๋ช…์„ ํ™•์ธํ•˜๋ ค๋ฉด responsePolicies.get ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GET ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

GET https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • PROJECT_ID: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ID
  • RESPONSE_POLICY_NAME: ์„ค๋ช…์„ ํ™•์ธํ•˜๋ ค๋Š” ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)

์‘๋‹ต ์ •์ฑ… ์—…๋ฐ์ดํŠธ

์‘๋‹ต ์ •์ฑ…์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Cloud DNS ์˜์—ญ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Cloud DNS ์˜์—ญ์œผ๋กœ ์ด๋™

  2. ์ˆ˜์ •ํ•˜๋ ค๋Š” ์‘๋‹ต ์ •์ฑ…์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„ ํ–‰์—์„œ ๋”๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. ์‘๋‹ต ์ •์ฑ… ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ํ•„์ˆ˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  5. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud dns response-policies update ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

gcloud dns response-policies update RESPONSE_POLICY_NAME

RESPONSE_POLICY_NAME์„ ์—…๋ฐ์ดํŠธํ•  ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ๋œ ํ•„๋“œ์— create ๋ช…๋ น์–ด์™€ ๋™์ผํ•œ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

API

  • ์‘๋‹ต ์ •์ฑ…์— ๋ถ€๋ถ„ ์—…๋ฐ์ดํŠธ๋ฅผ ์ ์šฉํ•˜๋ ค๋ฉด responsePolicies.patch ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ PATCH ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

    PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ID
    • RESPONSE_POLICY_NAME: ์—…๋ฐ์ดํŠธํ•  ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)
  • ์‘๋‹ต ์ •์ฑ…์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด responsePolicies.update ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ UPDATE ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

    UPDATE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ID
    • RESPONSE_POLICY_NAME: ์—…๋ฐ์ดํŠธํ•  ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)

์‘๋‹ต ์ •์ฑ… ์‚ญ์ œ

์‘๋‹ต ์ •์ฑ…์„ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Cloud DNS ์˜์—ญ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Cloud DNS ์˜์—ญ์œผ๋กœ ์ด๋™

  2. ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„ ํ–‰์—์„œ ๋”๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud dns response-policies delete ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

gcloud dns response-policies delete RESPONSE_POLICY_NAME

RESPONSE_POLICY_NAME์„ ์‚ญ์ œํ•  ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

API

responsePolicies.delete ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DELETE ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

DELETE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • PROJECT_ID: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ID
  • RESPONSE_POLICY_NAME: ์‚ญ์ œํ•  ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)

์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ๊ด€๋ฆฌ

์‚ฌ์ดํŠธ์˜ DNS ์‘๋‹ต ์ •์ฑ…์€ DNS ๋ฆฌ์กธ๋ฒ„๊ฐ€ ์กฐํšŒ ์ค‘์— ํ™•์ธํ•˜๋Š” ๊ทœ์น™์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์‘๋‹ต ์ •์ฑ…์˜ ๊ทœ์น™์ด ์ˆ˜์‹ ๋˜๋Š” ์ฟผ๋ฆฌ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒฝ์šฐ์— ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ์ง€ ์•Š์œผ๋ฉด ์กฐํšŒ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ

์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Cloud DNS ์˜์—ญ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Cloud DNS ์˜์—ญ์œผ๋กœ ์ด๋™

  2. ์‘๋‹ต ์ •์ฑ… ์˜์—ญ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์‘๋‹ต ์ •์ฑ… ์˜์—ญ ๋ชฉ๋ก์—์„œ ๊ทœ์น™์„ ์‚ญ์ œํ•˜๋ ค๋Š” ์‘๋‹ต ์ •์ฑ… ์˜์—ญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: myresponsepolicyrule).

  6. ์„ ํƒ๊ธฐ ๋“œ๋กญ๋‹ค์šด์—์„œ ์ด ๊ทœ์น™์„ ์ ์šฉํ•  ์„ ํƒ๊ธฐ ์œ ํ˜•์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  7. www.googleapis.com๊ณผ ๊ฐ™์ด ๊ทœ์น™์„ ์ ์šฉํ•  DNS ์ด๋ฆ„(์™€์ผ๋“œ ์นด๋“œ ๋˜๋Š” ์ถ”์ถœ)์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  8. ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์— ๋Œ€ํ•œ ์ž‘์—…์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‘๋‹ต ์ •์ฑ…์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋™์ž‘์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋กœ์ปฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    • ๋™์ž‘์„ ์„ ํƒํ•œ ๊ฒฝ์šฐ ๋“œ๋กญ๋‹ค์šด์—์„œ ๊ทœ์น™ ๋™์ž‘์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    • ๋กœ์ปฌ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•œ ๊ฒฝ์šฐ ์ƒˆ ๋ฆฌ์†Œ์Šค ๋ ˆ์ฝ”๋“œ ์ง‘ํ•ฉ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฆฌ์†Œ์Šค ๋ ˆ์ฝ”๋“œ ์ง‘ํ•ฉ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฆฌ์†Œ์Šค ๋ ˆ์ฝ”๋“œ ์ง‘ํ•ฉ ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

  • ์„ ํƒํ•œ ์ฟผ๋ฆฌ ์ด๋ฆ„์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด gcloud dns response-policies rules create ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  --type ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
      --response-policy=RESPONSE_POLICY_NAME \
      --dns-name=DNS_NAME \
      --local-data=name="DNS_NAME.",type="RRTYPE",ttl=TTL,rrdatas="RRDATA"
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RESPONSE_POLICY_RULE_NAME: ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์ด๋ฆ„(์˜ˆ: myresponsepolicyrule)
    • RESPONSE_POLICY_NAME: ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„(์˜ˆ: myresponsepolicy)
    • DNS_NAME: DNS ๋˜๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„(์˜ˆ: www.googleapis.com)
    • TTL: ์‘๋‹ต ์ •์ฑ… ์ˆ˜๋ช…(์˜ˆ: 21600)
    • RRTYPE: ๋ฆฌ์†Œ์Šค ๋ ˆ์ฝ”๋“œ ์œ ํ˜•(์˜ˆ: A)
    • RRDATA: ๋ฆฌ์†Œ์Šค ๋ ˆ์ฝ”๋“œ ๋ฐ์ดํ„ฐ(์˜ˆ: 1.2.3.4) ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ์€ |๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: 1.2.3.4|5.6.7.8).
  • ์šฐํšŒ ๊ทœ์น™์„ ๋งŒ๋“ค๋ ค๋ฉด gcloud dns response-policies rules create ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  --behavior ํ”Œ๋ž˜๊ทธ๋ฅผ bypassResponsePolicy๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
      --response-policy=RESPONSE_POLICY_NAME \
      --dns-name=DNS_NAME \
      --behavior=bypassResponsePolicy
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RESPONSE_POLICY_RULE_NAME: ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์ด๋ฆ„(์˜ˆ: myresponsepolicyrule)
    • RESPONSE_POLICY_NAME: ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„(์˜ˆ: myresponsepolicy)
    • DNS_NAME: DNS ๋˜๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„(์˜ˆ: www.googleapis.com)

API

  • ์ƒˆ ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์„ ๋งŒ๋“ค๋ ค๋ฉด responsePolicyRules.create ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ POST ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

    POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ID
    • RESPONSE_POLICY_NAME: ๊ทœ์น™์„ ๋งŒ๋“ค ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)

์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ๋ณด๊ธฐ

ํŠน์ • ์‘๋‹ต ์ •์ฑ…์˜ ๋ชจ๋“  ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ๋ชฉ๋ก์„ ๋ณด๊ฑฐ๋‚˜ ํŠน์ • ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์„ค๋ช…์„ ๋ณด๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Cloud DNS ์˜์—ญ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Cloud DNS ์˜์—ญ์œผ๋กœ ์ด๋™

  2. ์‘๋‹ต ์ •์ฑ… ์˜์—ญ ํƒญ์—์„œ ์—ฐ๊ฒฐ๋œ ๊ทœ์น™์„ ํ™•์ธํ•  ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต ์ •์ฑ… ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์— ์‘๋‹ต ์ •์ฑ…๊ณผ ์—ฐ๊ฒฐ๋œ ๊ทœ์น™์ด ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

  3. ํŠน์ • ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์„ธ๋ถ€์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ๊ทœ์น™ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ์ด๋ฆ„ ํ–‰์—์„œ ๋”๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud

  • ์‘๋‹ต ์ •์ฑ… ๋‚ด์—์„œ Cloud DNS ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ๋ชฉ๋ก์„ ๋ณด๋ ค๋ฉด gcloud dns response-policies rules list ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies rules list RESPONSE_POLICY_NAME
    

    RESPONSE_POLICY_NAME์„ ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„(์˜ˆ: myresponsepolicy)์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • ํŠน์ • ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์— ๋Œ€ํ•œ ์„ธ๋ถ€์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด gcloud dns response-policies rules describe ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies rules describe RESPONSE_POLICY_RULE_NAME \
      --response-policy=RESPONSE_POLICY_NAME
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RESPONSE_POLICY_RULE_NAME: ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์ด๋ฆ„(์˜ˆ: myresponsepolicyrule)
    • RESPONSE_POLICY_NAME: ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„(์˜ˆ: myresponsepolicy)

API

์‘๋‹ต ์ •์ฑ…์—์„œ ๊ทœ์น™์˜ ์ž์„ธํ•œ ์„ค๋ช…์„ ํ™•์ธํ•˜๋ ค๋ฉด responsePolicyRules.get ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GET ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

GET https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • PROJECT_ID: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ID
  • RESPONSE_POLICY_NAME: ๊ทœ์น™์„ ๋งŒ๋“ค ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)
  • RESPONSE_POLICY_RULE: ์„ธ๋ถ€์ •๋ณด๋ฅผ ํ™•์ธํ•  ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™

์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ์—…๋ฐ์ดํŠธ

์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Cloud DNS ์˜์—ญ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Cloud DNS ์˜์—ญ์œผ๋กœ ์ด๋™

  2. ๊ทœ์น™์„ ์ˆ˜์ •ํ•  ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์ˆ˜์ •ํ•  ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ ์ˆ˜์ •ํ•  ๊ทœ์น™ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ํ•„์ˆ˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  6. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud dns response-policies rules update ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

gcloud dns response-policies rules update RESPONSE_POLICY_RULE_NAME \
    --response-policy=RESPONSE_POLICY_NAME
  

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • RESPONSE_POLICY_RULE_NAME: ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์ด๋ฆ„(์˜ˆ: myresponsepolicyrule)
  • RESPONSE_POLICY_NAME: ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„(์˜ˆ: myresponsepolicy)

    ์—…๋ฐ์ดํŠธ๋œ ํ•„๋“œ์— create ๋ช…๋ น์–ด์™€ ๋™์ผํ•œ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

API

  • ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์— ๋ถ€๋ถ„ ์—…๋ฐ์ดํŠธ๋ฅผ ์ ์šฉํ•˜๋ ค๋ฉด responsePolicyRules.patch ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ PATCH ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

    PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ID
    • RESPONSE_POLICY_NAME: ๊ทœ์น™์„ ์—…๋ฐ์ดํŠธํ•  ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)
    • RESPONSE_POLICY_RULE: ์—…๋ฐ์ดํŠธํ•  ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™
  • ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด responsePolicyRules.update ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ UPDATE ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

    UPDATE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ID
    • RESPONSE_POLICY_NAME: ๊ทœ์น™์„ ์—…๋ฐ์ดํŠธํ•  ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)
    • RESPONSE_POLICY_RULE: ์—…๋ฐ์ดํŠธํ•  ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™

์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ์‚ญ์ œ

์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์„ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Cloud DNS ์˜์—ญ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Cloud DNS ์˜์—ญ์œผ๋กœ ์ด๋™

  2. ๊ทœ์น™์„ ์ˆ˜์ •ํ•  ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์‚ญ์ œํ•  ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ์ด๋ฆ„์˜ ํ–‰์—์„œ ๋”๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์‚ญ์ œํ•  ๊ทœ์น™์„ ํด๋ฆญํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

  • Cloud DNS ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์„ ์‚ญ์ œํ•˜๋ ค๋ฉด gcloud dns response-policies rules delete ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies rules delete RESPONSE_POLICY_RULE_NAME \
      --response-policy=RESPONSE_POLICY_NAME
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RESPONSE_POLICY_RULE_NAME: ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์ด๋ฆ„(์˜ˆ: myresponsepolicyrule)
    • RESPONSE_POLICY_NAME: ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„(์˜ˆ: myresponsepolicy)

API

  • ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์„ ์‚ญ์ œํ•˜๋ ค๋ฉด responsePolicyRules.delete ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DELETE ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

    DELETE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ์˜ ID
    • RESPONSE_POLICY_NAME: ๊ทœ์น™์„ ์‚ญ์ œํ•  ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)
    • RESPONSE_POLICY_RULE: ์‚ญ์ œํ•  ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™

์‚ฌ์šฉ ์‚ฌ๋ก€

์ด ์„น์…˜์—์„œ๋Š” ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์„ ๊ตฌ์„ฑํ•˜๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€ ์˜ˆ์‹œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ์ด๋ฆ„์„ ์ œํ•œ๋œ VIP ์ฃผ์†Œ๋กœ ์ „๋‹ฌ

๊ฐ ์˜์—ญ์— ๋กœ์ปฌ CNAME ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ์‘๋‹ต ์ •์ฑ…์„ ๊ตฌ์„ฑํ•˜์—ฌ Google API ์š”์ฒญ์„ ์ œํ•œ๋œ Google API๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์ •๋˜์ง€ ์•Š์€ ์ด๋ฆ„์€ ์ผ๋ฐ˜ DNS๋ฅผ ํ†ตํ•ด ๊ณ„์† ํ™•์ธ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์˜์—ญ์˜ ๋กœ์ปฌ CNAME ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” pubsub.googleapis.com์˜ ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“ค์–ด Google API ์š”์ฒญ์„ restricted.googleapis.com์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋•Œ๊นŒ์ง€๋Š” ์ง€์ •๋˜์ง€ ์•Š์€ www.googleapis.com์ด ๊ณ„์† ์ผ๋ฐ˜ DNS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ตฌ์„ฑ ์˜ˆ์‹œ์—์„œ๋Š” ์ •์ฑ…์„ ๋งŒ๋“ค๊ณ  ํŠน์ • VPC ๋„คํŠธ์›Œํฌ์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud

  1. ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“ค๋ ค๋ฉด gcloud dns response-policies create ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies create RESPONSE_POLICY_NAME \
        --networks=NETWORK \
        --description=DESCRIPTION
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RESPONSE_POLICY_NAME: ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)
    • NETWORK: ์‘๋‹ต ์ •์ฑ…๊ณผ ์—ฐ๊ฒฐํ•  ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋„คํŠธ์›Œํฌ ์ด๋ฆ„ ๋ชฉ๋ก(์˜ˆ: network1,network2)
    • DESCRIPTION: ์‘๋‹ต ์ •์ฑ… ์„ค๋ช…(์˜ˆ: My new response policy)
  2. restricted.googleapis.com์— IPv4 ์ฃผ์†Œ ๋ฒ”์œ„๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ IPv4 ์ฃผ์†Œ ๋ฒ”์œ„์˜ ๋ ˆ์ฝ”๋“œ ์„ธํŠธ๊ฐ€ ํฌํ•จ๋œ ์ •์ฑ…์— ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies rules create ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    gcloud dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
        --response-policy=RESPONSE_POLICY_NAME \
        --dns-name=DNS_NAME. \
        --local-data=name="DNS_NAME.",type="A",ttl=300,rrdatas="199.36.153.4|199.36.153.5|199.36.153.6|199.36.153.7"
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RESPONSE_POLICY_RULE_NAME: ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์ด๋ฆ„(์˜ˆ: myresponsepolicyrule)
    • RESPONSE_POLICY_NAME: ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„(์˜ˆ: myresponsepolicy)
    • DNS_NAME: ๊ทœ์น™์„ ๋งŒ๋“ค DNS ์ด๋ฆ„(์˜ˆ: pubsub.googleapis.com.(ํ›„ํ–‰ ์  ์ฐธ์กฐ))
  3. restricted.googleapis.com์— IPv4 ๋ฐ IPv6 ์ฃผ์†Œ ๋ฒ”์œ„๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ IPv4 ๋ฐ IPv6 ์ฃผ์†Œ ๋ฒ”์œ„์˜ ๋ ˆ์ฝ”๋“œ ์„ธํŠธ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋œ ์ •์ฑ…์— ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
        --response-policy=RESPONSE_POLICY_NAME \
        --dns-name=DNS_NAME. \
        --local-data=name="DNS_NAME.",type="A",ttl=300,rrdatas="199.36.153.4|199.36.153.5|199.36.153.6|199.36.153.7" \
        --local-data=name="DNS_NAME.",type="AAAA",ttl=300,rrdatas="2600:2d00:0002:1000::"
    

API

  1. URL๋กœ ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    {
      kind: "dns#responsePolicy",
      response_policy_name: RESPONSE_POLICY_NAME,
      description: RESPONSE_POLICY_DESCRIPTION,
      networks: [
        {
          network_url: URL_TO_NETWORK;
        }
      ]
    }
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RESPONSE_POLICY_NAME: ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„
    • RESPONSE_POLICY_DESCRIPTION: ์‘๋‹ต ์ •์ฑ… ์„ค๋ช…
    • URL_TO_NETWORK: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“œ๋Š” URL

  2. restricted.googleapis.com์— IPv4 ์ฃผ์†Œ ๋ฒ”์œ„๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ IPv4 ์ฃผ์†Œ ๋ฒ”์œ„์˜ ๋ ˆ์ฝ”๋“œ ์„ธํŠธ๊ฐ€ ํฌํ•จ๋œ ์ •์ฑ…์— ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    {
      kind: "dns#responsePolicyRules",
      rule_name: RULE_NAME,
      dns_name: DNS_NAME,
      local_data: [
        {
          name: "DNS_NAME.",
          type: "A",
          ttl: 300,
          rrdata: ["199.36.153.4", "199.36.153.5", "199.36.153.6", "199.36.153.7"]
        }
      ]
    }
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RULE_NAME: ๋งŒ๋“ค ๊ทœ์น™์˜ ์ด๋ฆ„(์˜ˆ: pubsub)
    • DNS_NAME: ๊ทœ์น™์„ ๋งŒ๋“ค DNS ์ด๋ฆ„(์˜ˆ: pubsub.googleapis.com.(ํ›„ํ–‰ ์  ์ฐธ์กฐ))
  3. restricted.googleapis.com์— IPv4 ๋ฐ IPv6 ์ฃผ์†Œ ๋ฒ”์œ„๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ IPv4 ๋ฐ IPv6 ์ฃผ์†Œ ๋ฒ”์œ„์˜ ๋ ˆ์ฝ”๋“œ ์„ธํŠธ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋œ ์ •์ฑ…์— ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    {
      kind: "dns#responsePolicyRules",
      rule_name: RULE_NAME,
      dns_name: DNS_NAME,
      local_data: [
        {
          name: "DNS_NAME.",
          type: "A",
          ttl: 300,
          rrdata: [""199.36.153.4", "199.36.153.5", "199.36.153.6", "199.36.153.7""]
        }
      ],
      local_data: [
        {
          name: "DNS_NAME.",
          type: "AAAA",
          ttl: 300,
          rrdata: ["2600:2d00:0002:1000::"]
        }
      ]
    }
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RULE_NAME: ๋งŒ๋“ค ๊ทœ์น™์˜ ์ด๋ฆ„(์˜ˆ: pubsub)
    • DNS_NAME: ๊ทœ์น™์„ ๋งŒ๋“ค DNS ์ด๋ฆ„(์˜ˆ: pubsub.googleapis.com.(ํ›„ํ–‰ ์  ์ฐธ์กฐ))

์ œํ•œ๋œ VIP ์ฃผ์†Œ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์ด๋ฆ„ ์ „๋‹ฌ

์ „์ฒด ๋„๋ฉ”์ธ ๋˜๋Š” ๋Œ€ํ˜• IP ์ฃผ์†Œ ๋ธ”๋ก์„ ๋Œ€์ƒ์œผ๋กœ ํ•œ ์ •์ฑ… ๊ทœ์น™์—์„œ ์ผ๋ถ€ DNS ์‘๋‹ต์„ ์ œ์™ธํ•˜๋Š” ๊ทœ์น™์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐœ๋…์„ ํŒจ์Šค์Šค๋ฃจ ๋™์ž‘์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํŒจ์Šค์Šค๋ฃจ ๋™์ž‘์„ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋น„์Šค ์ œ์–ด๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์ด๋ฆ„์ด ์™€์ผ๋“œ ์นด๋“œ ์ด๋ฆ„ ๋’ค์— ํ‘œ์‹œ๋˜๋„๋ก ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

*.googleapis.com ์˜ˆ์‹œ์—์„œ ์™€์ผ๋“œ ์นด๋“œ ์ด๋ฆ„ ๋’ค์— www.googleapis.com์ด ํ‘œ์‹œ๋˜๋„๋ก ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. www์— ๋Œ€ํ•œ ์ผ์น˜๊ฒ€์ƒ‰์ด ์™€์ผ๋“œ ์นด๋“œ *๋ณด๋‹ค ์šฐ์„  ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ตฌ์„ฑ ์˜ˆ์‹œ์—์„œ๋Š” ํŠน์ • ์ด๋ฆ„์˜ ์ •์ฑ…์„ ๋งŒ๋“ค๊ณ  ํŠน์ • VPC ๋„คํŠธ์›Œํฌ์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋ฉด www.googleapis.com์ด ์™€์ผ๋“œ ์นด๋“œ *.googleapis.com์„ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud

  1. ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“ค๋ ค๋ฉด gcloud dns response-policies create ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies create RESPONSE_POLICY_NAME \
        --networks=NETWORK \
        --description=DESCRIPTION
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RESPONSE_POLICY_NAME: ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ…์˜ ์ด๋ฆ„์ด๋‚˜ ID(์˜ˆ: myresponsepolicy)
    • NETWORK: ์‘๋‹ต ์ •์ฑ…๊ณผ ์—ฐ๊ฒฐํ•  ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋„คํŠธ์›Œํฌ ์ด๋ฆ„ ๋ชฉ๋ก(์˜ˆ: network1,network2)
    • DESCRIPTION: ์‘๋‹ต ์ •์ฑ… ์„ค๋ช…(์˜ˆ: My new response policy)
  2. ์ •์ฑ…์— ์šฐํšŒ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด gcloud dns response-policies rules create ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  --behavior ํ”Œ๋ž˜๊ทธ๋ฅผ bypassResponsePolicy๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

    gcloud dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
        --response-policy=RESPONSE_POLICY_NAME \
        --dns-name=DNS_NAME \
        --behavior=bypassResponsePolicy
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RESPONSE_POLICY_RULE_NAME: ๋งŒ๋“ค๋ ค๋Š” ์‘๋‹ต ์ •์ฑ… ๊ทœ์น™์˜ ์ด๋ฆ„(์˜ˆ: myresponsepolicyrule)
    • RESPONSE_POLICY_NAME: ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„(์˜ˆ: myresponsepolicy)
    • DNS_NAME: DNS ๋˜๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„(์˜ˆ: www.googleapis.com)

API

  1. ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    {
      kind: "dns#responsePolicy",
      response_policy_name: RESPONSE_POLICY_NAME,
      description: RESPONSE_POLICY_DESCRIPTION,
      networks: [
        {
          network_url: URL_TO_NETWORK;
        }
      ]
    }
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RESPONSE_POLICY_NAME: ์‘๋‹ต ์ •์ฑ… ์ด๋ฆ„(์˜ˆ: my-response-policy)
    • RESPONSE_POLICY_DESCRIPTION: ์‘๋‹ต ์ •์ฑ… ์„ค๋ช…(์˜ˆ: my response policy)
    • URL_TO_NETWORK: ์‘๋‹ต ์ •์ฑ…์„ ๋งŒ๋“œ๋Š” URL
  2. ์ •์ฑ…์— ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    {
      kind: "dns#responsePolicyRules",
      rule_name: RULE_NAME,
      dns_name: DNS_NAME,
      local_data: [
        {
          name: "*.googleapis.com.",
          type: "A",
          ttl: 300,
          rrdata: ["restricted.googleapis.com."]
        }
      ]
    }
    {
      kind: "dns#responsePolicyRules",
      rule_name: "www-passthru",
      dns_name: "www.googleapis.com.",
      behavior: BYPASS_RESPONSE_POLICY
    }
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • RULE_NAME: ๋งŒ๋“ค ๊ทœ์น™์˜ ์ด๋ฆ„(์˜ˆ: googleapis)
    • DNS_NAME: ๊ทœ์น™์„ ๋งŒ๋“ค ์™€์ผ๋“œ ์นด๋“œ DNS ์ด๋ฆ„(์˜ˆ: *.googleapis.com.(ํ›„ํ–‰ ์  ์ฐธ์กฐ))

๋‹ค์Œ ๋‹จ๊ณ„