Google Cloud Armor๋ฅผ ๋‹ค๋ฅธ Google ์ œํ’ˆ๊ณผ ํ†ตํ•ฉ

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” Google Cloud Armor๊ฐ€ ๋‹ค๋ฅธ Google Cloud ๊ธฐ๋Šฅ ๋ฐ ์ œํ’ˆ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Google Cloud Armor ๋ฐ VPC ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™

Google Cloud Armor ๋ณด์•ˆ ์ •์ฑ…๊ณผ VPC ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์˜ ๊ธฐ๋Šฅ์€ ์„œ๋กœ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด CIDR ๋ฒ”์œ„ 100.1.1.0/24 ๋ฐ CIDR ๋ฒ”์œ„ 100.1.2.0/24์˜ ํŠธ๋ž˜ํ”ฝ๋งŒ ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋˜๋Š” ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์•ก์„ธ์Šคํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” ํŠธ๋ž˜ํ”ฝ์ด ๋ฐฑ์—”๋“œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์ธ์Šคํ„ด์Šค์— ์ง์ ‘ ๋„๋‹ฌํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ด€๋ จ ๋ณด์•ˆ ์ •์ฑ…์ด ์žˆ๋Š” ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋‚˜ ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ํ†ตํ•ด ํ”„๋ก์‹œ๋œ ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ๋งŒ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ธ๊ทธ๋ ˆ์Šค ๋ฐฉํ™”๋ฒฝ๊ณผ ํ•จ๊ป˜ Google Cloud Armor ๋ณด์•ˆ ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌ ์•ก์„ธ์Šค ์ œํ•œ
์ธ๊ทธ๋ ˆ์Šค ๋ฐฉํ™”๋ฒฝ๊ณผ ํ•จ๊ป˜ Google Cloud Armor ๋ณด์•ˆ ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌ ์•ก์„ธ์Šค ์ œํ•œ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

์•ž์„  ์ด๋ฏธ์ง€์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด Google Cloud ๋ฐฐํฌ๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๋ณด์•ˆ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ us-west1 ๋ฆฌ์ „๊ณผ europe-west1 ๋ฆฌ์ „์— ์žˆ๊ฒŒ ํ•˜์—ฌ ๋‘ ๊ฐœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  2. ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ VM์— ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.
  3. ํ”„๋ฆฌ๋ฏธ์—„ ๋“ฑ๊ธ‰์—์„œ ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋˜๋Š” ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๊ฐ€ ์ด์ „ ๋‹จ๊ณ„์—์„œ ๋งŒ๋“  ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋‘ ๊ฐœ์ธ URL ๋งต๊ณผ ๋‹จ์ผ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ์ „๋‹ฌ ๊ทœ์น™์ด 120.1.1.1 ์™ธ๋ถ€ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  4. 100.1.1.0/24 ๋ฐ 100.1.2.0/24์—์„œ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๊ณ  ๊ทธ ์™ธ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ๊ฑฐ๋ถ€ํ•˜๋Š” Google Cloud Armor ๋ณด์•ˆ ์ •์ฑ…์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  5. ์ด ์ •์ฑ…์„ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ณด์•ˆ ์ •์ฑ… ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ณด๋‹ค ๋ณต์žกํ•œ URL ๋งต์„ ์‚ฌ์šฉํ•˜๋Š” ์™ธ๋ถ€ HTTP(S) ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”์— ๋”ฐ๋ผ ๋ณด์•ˆ ์ •์ฑ…์„ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ํ•œ ๊ฐœ ์ด์ƒ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  6. ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋˜๋Š” ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๋„๋ก ์ธ๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๊ตฌ์„ฑํ•˜์„ธ์š”. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฐํฌ๊ฐ€ ํฌํ•จ๋œ Google Cloud Armor

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฐํฌ์—์„œ ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋˜๋Š” ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” Google Cloud์™ธ๋ถ€(์˜ˆ: ๋‹ค๋ฅธ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด์˜ ์ธํ”„๋ผ)์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ์ฝ˜ํ…์ธ  ์†Œ์Šค์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Google Cloud Armor๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๋ฐฐํฌ๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋‘ ๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ์„œ๋น„์Šค์—๋Š” ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์ด ๋ฐฑ์—”๋“œ๋กœ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์—๋Š” ์ธํ„ฐ๋„ท NEG๊ฐ€ ๋ฐฑ์—”๋“œ๋กœ ์žˆ์œผ๋ฉฐ ์ธํ„ฐ๋„ท NEG๋Š” ํƒ€์‚ฌ ์ œ๊ณต์—…์ฒด์˜ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฐํฌ์— ์‚ฌ์šฉ๋˜๋Š” Google Cloud Armor
ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฐํฌ์— ์‚ฌ์šฉ๋˜๋Š” Google Cloud Armor(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

์ธํ„ฐ๋„ท NEG๋ฅผ ๋ฐฑ์—”๋“œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— Google Cloud Armor ๋ณด์•ˆ ์ •์ฑ…์„ ์—ฐ๊ฒฐํ•˜๋ฉด Google Cloud Armor๋Š” ํ•ด๋‹น ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋˜๋Š” ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋„์ฐฉํ•˜๋Š” ๋ชจ๋“  L7 ์š”์ฒญ์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฐํฌ์— ์‚ฌ์šฉ๋˜๋Š” Google Cloud Armor ๋ณดํ˜ธ ์กฐ์น˜์—๋Š” ์ธํ„ฐ๋„ท NEG์— ์ ์šฉ๋˜๋Š” ์ œํ•œ์‚ฌํ•ญ๊ณผ ๋™์ผํ•œ ์ œํ•œ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Google Kubernetes Engine(GKE) ์ธ๊ทธ๋ ˆ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Google Cloud Armor

Google Cloud Armor ๋ณด์•ˆ ์ •์ฑ…์„ ๊ตฌ์„ฑํ•œ ํ›„์—๋Š” Kubernetes ์ธ๊ทธ๋ ˆ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE๋กœ ์‚ฌ์šฉ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

BackendConfig์— ๋ณด์•ˆ ์ •์ฑ… ์ด๋ฆ„์„ ์ถ”๊ฐ€ํ•˜์—ฌ BackendConfig ๋ฆฌ์†Œ์Šค๋กœ ๋ณด์•ˆ ์ •์ฑ…์„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ BackendConfig ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋Š” example-security-policy๋ผ๋Š” ๋ณด์•ˆ ์ •์ฑ…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
  namespace: cloud-armor-how-to
  name: my-backendconfig
spec:
  securityPolicy:
    name: "example-security-policy"

์ธ๊ทธ๋ ˆ์Šค ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ๊ทธ๋ ˆ์Šค ๊ธฐ๋Šฅ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Cloud CDN์ด ํฌํ•จ๋œ Google Cloud Armor

CDN ์›๋ณธ ์„œ๋ฒ„๋ฅผ ๋ณดํ˜ธํ•˜๋ ค๋ฉด Cloud CDN๊ณผ ํ•จ๊ป˜ Google Cloud Armor๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. Google Cloud Armor๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ CDN ์›๋ณธ ์„œ๋ฒ„๋ฅผ ๋ณดํ˜ธํ•˜๊ณ  OWASP ์ƒ์œ„ 10๊ฐœ ์œ„ํ—˜์„ ์™„ํ™”ํ•˜๊ณ  ๋ ˆ์ด์–ด 7 ํ•„ํ„ฐ๋ง ์ •์ฑ…์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. Google Cloud Armor๊ฐ€ Cloud CDN์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋ณด์•ˆ ์ •์ฑ…์—๋Š” ์—์ง€ ๋ณด์•ˆ ์ •์ฑ…๊ณผ ๋ฐฑ์—”๋“œ ๋ณด์•ˆ ์ •์ฑ…์˜ ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์—์ง€ ๋ณด์•ˆ ์ •์ฑ…

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

๋ฐฑ์—”๋“œ ๋ณด์•ˆ ์ •์ฑ…

Cloud CDN์ด ์‚ฌ์šฉ ์„ค์ •๋œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— Google Cloud Armor ๋ฐฑ์—”๋“œ ๋ณด์•ˆ ์ •์ฑ…์ด ์ ์šฉ๋˜๋ฉด ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋กœ ๋ผ์šฐํŒ…๋œ ์š”์ฒญ์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์š”์ฒญ์—๋Š” ๋™์  ์ฝ˜ํ…์ธ  ์š”์ฒญ๊ณผ ์บ์‹œ ๋ถ€์ ์ค‘, ์ฆ‰ Cloud CDN ์บ์‹œ๋ฅผ ๋ˆ„๋ฝํ•˜๊ฑฐ๋‚˜ ์šฐํšŒํ•˜๋Š” ์š”์ฒญ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์—์ง€ ๋ณด์•ˆ ์ •์ฑ…๊ณผ ๋ฐฑ์—”๋“œ ๋ณด์•ˆ ์ •์ฑ…์ด ๋™์ผํ•œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ ์—์ง€ ๋ณด์•ˆ ์ •์ฑ…์„ ํ†ต๊ณผํ•œ ์บ์‹œ ๋ถ€์ ์ค‘ ์š”์ฒญ์— ๋Œ€ํ•ด์„œ๋งŒ ๋ฐฑ์—”๋“œ ๋ณด์•ˆ ์ •์ฑ…์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์—์ง€ ๋ณด์•ˆ ์ •์ฑ…์—์„œ ์š”์ฒญ์ด ํ—ˆ์šฉ๋œ ํ›„ ๋ฐฑ์—”๋“œ ๋ณด์•ˆ ์ •์ฑ…์ด Cloud CDN ์›๋ณธ์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹๋งŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

Cloud CDN์ด ํฌํ•จ๋œ Google Cloud Armor ๋ฐฑ์—”๋“œ ๋ณด์•ˆ ์ •์ฑ… ์‚ฌ์šฉ
Cloud CDN์ด ํฌํ•จ๋œ Google Cloud Armor ๋ฐฑ์—”๋“œ ๋ณด์•ˆ ์ •์ฑ… ์‚ฌ์šฉ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

Cloud CDN์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Cloud CDN ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Cloud Run, App Engine ๋˜๋Š” Cloud Run ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Google Cloud Armor

Google Cloud Armor ๋ณด์•ˆ ์ •์ฑ…์„ Cloud Run, App Engine ๋˜๋Š” Cloud Run ํ•จ์ˆ˜ ์„œ๋น„์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์„œ๋ฒ„๋ฆฌ์Šค NEG ๋ฐฑ์—”๋“œ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ Google Cloud Armor๋ฅผ ์„œ๋ฒ„๋ฆฌ์Šค NEG, Cloud Run ๋˜๋Š” Cloud Run ํ•จ์ˆ˜์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์„œ๋ฒ„๋ฆฌ์Šค ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•œ ๋ชจ๋“  ์•ก์„ธ์Šค๊ฐ€ Google Cloud Armor ๋ณด์•ˆ ์ •์ฑ…์„ ํ†ตํ•ด ํ•„ํ„ฐ๋ง๋˜๋„๋ก ํŠน์ˆ˜ํ•œ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋ณธ URL์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์šฐํšŒํ•˜์—ฌ ์„œ๋น„์Šค URL๋กœ ์ง์ ‘ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด Google Cloud Armor ๋ณด์•ˆ ์ •์ฑ…์„ ์šฐํšŒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด Google Cloud ์—์„œ Cloud Run ์„œ๋น„์Šค๋‚˜ Cloud Run ํ•จ์ˆ˜(2์„ธ๋Œ€)์— ์ž๋™์œผ๋กœ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋ณธ URL์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. App Engine ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณดํ˜ธํ•˜๋ ค๋ฉด ์ธ๊ทธ๋ ˆ์Šค ์ปจํŠธ๋กค์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ธ๊ทธ๋ ˆ์Šค ์ปจํŠธ๋กค์„ ์‚ฌ์šฉํ•˜์—ฌ ์•ก์„ธ์Šค ์ œ์–ด๊ฐ€ ๋ชจ๋“  ์ˆ˜์‹  ํŠธ๋ž˜ํ”ฝ์— ์ ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด Cloud Run ํ•จ์ˆ˜ ๋˜๋Š” Cloud Run์„ ๊ตฌ์„ฑํ•  ๋•Œ internal-and-gclb๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋˜๋Š” ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ๋…ธ์ถœ๋˜๋Š” ์™ธ๋ถ€ IP ์ฃผ์†Œ๋กœ ์ „์†ก๋˜๋Š” ํŠธ๋ž˜ํ”ฝ๊ณผ ๋‚ด๋ถ€ ํŠธ๋ž˜ํ”ฝ๋งŒ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋น„๊ณต๊ฐœ ๋„คํŠธ์›Œํฌ ์™ธ๋ถ€์—์„œ ์ด๋Ÿฌํ•œ ๊ธฐ๋ณธ URL๋กœ ์ „์†ก๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์ด ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋‚˜ ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ํ†ตํ•ด ์„ค์ •๋œ ์•ก์„ธ์Šค ์ œ์–ด(์˜ˆ: Google Cloud Armor ๋ณด์•ˆ ์ •์ฑ…)๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฆฌ์Šค NEG์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„œ๋ฒ„๋ฆฌ์Šค ๋„คํŠธ์›Œํฌ ์—”๋“œํฌ์ธํŠธ ๊ทธ๋ฃน ๊ฐœ์š” ๋ฐ ์„œ๋ฒ„๋ฆฌ์Šค NEG ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

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