๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋กœ๊น…

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

์—ฐ๊ฒฐ์„ ๋กœ๊น…ํ•ด์•ผ ํ•˜๋Š” ๊ฐ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์— ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋กœ๊น…์„ ๊ฐœ๋ณ„์ ์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋กœ๊น…์€ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์˜ ์ž‘์—…(allow ๋˜๋Š” deny) ๋˜๋Š” ๋ฐฉํ–ฅ(์ธ๊ทธ๋ ˆ์Šค ๋˜๋Š” ์ด๊ทธ๋ ˆ์Šค)์— ๊ด€๊ณ„์—†์ด ๋ชจ๋“  ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์— ๋Œ€ํ•œ ์˜ต์…˜์ž…๋‹ˆ๋‹ค.

๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋กœ๊น…์€ Compute Engine ๊ฐ€์ƒ ๋จธ์‹ (VM) ์ธ์Šคํ„ด์Šค์—์„œ ์ฃผ๊ณ ๋ฐ›๋Š” ํŠธ๋ž˜ํ”ฝ์„ ๋กœ๊น…ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” Google Kubernetes Engine(GKE) ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ App Engine ๊ฐ€๋ณ€ํ˜• ํ™˜๊ฒฝ ์ธ์Šคํ„ด์Šค์™€ ๊ฐ™์ด Compute Engine VM์—์„œ ๋นŒ๋“œ๋œGoogle Cloud ์ œํ’ˆ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์— ๋กœ๊น…์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด Google Cloud ๋Š” ๊ทœ์น™์ด ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•  ๋•Œ๋งˆ๋‹ค ์—ฐ๊ฒฐ ๋ ˆ์ฝ”๋“œ๋ผ๊ณ  ํ•˜๋Š” ํ•ญ๋ชฉ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋ก์€ Cloud Logging์—์„œ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ Cloud Logging ๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ ์ง€์›๋˜๋Š” ๋ชจ๋“  ๋Œ€์ƒ์œผ๋กœ ๋กœ๊ทธ๋ฅผ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ์—ฐ๊ฒฐ ๋ ˆ์ฝ”๋“œ์—๋Š” ์†Œ์Šค ๋ฐ ๋Œ€์ƒ IP ์ฃผ์†Œ, ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ, ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„, ํŠธ๋ž˜ํ”ฝ์— ์ ์šฉ๋œ ๋ฐฉํ™”๋ฒฝ์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋กœ๊น…์€ VPC ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™๊ณผ ๊ณ„์ธต์  ๋ฐฉํ™”๋ฒฝ ์ •์ฑ… ๋ชจ๋‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ๋ฅผ ๋ณด๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋กœ๊น… ์‚ฌ์šฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์‚ฌ์–‘

๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋กœ๊น…์˜ ์‚ฌ์–‘์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋กœ๊น… ์˜ˆ์‹œ

๋กœ๊ทธ ํ•ญ๋ชฉ์€ ๋กœ๊น…์ด ์‚ฌ์šฉ ์„ค์ •๋œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ํŠธ๋ž˜ํ”ฝ์— ์ ์šฉ๋  ๋•Œ๋งˆ๋‹ค ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ง€์ •๋œ ํŒจํ‚ท ํ๋ฆ„์—๋Š” ๋กœ๊ทธ ํ•ญ๋ชฉ์ด ์ด 2๊ฐœ ์ด์ƒ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ์ง€์ •๋œ VM์˜ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ VM์— ์ ์šฉ๋˜๋Š” ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์— ๋กœ๊น…์ด ์‚ฌ์šฉ ์„ค์ •๋˜๋ฉด ๋กœ๊ทธ ํ•ญ๋ชฉ์ด ์ตœ๋Œ€ 1๊ฐœ๋งŒ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” ๋ฐฉํ™”๋ฒฝ ๋กœ๊ทธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋ฐฉ์‹์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ด๊ทธ๋ ˆ์Šค ๊ฑฐ๋ถ€ ์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • example-proj ํ”„๋กœ์ ํŠธ์˜ example-net VPC ๋„คํŠธ์›Œํฌ์—์„œ VM ์ธ์Šคํ„ด์Šค ์‚ฌ์ด์˜ ํŠธ๋ž˜ํ”ฝ์ด ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค.
  • ๋‘ ๊ฐœ์˜ VM ์ธ์Šคํ„ด์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • west-subnet(us-west1 ๋ฆฌ์ „)์—์„œ IP ์ฃผ์†Œ๊ฐ€ 10.10.0.99์ธ us-west1-a ์˜์—ญ์˜ VM1
    • east-subnet(us-east1 ๋ฆฌ์ „)์—์„œ IP ์ฃผ์†Œ๊ฐ€ 10.20.0.99์ธ us-east1-b ์˜์—ญ์˜ VM2
  • ๊ทœ์น™ A: ์ด๊ทธ๋ ˆ์Šค ๊ฑฐ๋ถ€ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์€ ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๋Œ€์ƒ์ธ 10.20.0.99(VM2) ๋Œ€์ƒ์„ ํฌํ•จํ•˜๋ฉฐ TCP ํฌํŠธ 80์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • ์ด ๊ทœ์น™์€ ๋กœ๊น…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ทœ์น™ B: ์ธ๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์€ ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๋Œ€์ƒ์ธ 10.10.0.99(VM1) ์†Œ์Šค๋ฅผ ํฌํ•จํ•˜๋ฉฐ TCP ํฌํŠธ 80์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • ์ด ๊ทœ์น™์—๋„ ๋กœ๊น…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ gcloud ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ทœ์น™ A: TCP 80์— ๋Œ€ํ•œ ์ด๊ทธ๋ ˆ์Šค ๊ฑฐ๋ถ€ ๊ทœ์น™์ด๋ฉฐ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค, 10.20.0.99 ๋Œ€์ƒ์— ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create rule-a \
        --network example-net \
        --action deny \
        --direction EGRESS \
        --rules tcp:80 \
        --destination-ranges 10.20.0.99/32 \
        --priority 10 \
        --enable-logging
    
  • ๊ทœ์น™ B: TCP 80์— ๋Œ€ํ•œ ์ธ๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๊ทœ์น™์ด๋ฉฐ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค, 10.10.0.99 ์†Œ์Šค์— ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create rule-b \
        --network example-net \
        --action allow \
        --direction INGRESS \
        --rules tcp:80 \
        --source-ranges 10.10.0.99/32 \
        --priority 10 \
        --enable-logging
    
VM1์—์„œ VM2๋กœ ์—ฐ๊ฒฐ
VM1-VM2 ์—ฐ๊ฒฐ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

VM1์ด TCP ํฌํŠธ 80์—์„œ VM2๋กœ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ๋กœ๊น…๋ฉ๋‹ˆ๋‹ค.

  • VM1์ด 10.20.0.99(VM2)๋กœ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•˜๋ฉด VM1์˜ ๊ด€์ ์—์„œ ๊ทœ์น™ A์˜ ๋กœ๊ทธ ํ•ญ๋ชฉ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • ๊ทœ์น™ A๊ฐ€ ์‹ค์ œ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ฐจ๋‹จํ•˜์—ฌ ๊ทœ์น™ B๋Š” ๊ณ ๋ ค๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ VM2์˜ ๊ด€์ ์—์„œ ๊ทœ์น™ B์˜ ๋กœ๊ทธ ํ•ญ๋ชฉ์€ ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” ๋ฐฉํ™”๋ฒฝ ๋กœ๊ทธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

ํ•„๋“œ ๊ฐ’
connection src_ip=10.10.0.99
src_port=[EPHEMERAL_PORT]
dest_ip=10.20.0.99
dest_port=80
protocol=6
disposition ๊ฑฐ๋ถ€๋จ
rule_details reference = "network:example-net/firewall:rule-a"
priority = 10
action = DENY
destination_range = 10.20.0.99/32
ip_port_info = tcp:80
direction = egress
์ธ์Šคํ„ด์Šค project_id="example-proj"
instance_name=VM1
region=us-west1
zone=us-west1-a
vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=west-subnet
remote_instance project_id="example-proj"
instance_name=VM2
region=us-east1
zone=us-east1-b
remote_vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=east-subnet
remote_location ์ •๋ณด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ํ•„๋“œ๋Š” ๋Œ€์ƒ์ด VPC ๋„คํŠธ์›Œํฌ ์™ธ๋ถ€์— ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ, ์ธ๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • example-proj ํ”„๋กœ์ ํŠธ์˜ example-net VPC ๋„คํŠธ์›Œํฌ์—์„œ VM ์ธ์Šคํ„ด์Šค ์‚ฌ์ด์˜ ํŠธ๋ž˜ํ”ฝ์ด ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค.
  • ๋‘ ๊ฐœ์˜ VM ์ธ์Šคํ„ด์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • west-subnet(us-west1 ๋ฆฌ์ „)์—์„œ IP ์ฃผ์†Œ๊ฐ€ 10.10.0.99์ธ us-west1-a ์˜์—ญ์˜ VM1
    • east-subnet(us-east1 ๋ฆฌ์ „)์—์„œ IP ์ฃผ์†Œ๊ฐ€ 10.20.0.99์ธ us-east1-b ์˜์—ญ์˜ VM2
  • ๊ทœ์น™ A: ์ด๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์€ ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๋Œ€์ƒ์ธ 10.20.0.99(VM2) ๋Œ€์ƒ์„ ํฌํ•จํ•˜๋ฉฐ TCP ํฌํŠธ 80์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • ์ด ๊ทœ์น™์€ ๋กœ๊น…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ทœ์น™ B: ์ธ๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์€ ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๋Œ€์ƒ์ธ 10.10.0.99(VM1) ์†Œ์Šค๋ฅผ ํฌํ•จํ•˜๋ฉฐ TCP ํฌํŠธ 80์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • ์ด ๊ทœ์น™์—๋„ ๋กœ๊น…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ gcloud ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ทœ์น™ A: TCP 80์— ๋Œ€ํ•œ ์ด๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๊ทœ์น™์ด๋ฉฐ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค, 10.20.0.99(VM2) ๋Œ€์ƒ์— ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create rule-a \
        --network example-net \
        --action allow \
        --direction EGRESS \
        --rules tcp:80 \
        --destination-ranges 10.20.0.99/32 \
        --priority 10 \
        --enable-logging
    
  • ๊ทœ์น™ B: TCP 80์— ๋Œ€ํ•œ ์ธ๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๊ทœ์น™์ด๋ฉฐ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค, 10.10.0.99(VM1) ์†Œ์Šค์— ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create rule-b \
        --network example-net \
        --action allow \
        --direction INGRESS \
        --rules tcp:80 \
        --source-ranges 10.10.0.99/32 \
        --priority 10 \
        --enable-logging
    
VM1์—์„œ VM2๋กœ ์—ฐ๊ฒฐ
VM1-VM2 ์—ฐ๊ฒฐ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

VM1์ด TCP ํฌํŠธ 80์—์„œ VM2๋กœ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ๋กœ๊น…๋ฉ๋‹ˆ๋‹ค.

  • VM1์ด 10.20.0.99(VM2)์— ์—ฐ๊ฒฐ๋˜๋ฉด VM1์˜ ๊ด€์ ์—์„œ ๊ทœ์น™ A์˜ ๋กœ๊ทธ ํ•ญ๋ชฉ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • VM2๊ฐ€ 10.10.0.99(VM1)์˜ ์ˆ˜์‹  ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•˜๋ฉด VM2์˜ ๊ด€์ ์—์„œ ๊ทœ์น™ B์˜ ๋กœ๊ทธ ํ•ญ๋ชฉ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” VM1์—์„œ ๋ณด๊ณ ํ•œ ๋ฐฉํ™”๋ฒฝ ๋กœ๊ทธ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ํ•„๋“œ ๊ฐ’
connection src_ip=10.10.0.99
src_port=[EPHEMERAL_PORT]
dest_ip=10.20.0.99
dest_port=80
protocol=6
disposition ํ—ˆ์šฉ๋จ
rule_details reference = "network:example-net/firewall:rule-a"
priority = 10
action = ALLOW
destination_range = 10.20.0.99/32
ip_port_info = tcp:80
direction = egress
์ธ์Šคํ„ด์Šค project_id="example-proj"
instance_name=VM1
region=us-west1
zone=us-west1-a
vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=west-subnet
remote_instance project_id="example-proj"
instance_name=VM2
region=us-east1
zone=us-east1-b
remote_vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=east-subnet
remote_location ์ •๋ณด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ํ•„๋“œ๋Š” ๋Œ€์ƒ์ด VPC ๋„คํŠธ์›Œํฌ ์™ธ๋ถ€์— ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” VM2์—์„œ ๋ณด๊ณ ํ•œ ๋ฐฉํ™”๋ฒฝ ๋กœ๊ทธ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ํ•„๋“œ ๊ฐ’
connection src_ip=10.10.0.99
src_port=[EPHEMERAL_PORT]
dest_ip=10.20.0.99
dest_port=80
protocol=6
disposition ํ—ˆ์šฉ๋จ
rule_details reference = "network:example-net/firewall:rule-b"
priority = 10
action = ALLOW
source_range = 10.10.0.99/32
ip_port_info = tcp:80
direction = ingress
์ธ์Šคํ„ด์Šค project_id="example-proj"
instance_name=VM2
region=us-east1
zone=us-east1-b
vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=east-subnet
remote_instance project_id="example-proj"
instance_name=VM1
region=us-west1
zone=us-west1-a
remote_vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=west-subnet
remote_location ์ •๋ณด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ํ•„๋“œ๋Š” ๋Œ€์ƒ์ด VPC ๋„คํŠธ์›Œํฌ ์™ธ๋ถ€์— ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ธํ„ฐ๋„ท ์ธ๊ทธ๋ ˆ์Šค ์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • example-net VPC ๋„คํŠธ์›Œํฌ ์™ธ๋ถ€์˜ ์‹œ์Šคํ…œ์—์„œ ์ด ๋„คํŠธ์›Œํฌ์˜ VM ์ธ์Šคํ„ด์Šค๋กœ ์ด๋™ํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ์ด ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๋Š” example-proj ํ”„๋กœ์ ํŠธ์— ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ธํ„ฐ๋„ท ์‹œ์Šคํ…œ์˜ IP ์ฃผ์†Œ๋Š” 203.0.113.114์ž…๋‹ˆ๋‹ค.
  • west-subnet(us-west1 ๋ฆฌ์ „)์—์„œ IP ์ฃผ์†Œ๊ฐ€ 10.10.0.99์ธ us-west1-a ์˜์—ญ์˜ VM1
  • ๊ทœ์น™ C: ์ธ๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์€ ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๋Œ€์ƒ์ธ ๋ชจ๋“  IP ์ฃผ์†Œ(0.0.0.0/0) ์†Œ์Šค๋ฅผ ํฌํ•จํ•˜๋ฉฐ TCP ํฌํŠธ 80์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • ์ด ๊ทœ์น™์€ ๋กœ๊น…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ทœ์น™ D: ์ด๊ทธ๋ ˆ์Šค ๊ฑฐ๋ถ€ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์€ ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๋Œ€์ƒ์ธ IP ์ฃผ์†Œ(0.0.0.0/0) ๋Œ€์ƒ์„ ํฌํ•จํ•˜๋ฉฐ ๋ชจ๋“  ํ”„๋กœํ† ์ฝœ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • ์ด ๊ทœ์น™์—๋„ ๋กœ๊น…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ gcloud ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ทœ์น™ C: TCP 80์— ๋Œ€ํ•œ ์ธ๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๊ทœ์น™์ด๋ฉฐ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค, ๋ชจ๋“  ์†Œ์Šค์— ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create rule-c \
        --network example-net \
        --action allow \
        --direction INGRESS \
        --rules tcp:80 \
        --source-ranges 0.0.0.0/0 \
        --priority 10 \
        --enable-logging
    
  • ๊ทœ์น™ D: ๋ชจ๋“  ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์†ก์‹  ๊ฑฐ๋ถ€ ๊ทœ์น™์ด๋ฉฐ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค, ๋ชจ๋“  ๋Œ€์ƒ์— ์ ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create rule-d \
        --network example-net \
        --action deny \
        --direction EGRESS \
        --rules all \
        --destination-ranges 0.0.0.0/0 \
        --priority 10 \
        --enable-logging
    
์ธํ„ฐ๋„ท๊ณผ VM ์—ฐ๊ฒฐ
์ธํ„ฐ๋„ท-VM ์—ฐ๊ฒฐ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

IP ์ฃผ์†Œ๊ฐ€ 203.0.113.114์ธ ์‹œ์Šคํ…œ์ด TCP ํฌํŠธ 80์—์„œ VM1๋กœ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • VM1์ด 203.0.113.114์˜ ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๋ฉด VM1์˜ ๊ด€์ ์—์„œ ๊ทœ์น™ C์˜ ๋กœ๊ทธ ํ•ญ๋ชฉ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • Google Cloud ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์€ ์ƒํƒœ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ทœ์น™ D์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  VM1์€ ์ˆ˜์‹  ์š”์ฒญ์— ์‘๋‹ตํ•˜๋„๋ก ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜์‹  ์š”์ฒญ์ด ํ—ˆ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ์„ค์ •๋œ ์‘๋‹ต์€ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์ด๊ทธ๋ ˆ์Šค ๊ทœ์น™์œผ๋กœ ์ฐจ๋‹จํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๊ทœ์น™ D๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์•„ ๊ณ ๋ ค๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ทœ์น™ D์˜ ๋กœ๊ทธ ํ•ญ๋ชฉ์€ ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” ๋ฐฉํ™”๋ฒฝ ๋กœ๊ทธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

ํ•„๋“œ ๊ฐ’
connection src_ip=203.0.113.114
src_port=[EPHEMERAL_PORT]
dest_ip=10.10.0.99
dest_port=80
protocol=6
disposition ํ—ˆ์šฉ๋จ
rule_details reference = "network:my-vpc/firewall:rule-c"
priority = 10
action = ALLOW
source_range = 0.0.0.0/0
ip_port_info = tcp:80
direction = ingress
์ธ์Šคํ„ด์Šค project_id="example-proj"
instance_name=VM1
region=us-west1
zone=us-west1-a
vpc project_id="example-proj"
vpc_name=example-net
subnetwork_name=west-subnet
remote_location continent
country
region
city

๋ฐฉํ™”๋ฒฝ ๋กœ๊ทธ ํ˜•์‹

VM ์ธ์Šคํ„ด์Šค๋ฅผ ์˜ค๊ฐ€๋Š” ํŠธ๋ž˜ํ”ฝ์— ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์–‘์— ๋”ฐ๋ผ ๋กœ๊น…์ด ์‚ฌ์šฉ ์„ค์ •๋œ ๊ฐ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์— ๋Œ€ํ•ด Cloud Logging์— ๋กœ๊ทธ ํ•ญ๋ชฉ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ ๊ธฐ๋ก์€ Logging LogEntry์˜ JSON ํŽ˜์ด๋กœ๋“œ ํ•„๋“œ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋กœ๊ทธ ๋ ˆ์ฝ”๋“œ์—๋Š” ๋ชจ๋“  ๋กœ๊ทธ ๋ ˆ์ฝ”๋“œ์˜ ํ•ต์‹ฌ ํ•„๋“œ์ธ ๊ธฐ๋ณธ ํ•„๋“œ์™€ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ๋ฅผ ํฌํ•จํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•„๋“œ๋ฅผ ์ƒ๋žตํ•˜๋ฉด ์Šคํ† ๋ฆฌ์ง€ ๋น„์šฉ์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋กœ๊ทธ ํ•„๋“œ๋Š” ํ•„๋“œ์ด๊ธฐ๋„ ํ•œ ๊ฐ’์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•„๋“œ์—๋Š” ์ง€์ •๋œ ํ•„๋“œ์— 2๊ฐœ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด connection ํ•„๋“œ๋Š” IpConnection ํ˜•์‹์ด๋ฉฐ ์†Œ์Šค ๋ฐ ๋Œ€์ƒ IP ์ฃผ์†Œ, ํฌํŠธ, ํ”„๋กœํ† ์ฝœ์ด ๋‹จ์ผ ํ•„๋“œ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•„๋“œ๋Š” ๋‹ค์Œ ํ‘œ์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„๋“œ ์„ค๋ช… ํ•„๋“œ ์œ ํ˜•: ๊ธฐ๋ณธ ๋˜๋Š” ์„ ํƒ์  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
connection IpConnection
์ด ์—ฐ๊ฒฐ์˜ ์†Œ์Šค ๋ฐ ๋Œ€์ƒ IP ์ฃผ์†Œ, ์†Œ์Šค ๋ฐ ๋Œ€์ƒ ํฌํŠธ, IP ํ”„๋กœํ† ์ฝœ์„ ์„ค๋ช…ํ•˜๋Š” 5-ํŠœํ”Œ์ž…๋‹ˆ๋‹ค.
๊ธฐ๋ณธ
disposition ๋ฌธ์ž์—ด์€
์—ฐ๊ฒฐ์ด ALLOWED์ธ์ง€ DENIED์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
๊ธฐ๋ณธ
rule_details RuleDetails
์ด ์—ฐ๊ฒฐ์— ์ ์šฉ๋œ ๊ทœ์น™์˜ ์„ธ๋ถ€์ •๋ณด์ž…๋‹ˆ๋‹ค.
rule_details.reference ํ•„๋“œ ๊ธฐ๋ณธ
๊ธฐํƒ€ ๊ทœ์น™ ์„ธ๋ถ€์ •๋ณด ํ•„๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
์ธ์Šคํ„ด์Šค InstanceDetails
VM ์ธ์Šคํ„ด์Šค ์„ธ๋ถ€์ •๋ณด์ž…๋‹ˆ๋‹ค. ๊ณต์œ  VPC ๊ตฌ์„ฑ์—์„œ project_id๋Š” ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
vpc VpcDetails
VPC ๋„คํŠธ์›Œํฌ ์„ธ๋ถ€์ •๋ณด์ž…๋‹ˆ๋‹ค. ๊ณต์œ  VPC ๊ตฌ์„ฑ์—์„œ project_id๋Š” ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
remote_instance InstanceDetails
์—ฐ๊ฒฐ์˜ ์›๊ฒฉ ์—”๋“œํฌ์ธํŠธ๊ฐ€ Compute Engine์— ์œ„์น˜ํ•œ VM์ธ ๊ฒฝ์šฐ VM ์ธ์Šคํ„ด์Šค ์„ธ๋ถ€์ •๋ณด๊ฐ€ ์ด ํ•„๋“œ์— ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค.
๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
remote_vpc VpcDetails
์—ฐ๊ฒฐ์˜ ์›๊ฒฉ ์—”๋“œํฌ์ธํŠธ๊ฐ€ VPC ๋„คํŠธ์›Œํฌ์— ์žˆ๋Š” VM์ธ ๊ฒฝ์šฐ ์ด ํ•„๋“œ๋Š” ๋„คํŠธ์›Œํฌ ์„ธ๋ถ€์ •๋ณด๋กœ ์ฑ„์›Œ์ง‘๋‹ˆ๋‹ค.
๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
remote_location GeographicDetails
์—ฐ๊ฒฐ์˜ ์›๊ฒฉ ์—”๋“œํฌ์ธํŠธ๊ฐ€ VPC ๋„คํŠธ์›Œํฌ์— ์™ธ๋ถ€์— ์žˆ๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์œ„์น˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์ด ํ•„๋“œ์— ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค.
๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

IpConnection

ํ•„๋“œ ์œ ํ˜• ์„ค๋ช…
src_ip ๋ฌธ์ž์—ด ์†Œ์Šค IP ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ์†Œ์Šค๊ฐ€ Compute Engine VM์ธ ๊ฒฝ์šฐ src_ip๋Š” ๊ธฐ๋ณธ ๋‚ด๋ถ€ IP ์ฃผ์†Œ์ด๊ฑฐ๋‚˜ VM ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ณ„์นญ IP ๋ฒ”์œ„์— ์žˆ๋Š” ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ์™ธ๋ถ€ IP ์ฃผ์†Œ๋Š” ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. VM์ด ํŒจํ‚ท ํ—ค๋”์—์„œ IP ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•  ๋•Œ VM์—์„œ TCP ๋คํ”„๋ฅผ ์‹คํ–‰ํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•˜๊ฒŒ ๋กœ๊น…์— VM์˜ IP๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
src_port ์ •์ˆ˜ ์†Œ์Šค ํฌํŠธ
dest_ip ๋ฌธ์ž์—ด ๋Œ€์ƒ IP ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ๋Œ€์ƒ์ด Google Cloud VM์ธ ๊ฒฝ์šฐ dest_ip๋Š” ๊ธฐ๋ณธ ๋‚ด๋ถ€ IP ์ฃผ์†Œ์ด๊ฑฐ๋‚˜ VM ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ณ„์นญ IP ๋ฒ”์œ„์— ์žˆ๋Š” ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ์™ธ๋ถ€ IP ์ฃผ์†Œ๋Š” ์—ฐ๊ฒฐ์— ์‚ฌ์šฉ๋œ ๊ฒฝ์šฐ์—๋„ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
dest_port ์ •์ˆ˜ ๋Œ€์ƒ ํฌํŠธ
ํ”„๋กœํ† ์ฝœ ์ •์ˆ˜ ์—ฐ๊ฒฐ์˜ IP ํ”„๋กœํ† ์ฝœ

RuleDetails

ํ•„๋“œ ์œ ํ˜• ์„ค๋ช…
์ฐธ์กฐ ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์— ๋Œ€ํ•œ ์ฐธ์กฐ์ž…๋‹ˆ๋‹ค. ํ˜•์‹:
"network:{network name}/firewall:{firewall_name}"
์šฐ์„ ์ˆœ์œ„ ์ •์ˆ˜ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์˜ ์šฐ์„ ์ˆœ์œ„์ž…๋‹ˆ๋‹ค.
action ๋ฌธ์ž์—ด ALLOW ๋˜๋Š” DENY
source_range[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ์†Œ์Šค ๋ฒ”์œ„ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
destination_range[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋Œ€์ƒ ๋ฒ”์œ„ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
ip_port_info[ ] IpPortDetails ๊ทœ์น™์˜ IP ํ”„๋กœํ† ์ฝœ ๋ฐ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํฌํŠธ ๋ฒ”์œ„ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
direction ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ฐฉํ–ฅ์ž…๋‹ˆ๋‹ค(์ธ๊ทธ๋ ˆ์Šค ๋˜๋Š” ์ด๊ทธ๋ ˆ์Šค).
source_tag[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ์†Œ์Šค ํƒœ๊ทธ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
target_tag[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ๋Œ€์ƒ ํƒœ๊ทธ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
source_service_account[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ์†Œ์Šค ์„œ๋น„์Šค ๊ณ„์ • ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
target_service_account[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ๋Œ€์ƒ ์„œ๋น„์Šค ๊ณ„์ • ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
source_region_code[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ์†Œ์Šค ๊ตญ๊ฐ€ ์ฝ”๋“œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
destination_region_code[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ๋Œ€์ƒ ๊ตญ๊ฐ€ ์ฝ”๋“œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
source_fqdn[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ์†Œ์Šค ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
destination_fqdn[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ๋Œ€์ƒ ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
source_threat_intelligence[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ์†Œ์Šค Google Threat Intelligence ๋ชฉ๋ก ์ด๋ฆ„์˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
destination_threat_intelligence[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ๋Œ€์ƒ Google Threat Intelligence ๋ชฉ๋ก ์ด๋ฆ„์˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
source_address_groups[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ์†Œ์Šค ์ฃผ์†Œ ๊ทธ๋ฃน์˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
destination_address_groups[ ] ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋ชจ๋“  ๋Œ€์ƒ ์ฃผ์†Œ ๊ทธ๋ฃน์˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

IpPortDetails

ํ•„๋“œ ์œ ํ˜• ์„ค๋ช…
ip_protocol ๋ฌธ์ž์—ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” IP ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ํ”„๋กœํ† ์ฝœ์— ์ ์šฉ๋˜๋ฉด 'ALL'์ž…๋‹ˆ๋‹ค.
port_range[ ] ๋ฌธ์ž์—ด ๊ทœ์น™์— ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํฌํŠธ ๋ฒ”์œ„ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค(์˜ˆ: 8080-9090).

InstanceDetails

ํ•„๋“œ ์œ ํ˜• ์„ค๋ช…
project_id ๋ฌธ์ž์—ด VM์ด ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ์˜ ID
vm_name ๋ฌธ์ž์—ด VM์˜ ์ธ์Šคํ„ด์Šค ์ด๋ฆ„
์ง€์—ญ ๋ฌธ์ž์—ด VM์˜ ๋ฆฌ์ „
์˜์—ญ ๋ฌธ์ž์—ด VM์˜ ์˜์—ญ

VpcDetails

ํ•„๋“œ ์œ ํ˜• ์„ค๋ช…
project_id ๋ฌธ์ž์—ด ๋„คํŠธ์›Œํฌ๊ฐ€ ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ์˜ ID
vpc_name ๋ฌธ์ž์—ด VM์ด ์ž‘๋™ ์ค‘์ธ ๋„คํŠธ์›Œํฌ
subnetwork_name ๋ฌธ์ž์—ด VM์ด ์ž‘๋™ ์ค‘์ธ ์„œ๋ธŒ๋„ท

GeographicDetails

ํ•„๋“œ ์œ ํ˜• ์„ค๋ช…
continent ๋ฌธ์ž์—ด ์™ธ๋ถ€ ์—”๋“œํฌ์ธํŠธ์˜ ๋Œ€๋ฅ™
๊ตญ๊ฐ€ ๋ฌธ์ž์—ด ์™ธ๋ถ€ ์—”๋“œํฌ์ธํŠธ์˜ ๊ตญ๊ฐ€
์ง€์—ญ ๋ฌธ์ž์—ด ์™ธ๋ถ€ ์—”๋“œํฌ์ธํŠธ์˜ ๋ฆฌ์ „
๋„์‹œ ๋ฌธ์ž์—ด ์™ธ๋ถ€ ์—”๋“œํฌ์ธํŠธ์˜ ๋„์‹œ

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