์ปค์คํ ์ฃผ์ ๋ฒ์ ๊ณต์ง
Cloud Router์์ ์ปค์คํ ๊ณต์ง ๋ชจ๋๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ Cloud Router์ ๊ฒฝ๊ณ ๊ฒ์ดํธ์จ์ด ํ๋กํ ์ฝ(BGP) ์ธ์ ์ ์ฌ์ฉํ์ฌ Virtual Private Cloud(VPC) ๋คํธ์ํฌ์ ์๋ธ๋ท IP ์ฃผ์ ๋ฒ์ ์ด์ธ์ IP ์ฃผ์ ๋ฒ์๋ฅผ ๊ณต์งํ์ธ์. ์๋ฅผ ๋ค์ด VPC ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ๋ค๋ฅธ VPC ๋คํธ์ํฌ์ IP ์ฃผ์ ๋ฒ์์์ ์ธ๋ถ IP ์ฃผ์ ๋ฒ์, ์์์ ๋ด๋ถ IP ์ฃผ์ ๋ฒ์ ๋๋ ๋ด๋ถ IP ์ฃผ์๋ฅผ ๊ณต์งํ ์ ์์ต๋๋ค. VPC ๋คํธ์ํฌ๋ Network Connectivity Center์ VPC ๋คํธ์ํฌ ํผ์ด๋ง ๋๋ VPC ์คํฌํฌ๋ฅผ ํตํด ์ฐ๊ฒฐ๋ ์ ์์ต๋๋ค.
Cloud Router๊ฐ ๊ธฐ๋ณธ ๊ณต์ง ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ Cloud Router์ ๋์ผํ VPC ๋คํธ์ํฌ์ ์ํ๋ ์๋ธ๋ท์ ๊ฒฝ๋ก๋ง ๊ณต์งํฉ๋๋ค. ์ด ๋ชจ๋์์ Cloud Router๋ ๋ค๋ฅธ VPC ๋คํธ์ํฌ์์ ๋์ ์ผ๋ก ํ์ต๋ ์ ์ ๊ฒฝ๋ก(์: VPC ๋คํธ์ํฌ ํผ์ด๋ง ๋๋ Network Connectivity Center์ VPC ์คํฌํฌ์์ ํ์ต๋ ๊ฒฝ๋ก)๋ฅผ ์ ์ธํฉ๋๋ค.
Cloud Router๋ฅผ ๋ง๋ค๊ฑฐ๋ BGP ์ธ์ ์ ๊ตฌ์ฑํ ๋ ์ปค์คํ ๊ณต์ง ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ ค๋ฉด Cloud Router ๋ง๋ค๊ธฐ ๋๋ BGP ์ธ์ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
์์ํ๊ธฐ ์ ์
gcloud
์ด ๊ฐ์ด๋์ ๋ช ๋ น์ค ์์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ์ํํ์ธ์.
- ์ต์ ๋ฒ์ ์ Google Cloud CLI๋ฅผ ์ค์นํ๊ฑฐ๋ ์ ๋ฐ์ดํธํฉ๋๋ค.
- ๊ธฐ๋ณธ ๋ฆฌ์ ๋ฐ ์์ญ์ ์ค์ ํฉ๋๋ค.
API
์ด ๊ฐ์ด๋์ API ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด API ์ก์ธ์ค๋ฅผ ์ค์ ํฉ๋๋ค.
Cloud Router์์ ์ปค์คํ ๊ณต์ง ๊ฒฝ๋ก ์ง์
๊ธฐ์กด Cloud Router์์ ์ปค์คํ ๊ณต์ง ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
์ฝ์
Google Cloud ์ฝ์์์ Cloud Routers ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ๋ฐ์ดํธํ Cloud Router๋ฅผ ์ ํํฉ๋๋ค.
๋ผ์ฐํฐ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์
์์ ์ ํด๋ฆญํฉ๋๋ค.๊ณต์ง๋ ๊ฒฝ๋ก ์น์ ์์ ๊ฒฝ๋ก์ ๋ํด ์ปค์คํ ๊ฒฝ๋ก ๋ง๋ค๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
Cloud Router์์ ์ฌ์ฉํ ์ ์๋ ์๋ธ๋ท์ ๊ณ์ ๊ณต์งํ๋ ค๋ฉด Cloud Router์ ํ์๋๋ ๋ชจ๋ ์๋ธ๋ท ๊ณต์ง ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํฉ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉ ์ค์ ํ๋ฉด ๊ธฐ๋ณธ ๊ณต์ง ๋ชจ๋์์ Cloud Router์ ๋์์ ๋ชจ๋ฐฉํฉ๋๋ค.
๊ณต์ง ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ์ปค์คํ ๊ฒฝ๋ก ์ถ๊ฐ๋ฅผ ์ ํํฉ๋๋ค.
์ปค์คํ ๊ณต์ง ๊ฒฝ๋ก๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์์ค: ์ปค์คํ IP ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค.
IP ์ฃผ์ ๋ฒ์: CIDR ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ์ปค์คํ IP ๋ฒ์๋ฅผ ์ง์ ํฉ๋๋ค.
IPv4 ๋ฐ IPv6 ์ปค์คํ IP ๋ฒ์๋ฅผ ๋ชจ๋ ์ง์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง IPv6 ์ปค์คํ ๋ฒ์๋ IPv6๊ฐ ์ฌ์ฉ ์ค์ ๋ BGP ์ธ์ ์์๋ง ๊ณต์ง๋ฉ๋๋ค.
์๋ธ๋ท ๋ง์คํฌ ์์ด IP ์ฃผ์ ์ ๋์ฌ๋ฅผ ์ ๊ณตํ๋ฉด IPv4์ฉ
/32
์๋ธ๋ท ๋ง์คํฌ ๋ฐ IPv6์ฉ/128
๋ก ํด์๋ฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ปค์คํ ํ์ต๋ ๊ฒฝ๋ก์ ์ต๋ ๊ฐ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋๋ฅผ ์ฐธ์กฐํ์ธ์.์ค๋ช : ์ด ์ปค์คํ ๊ณต์ง ๊ฒฝ๋ก์ ๋ชฉ์ ์ ์๋ณํ๋ ๋ฐ ๋์์ด ๋๋ ์ค๋ช ์ ์ถ๊ฐํ ํ ์๋ฃ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ปค์คํ ๊ณต์ง ๊ฒฝ๋ก ์ถ๊ฐ๋ฅผ ๋ง์น ํ ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
gcloud
update
๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค. ์ปค์คํ
IP ๋ฒ์๋ฅผ ์ง์ ํ๋ ค๋ฉด --set-advertisement-ranges
ํ๋๊ทธ ๋๋ --add-advertisement-ranges
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
--set-advertisement-ranges
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ์กด์ ๋ชจ๋ ์ปค์คํ ๊ณต์ง๊ฐ ๋์ฒด๋ฉ๋๋ค.gcloud compute routers update ROUTER_NAME \ --project=PROJECT_ID \ --advertisement-mode custom \ --set-advertisement-groups=ADVERTISED_GROUPS \ --set-advertisement-ranges=ADVERTISED_IP_RANGES
๋ค์์ ๋ฐ๊ฟ๋๋ค.
ROUTER_NAME
: Cloud Router์ ์ด๋ฆPROJECT_ID
: Cloud Router๋ฅผ ํฌํจํ๋ ํ๋ก์ ํธADVERTISED_GROUPS
: Cloud Router๊ฐ ๋์ ์ผ๋ก ๊ณต์งํ๋ Google ์ ์ ๊ทธ๋ฃน์ ์ผํ๊ฒ ์ ํจํ ๊ฐ์
all_subnets
๋ก, VPC ๋คํธ์ํฌ์ ๋์ ๋ผ์ฐํ ๋ชจ๋์ ๋ฐ๋ผ ์๋ธ๋ท์ ๊ณต์งํฉ๋๋ค(๊ธฐ๋ณธ ๊ณต์ง ๋ชจ๋์ ๋น์ทํจ).ADVERTISED_IP_RANGES
: IP ์ฃผ์ ๋ฒ์์ ์ ๋ฐฐ์ด์ ์ฝํ ์ธIPv4 ๋ฐ IPv6 ์ปค์คํ IP ๋ฒ์๋ฅผ ๋ชจ๋ ์ง์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง IPv6 ์ปค์คํ ๋ฒ์๋ IPv6๊ฐ ์ฌ์ฉ ์ค์ ๋ BGP ์ธ์ ์์๋ง ๊ณต์ง๋ฉ๋๋ค.
์๋ธ๋ท ๋ง์คํฌ ์์ด IP ์ฃผ์ ์ ๋์ฌ๋ฅผ ์ ๊ณตํ๋ฉด IPv4์ฉ
/32
์๋ธ๋ท ๋ง์คํฌ ๋ฐ IPv6์ฉ/128
๋ก ํด์๋ฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ปค์คํ ํ์ต๋ ๊ฒฝ๋ก์ ์ต๋ ๊ฐ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ์์์์๋ ๋ชจ๋ ์๋ธ๋ท๊ณผ ์ปค์คํ IP ๋ฒ์
192.0.2.0/24
๋ฐ198.51.100.0/24
์ ๊ณต์งํ๋๋กmy-router
Cloud Router๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.gcloud compute routers update my-router \ --advertisement-mode custom \ --set-advertisement-groups=all_subnets \ --set-advertisement-ranges='192.0.2.0/24,198.51.100.0/24'
๋ค์ ์์์์๋
my-router
Cloud Router๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ๋ชจ๋ ์๋ธ๋ท ๋ฐ ๊ธฐ๋ณธ IPv6 ๋ฒ์๋ฅผ ๊ณต์งํฉ๋๋ค.gcloud compute routers update my-router \ --advertisement-mode custom \ --set-advertisement-groups=all_subnets \ --set-advertisement-ranges='2001:db8:abcd:12::/64'
Cloud Router๋ IPv6์ ์ฌ์ฉ ์ค์ ๋ BGP ์ธ์ ์์๋ง IPv6 ๋ฒ์๋ฅผ ๊ณต์งํฉ๋๋ค.
--set-advertisement-groups
ํ๋๊ทธ๋ Cloud Router๊ฐ ๋์ ์ผ๋ก ๊ณต์งํ๋ Google ์ ์ ๊ทธ๋ฃน์ ํ์ฉํฉ๋๋ค.--set-advertisement-groups
ํ๋๊ทธ๋ฅผ ์ญ์ ํ์ฌ ์๋ธ๋ท ๊ณต์ง๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค. ์ ์ฒด ๊ณต์ง ๊ทธ๋ฃน ๋ชฉ๋ก์ Google SDK ๋ฌธ์์set-advertisement-groups
ํ๋๊ทธ๋ฅผ ์ฐธ์กฐํ์ธ์.--add-advertisement-ranges
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด Cloud Router์ ๊ณต์ง ๋ชจ๋๊ฐ ์ด๋ฏธcustom
์ผ๋ก ์ค์ ๋์ด ์์ด์ผ ํฉ๋๋ค.gcloud compute routers update ROUTER_NAME \ --add-advertisement-ranges=ADVERTISED_IP_RANGES
๋ค์์ ๋ฐ๊ฟ๋๋ค.
ROUTER_NAME
: Cloud Router์ ์ด๋ฆADVERTISED_IP_RANGES
: IP ์ฃผ์ ๋ฒ์์ ์ ๋ฐฐ์ด์ ์ฝํ ์ธ
๋ค์ ์์์์๋
203.0.113.1
์ปค์คํ IP ์ฃผ์๋ฅผ Cloud Router์ ๊ณต์ง์ ์ถ๊ฐํฉ๋๋ค.gcloud compute routers update my-router \ --add-advertisement-ranges='203.0.113.1'
๋ค์ ์์์์๋
2001:db8:abcd:12::/64
์ปค์คํ IPv6 ๋ฒ์๋ฅผ Cloud Router์ ๊ณต์ง์ ์ถ๊ฐํฉ๋๋ค.gcloud compute routers update my-router \ --add-advertisement-ranges='2001:db8:abcd:12::/64'
Cloud Router๋ IPv6์ ์ฌ์ฉ ์ค์ ๋ BGP ์ธ์ ์์๋ง IPv6 ๋ฒ์๋ฅผ ๊ณต์งํฉ๋๋ค.
API
routers.patch
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ bgp.advertisedGroups[]
๋ฐ bgp.advertisedIpRanges[]
ํ๋๋ฅผ ์
๋ฐ์ดํธํ์ธ์.
bgp.advertisedGroups[]
๋ฐ bgp.advertisedIpRanges[]
ํ๋๋ ๊ณต์ง๋ ๊ทธ๋ฃน ๋ฐ ๊ณต์ง๋ IP ์ฃผ์ ๋ฒ์์ ๋ฐฐ์ด์ ์ ์ฅํฉ๋๋ค.
์ด๋ฌํ ํ๋๋ฅผ PATCH
ํ๋ฉด ๊ธฐ์กด ๋ฐฐ์ด์ ์์ฒญ์ ์๋ ์ ๋ฐฐ์ด๋ก ๋ฎ์ด์๋๋ค.
GET
์์ฒญ์ ๋ณด๋ด ๋ผ์ฐํฐ์ ๊ณต์ง๋ ๊ทธ๋ฃน ๋ฐ ๊ณต์ง๋ IP ์ฃผ์ ๋ฒ์์ ํ์ฌ ๋ฐฐ์ด์ ๊ฐ์ ธ์ต๋๋ค. ์์ธํ ๋ด์ฉ์ BGP ์ธ์ ๊ตฌ์ฑ ๋ณด๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.๊ณต์ง๋ ๊ทธ๋ฃน ๋ฐ ๊ณต์ง๋ IP ์ฃผ์ ๋ฒ์์ ์ ๋ฐฐ์ด์ด ํฌํจ๋
PATCH
์์ฒญ์ ์ ์กํฉ๋๋ค. ์ด์ ๋จ๊ณ์GET
์์ฒญ ๋ฐฐ์ด์ ์ฌ์ฉํ๊ณ ๋ผ์ฐํฐ์ ์ํ๋ ๊ทธ๋ฃน ๋๋ IP ์ฃผ์ ๋ฒ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "bgp": { "advertisedGroups": [ "ADVERTISED_GROUPS" ], "advertisedIpRanges": [ ADVERTISED_IP_RANGES ] } }
๋ค์์ ๋ฐ๊ฟ๋๋ค.
PROJECT_ID
: Cloud Router๋ฅผ ํฌํจํ๋ ํ๋ก์ ํธREGION
: Cloud Router๊ฐ ์๋ ๋ฆฌ์ ROUTER_NAME
: Cloud Router์ ์ด๋ฆADVERTISED_GROUPS
: Cloud Router๊ฐ ๋์ ์ผ๋ก ๊ณต์งํ๋ Google ์ ์ ๊ทธ๋ฃน
์ ์ผํ๊ฒ ์ ํจํ ๊ฐ์
ALL_SUBNETS
๋ก, VPC ๋คํธ์ํฌ์ ๋์ ๋ผ์ฐํ ๋ชจ๋์ ๋ฐ๋ผ ์๋ธ๋ท์ ๊ณต์งํฉ๋๋ค(๊ธฐ๋ณธ ๊ณต์ง์ ๋น์ทํจ).ADVERTISED_IP_RANGES
: IP ์ฃผ์ ๋ฒ์์ ์ ๋ฐฐ์ด์ ์ฝํ ์ธ
IPv4 ๋ฐ IPv6 ์ปค์คํ IP ๋ฒ์๋ฅผ ๋ชจ๋ ์ง์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง IPv6 ์ปค์คํ ๋ฒ์๋ IPv6๊ฐ ์ฌ์ฉ ์ค์ ๋ BGP ์ธ์ ์์๋ง ๊ณต์ง๋ฉ๋๋ค.
์๋ธ๋ท ๋ง์คํฌ ์์ด IP ์ฃผ์ ์ ๋์ฌ๋ฅผ ์ ๊ณตํ๋ฉด IPv4์ฉ
/32
์๋ธ๋ท ๋ง์คํฌ ๋ฐ IPv6์ฉ/128
๋ก ํด์๋ฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ปค์คํ ํ์ต๋ ๊ฒฝ๋ก์ ์ต๋ ๊ฐ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋๋ฅผ ์ฐธ์กฐํ์ธ์.๋ค์ ์์์๋ 2๊ฐ์ ์๋ธ๋ท IPv4 ์ฃผ์ ๋ฒ์์ ํ ๊ฐ์ IPv6 ์ฃผ์ ๋ฒ์๊ฐ ํฌํจ๋ฉ๋๋ค.
{ "range": "192.0.2.0/24", "description": "First example range" }, { "range": "198.51.100.0/24", "description": "Second example range" }, { "range": "2001:db8:abcd:12::/64", "description: "Third example range" }
BGP ์ธ์ ์ ์ปค์คํ ๊ณต์ง ๊ฒฝ๋ก ์ง์
๊ธฐ์กด BGP ์ธ์ ์ ์ปค์คํ ๊ณต์ง ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
์ฝ์
Google Cloud ์ฝ์์์ Cloud Routers ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ๋ฐ์ดํธํ BGP ์ธ์ ์ด ์๋ Cloud Router๋ฅผ ์ ํํฉ๋๋ค.
๋ผ์ฐํฐ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์ ์ ๋ฐ์ดํธํ BGP ์ธ์ ์ ์ ํํ์ธ์.
BGP ์ธ์ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์
์์ ์ ์ ํํฉ๋๋ค.๊ฒฝ๋ก์ ๊ฒฝ์ฐ ์ปค์คํ ๊ฒฝ๋ก ๋ง๋ค๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
Cloud Router์์ ์ฌ์ฉํ ์ ์๋ ์๋ธ๋ท์ ๊ณ์ ๊ณต์งํ๋ ค๋ฉด Cloud Router์ ํ์๋๋ ๋ชจ๋ ์๋ธ๋ท ๊ณต์ง ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํฉ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉ ์ค์ ํ๋ฉด Cloud Router์ ๊ธฐ๋ณธ ๋์์ ๋ชจ๋ฐฉํฉ๋๋ค.
๊ณต์ง ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ์ปค์คํ ๊ฒฝ๋ก ์ถ๊ฐ๋ฅผ ์ ํํฉ๋๋ค.
๊ฒฝ๋ก ๊ณต์ง๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์์ค: ์ปค์คํ IP ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค.
IP ์ฃผ์ ๋ฒ์: CIDR ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ์ปค์คํ IP ๋ฒ์๋ฅผ ์ง์ ํฉ๋๋ค. IPv4 ๋ฐ IPv6 ์ปค์คํ IP ๋ฒ์๋ฅผ ๋ชจ๋ ์ง์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง IPv6 ์ปค์คํ ๋ฒ์๋ IPv6๊ฐ ์ฌ์ฉ ์ค์ ๋ BGP ์ธ์ ์์๋ง ๊ณต์ง๋ฉ๋๋ค.
์๋ธ๋ท ๋ง์คํฌ ์์ด IP ์ฃผ์ ์ ๋์ฌ๋ฅผ ์ ๊ณตํ๋ฉด IPv4์ฉ
/32
์๋ธ๋ท ๋ง์คํฌ ๋ฐ IPv6์ฉ/128
๋ก ํด์๋ฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ปค์คํ ํ์ต๋ ๊ฒฝ๋ก์ ์ต๋ ๊ฐ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋๋ฅผ ์ฐธ์กฐํ์ธ์.์ค๋ช : ์ด ๊ฒฝ๋ก ๊ณต์ง์ ๋ชฉ์ ์ ์๋ณํ๋ ๋ฐ ๋์์ด ๋๋ ์ค๋ช ์ ์ถ๊ฐํ ํ ์๋ฃ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ปค์คํ ๊ฒฝ๋ก ์ถ๊ฐ๋ฅผ ๋ง์น ํ ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
gcloud
update-bgp-peer
๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค. ์ปค์คํ
IP ๋ฒ์๋ฅผ ์ง์ ํ๋ ค๋ฉด --set-advertisement-ranges
ํ๋๊ทธ ๋๋ --add-advertisement-ranges
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
--set-advertisement-ranges
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ์กด์ ๋ชจ๋ ์ปค์คํ ๊ณต์ง๊ฐ ๋์ฒด๋ฉ๋๋ค.gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --advertisement-mode custom \ --set-advertisement-groups=ADVERTISED_GROUPS \ --set-advertisement-ranges=ADVERTISED_IP_RANGES
๋ค์์ ๋ฐ๊ฟ๋๋ค.
ROUTER_NAME
: Cloud Router์ ์ด๋ฆPEER_NAME
: BGP ํผ์ด์ ์ด๋ฆ- ์ ํ์ ์ผ๋ก ์ปค์คํ
IPv6 ๋ฒ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ
--enable-ipv6
ํ๋๊ทธ๋ฅผ ์ถ๊ฐํฉ๋๋ค. ADVERTISED_GROUPS
: Cloud Router๊ฐ ๋์ ์ผ๋ก ๊ณต์งํ๋ Google ์ ์ ๊ทธ๋ฃน์ ์ผํ๊ฒ ์ ํจํ ๊ฐ์
all_subnets
๋ก, VPC ๋คํธ์ํฌ์ ๋์ ๋ผ์ฐํ ๋ชจ๋์ ๋ฐ๋ผ ์๋ธ๋ท์ ๊ณต์งํฉ๋๋ค(๊ธฐ๋ณธ ๊ณต์ง์ ๋น์ทํจ).ADVERTISED_IP_RANGES
: IP ์ฃผ์ ๋ฒ์์ ์ ๋ฐฐ์ด์ ์ฝํ ์ธIPv4 ๋ฐ IPv6 ์ปค์คํ IP ๋ฒ์๋ฅผ ๋ชจ๋ ์ง์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง IPv6 ์ปค์คํ ๋ฒ์๋ IPv6๊ฐ ์ฌ์ฉ ์ค์ ๋ BGP ์ธ์ ์์๋ง ๊ณต์ง๋ฉ๋๋ค.
์๋ธ๋ท ๋ง์คํฌ ์์ด IP ์ฃผ์ ์ ๋์ฌ๋ฅผ ์ ๊ณตํ๋ฉด IPv4์ฉ
/32
์๋ธ๋ท ๋ง์คํฌ ๋ฐ IPv6์ฉ/128
๋ก ํด์๋ฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ปค์คํ ํ์ต๋ ๊ฒฝ๋ก์ ์ต๋ ๊ฐ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ์์์์๋ ๋ชจ๋ ์๋ธ๋ท ๋ฐ ์ปค์คํ IP ๋ฒ์
192.0.2.1
,198.51.100.0/24
,2001:db8:abcd:12::/64
๋ฅผ ๊ณต์งํ๋๋กmy-router
Cloud Router์์my-bgp-session
BGP ์ธ์ ์ ์ ๋ฐ์ดํธํฉ๋๋ค.gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --enable-ipv6 \ --advertisement-mode custom \ --set-advertisement-groups=all_subnets \ --set-advertisement-ranges='192.0.2.1,198.51.100.0/24,2001:db8:abcd:12::/64'
--set-advertisement-groups
ํ๋๊ทธ๋ BGP ์ธ์ ์ด ๋์ ์ผ๋ก ๊ณต์งํ๋ Google ์ ์ ๊ทธ๋ฃน์ ํ์ฉํฉ๋๋ค.--add-advertisement-groups
ํ๋๊ทธ๋ฅผ ์ญ์ ํ์ฌ ์๋ธ๋ท ๊ณต์ง๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค. ์ ์ฒด ๊ณต์ง ๊ทธ๋ฃน ๋ชฉ๋ก์ Google SDK ๋ฌธ์์set-advertisement-groups
ํ๋๊ทธ๋ฅผ ์ฐธ์กฐํ์ธ์.--add-advertisement-ranges
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด Cloud Router์ ๊ณต์ง ๋ชจ๋๊ฐ ์ด๋ฏธcustom
์ผ๋ก ์ค์ ๋์ด ์์ด์ผ ํฉ๋๋ค.gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --add-advertisement-ranges=ADVERTISED_IP_RANGES
๋ค์์ ๋ฐ๊ฟ๋๋ค.
ROUTER_NAME
: Cloud Router์ ์ด๋ฆPEER_NAME
: BGP ํผ์ด์ ์ด๋ฆADVERTISED_IP_RANGES
: IP ์ฃผ์ ๋ฒ์์ ์ ๋ฐฐ์ด์ ์ฝํ ์ธIPv4 ๋ฐ IPv6 ์ปค์คํ IP ๋ฒ์๋ฅผ ๋ชจ๋ ์ง์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง IPv6 ์ปค์คํ ๋ฒ์๋ IPv6๊ฐ ์ฌ์ฉ ์ค์ ๋ BGP ์ธ์ ์์๋ง ๊ณต์ง๋ฉ๋๋ค.
์๋ธ๋ท ๋ง์คํฌ ์์ด IP ์ฃผ์ ์ ๋์ฌ๋ฅผ ์ ๊ณตํ๋ฉด IPv4์ฉ
/32
์๋ธ๋ท ๋ง์คํฌ ๋ฐ IPv6์ฉ/128
๋ก ํด์๋ฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ปค์คํ ํ์ต๋ ๊ฒฝ๋ก์ ์ต๋ ๊ฐ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ์์์์๋
198.51.100.1
์ปค์คํ IP ์ฃผ์๋ฅผ Cloud Router์ ๊ณต์ง์ ์ถ๊ฐํฉ๋๋ค.gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --add-advertisement-ranges='198.51.100.1'
๋ค์ ์์์์๋
2001:db8:abcd:12::/64
์ปค์คํ IPv6 ์ฃผ์๋ฅผ Cloud Router์ ๊ณต์ง์ ์ถ๊ฐํฉ๋๋ค.gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --enable-ipv6 \ --add-advertisement-ranges='2001:db8:abcd:12::/64'
API
routers.patch
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ bgpPeers[]
ํ๋๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค.
bgpPeers[]
ํ๋๋ BGP ํผ์ด์ ๋ฐฐ์ด์ ํ์ฉํฉ๋๋ค. ์ด ํ๋๋ฅผ PATCH
ํ๋ฉด ๊ธฐ์กด BGP ํผ์ด ๋ฐฐ์ด์ ์์ฒญ์ ํฌํจ๋ ์ ๋ฐฐ์ด๋ก ๋ฎ์ด์๋๋ค.
GET
์์ฒญ์ ๋ณด๋ด ๋ผ์ฐํฐ์ ํ์ฌ BGP ํผ์ด ๋ฐฐ์ด์ ๊ฐ์ ธ์ต๋๋ค. ์์ธํ ๋ด์ฉ์ BGP ์ธ์ ๊ตฌ์ฑ ๋ณด๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.์ BGP ํผ์ด ๋ฐฐ์ด์ด ํฌํจ๋
PATCH
์์ฒญ์ ๋ณด๋ ๋๋ค. ๊ณต์ง๋ฅผ ์ถ๊ฐํ ๊ฐ BGP ํผ์ด์ ๋ํด ๋ค์์ ์ํํฉ๋๋ค.bgpPeers[].advertisedIpRanges[]
ํ๋์ ์ํ๋ IP ์ฃผ์ ๋ฒ์ ๊ณต์ง๋ฅผ ์ถ๊ฐํฉ๋๋ค.bgpPeers[].advertisedGroups[]
ํ๋์ ์ํ๋ ๊ทธ๋ฃน ๊ณต์ง๋ฅผ ์ถ๊ฐํฉ๋๋ค.์ ์ผํ๊ฒ ์ ํจํ ๊ฐ์
ALL_SUBNETS
๋ก, VPC ๋คํธ์ํฌ์ ๋์ ๋ผ์ฐํ ๋ชจ๋์ ๋ฐ๋ผ ์๋ธ๋ท์ ๊ณต์งํฉ๋๋ค(๊ธฐ๋ณธ ๊ณต์ง ๋ชจ๋์ ๋น์ทํจ).์ด๋ฌํ ๊ฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ API ์ฐธ๊ณ ๋ฆฌ์์ค์
routers.patch
๋ฅผ ์ฐธ์กฐํ์ธ์.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "bgpPeers": [ BGP_PEERS ] }
๋ค์์ ๋ฐ๊ฟ๋๋ค.
PROJECT_ID
: Cloud Router๋ฅผ ํฌํจํ๋ ํ๋ก์ ํธREGION
: Cloud Router๊ฐ ์๋ ๋ฆฌ์ ROUTER_NAME
: Cloud Router์ ์ด๋ฆBGP_PEERS
: BGP ํผ์ด์ ์ ๋ฐฐ์ด ์ฝํ ์ธ
๋ค์ ์์์๋ ์ปค์คํ ๊ณต์ง๊ฐ ์๋ 2๊ฐ์ BGP ํผ์ด๊ฐ ํฌํจ๋ฉ๋๋ค.
{ "name": "peer-1", "interfaceName": "if-peer-1", "ipAddress": "169.254.10.1", "peerIpAddress": "169.254.10.2", "peerAsn": 64512, "enableIpv6": true, "advertisedRoutePriority": 100, "advertiseMode": "CUSTOM", "advertisedGroups": ["ALL_SUBNETS"], "advertisedIpRanges": [ { "range": "1.2.3.4", "description": "First example range" }, { "range": "6.7.0.0/16", "description": "Second example range" }, { "range": "2001:db8:abcd:12::/64", "description: "Third example range" } ] }, { "name": "peer-2", "interfaceName": "if-peer-2", "ipAddress": "169.254.20.1", "peerIpAddress": "169.254.20.2", "peerAsn": 64513, "advertisedRoutePriority": 100, "advertiseMode": "CUSTOM", "advertisedIpRanges": [ { "range": "192.168.10.0/24", "description": "Fourth example range" } ] }
๋ค์ ๋จ๊ณ
Cloud Router ๊ตฌ์ฑ, BGP ์ธ์ , Cloud Router์์ ๊ณต์งํ๋ ๊ฒฝ๋ก๋ฅผ ๋ณด๋ ค๋ฉด Cloud Router ์ธ๋ถ์ ๋ณด ๋ณด๊ธฐ ์ฐธ์กฐํ๊ธฐ
์ปค์คํ ๊ณต์ง ๊ฒฝ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๋ฌธ์ ํด๊ฒฐ ์ฐธ์กฐํ๊ธฐ