VPC ์๋น์ค ์ ์ด๋ ๋ฐ์ดํฐ ๋ฌด๋จ ๋ฐ์ถ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ณด์ ๊ฒฝ๊ณ๋ฅผ ์ค์ ํ ์ ์๋ Cloud Run Functions Google Cloud ๊ธฐ๋ฅ์
๋๋ค.
๊ธฐ๋ณธ run.app
URL๊ณผ ์ปค์คํ
๋๋ฉ์ธ ๋ชจ๋ VPC ์๋น์ค ์ ์ด๊ฐ ์ ์ฉ๋ฉ๋๋ค.
์ด ๊ฐ์ด๋์์๋ Cloud Run๊ณผ ํจ๊ป VPC ์๋น์ค ์ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค์ ๋ณด์์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ์๋ดํฉ๋๋ค.
์ ํ์ฌํญ ๋ฐ ๊ถ์ฅ์ฌํญ
Artifact Registry ๋๋ Container Registry์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ปจํ ์ด๋๋ฅผ ์ ์ฅํ๋ ๋ ์ง์คํธ๋ฆฌ๋ ๋ฐฐํฌํ๋ ค๋ ํ๋ก์ ํธ์ ๋์ผํ VPC ์๋น์ค ์ ์ด ์๋น์ค ๊ฒฝ๊ณ์ ์์ด์ผ ํฉ๋๋ค.
- ๋น๋ ์ค์ธ ์ฝ๋๋ ์ปจํ ์ด๋๊ฐ ํธ์๋๋ ๋ ์ง์คํธ๋ฆฌ์ ๋์ผํ ๊ฒฝ๊ณ์ ์์ด์ผ ํฉ๋๋ค.
VPC ์๋น์ค ์ ์ด ๊ฒฝ๊ณ ๋ด์ ์๋ ํ๋ก์ ํธ์์๋ ์ง์์ ๋ฐฐํฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Cloud Run ์๋น์ค๊ฐ ํธ์ถ๋๋ฉด VPC ์๋น์ค ์ ์ด ์ ์ฑ ์ํ์ ํด๋ผ์ด์ธํธ์ IAM ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. ์ด๋ฌํ ์์ฒญ์๋ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ฌํญ์ด ์์ต๋๋ค.
- IAM ์ฃผ ๊ตฌ์ฑ์์ ์ฌ์ฉํ๋ VPC ์๋น์ค ์ ์ด ์ธ๊ทธ๋ ์ค ์ ์ฑ ๊ท์น์ ์ง์๋์ง ์์ต๋๋ค.
- IAM ์ฃผ ๊ตฌ์ฑ์์ ์ฌ์ฉํ๋ VPC ์๋น์ค ์ ์ด ๊ฒฝ๊ณ์ ์ก์ธ์ค ์์ค์ ์ง์๋์ง ์์ต๋๋ค.
VPC ์๋น์ค ์ ์ด๋ฅผ ์ง์ํ๋๋ก ์กฐ์ง ์ค์
Cloud Run์ VPC ์๋น์ค ์ ์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์กฐ์ง ์์ค์์ ์๋น์ค ๊ฒฝ๊ณ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ ์ ํ ์กฐ์ง ์ ์ฑ ์ ๊ตฌ์ฑํ๋ฉด Cloud Run์ ์ฌ์ฉํ ๋ VPC ์๋น์ค ์ ์ด ๊ฒ์ฌ๊ฐ ์ํ๋๋ฉฐ ๊ฐ๋ฐ์๋ VPC ์๋น์ค ์ ์ด๋ฅผ ์ค์ํ๋ ์๋น์ค๋ง ๋ฐฐํฌํ๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค. ์กฐ์ง ์ ์ฑ ์ ์ค์ ํ ๋ ์์์ฑ ๋ฐ ์๋ฐ์ ๋ํด ์์ธํ ์์๋ณด์ธ์.
gcloud functions
๋ฅผ ์ฌ์ฉํ์ฌ Cloud Run Functions๋ฅผ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์ ๋๋ ๊ด๋ฆฌ์๊ฐ Cloud Build ์๋น์ค ๊ณ์ ์ VPC ์๋น์ค ์ ์ด ๊ฒฝ๊ณ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋น๋ ํ๋ก์ธ์ค ๊ฐ์๋ฅผ ์ฐธ์กฐํ์ธ์.
VPC ์๋น์ค ์ ์ด ๊ฒฝ๊ณ ์ค์
๋ค์ ๋จ๊ณ๋ VPC ์๋น์ค ์ ์ด ๊ฒฝ๊ณ๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
VPC ์๋น์ค ์ ์ด๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ํ์ํ ์ญํ ์ ๋ฐ์๋์ง ํ์ธํฉ๋๋ค.
Google Cloud ์ฝ์์์ VPC ์๋น์ค ์ ์ด ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ฉ์์ง๊ฐ ํ์๋๋ฉด ์กฐ์ง์ ์ ํํฉ๋๋ค.
์ก์ธ์ค ์ ์ฑ ๊ด๋ฆฌ๋ฅผ ํด๋ฆญํฉ๋๋ค. ์ก์ธ์ค ์ ์ฑ ์ ์ ํํ๊ฑฐ๋ ๋ง๋ญ๋๋ค. ์ก์ธ์ค ์ ์ฑ ์๋ ๊ฒฝ๊ณ์ ์ถ๊ฐํ๋ ค๋ ๋ชจ๋ ํ๋ก์ ํธ๊ฐ ํฌํจ๋์ด์ผ ํฉ๋๋ค.
์ ๊ฒฝ๊ณ์ ์ ํด๋ฆญํฉ๋๋ค. ๊ฒฝ๊ณ์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
๊ฒฝ๊ณ ๋ด์์ ๋ณดํธํ๋ ค๋ ํ๋ก์ ํธ๋ฅผ ์ ํํฉ๋๋ค.
ํ๋ก์ ํธ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํ๋ก์ ํธ ์ถ๊ฐ ์ฐฝ์์ ์ถ๊ฐํ ํ๋ก์ ํธ๋ฅผ ์ ํํฉ๋๋ค.
๊ณต์ VPC๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํธ์คํธ ํ๋ก์ ํธ ๋ฐ ์๋น์ค ํ๋ก์ ํธ๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
ํ๋ก์ ํธ ์ถ๊ฐ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
๊ฒฝ๊ณ ๋ด์์ ๋ณดํธํ ์๋น์ค๋ก Cloud Run์ ์ ํํฉ๋๋ค.
์ ํ๋ ์๋น์ค๋ฅผ ํด๋ฆญํฉ๋๋ค.
์๋น์ค ์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
"Cloud Run"์ ๊ฒ์ํฉ๋๋ค. ๊ทธ๋ฐ ํ Cloud Run Admin API๋ฅผ ์ ํํฉ๋๋ค. (
gcloud functions
๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ Cloud Functions V2 API๋ฅผ ์ ํํฉ๋๋ค.)Cloud Run Admin API ์ถ๊ฐ(๋๋
gcloud functions
๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ Cloud Functions V2 API)๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ฐ๋ฐ์์ ์ก์ธ์ค๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
Cloud Run์ฉ VPC ์๋น์ค ์ ์ด๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ฉด ํ์ฌ ๋ ธํธ๋ถ๊ณผ ๊ฐ์ ๊ฒฝ๊ณ ์ธ๋ถ์ ์๋ ๋จธ์ ์์ ์๋น์ค๋ฅผ ๋ณด๊ณ ๋ฐฐํฌํ๋ ๊ฒ์ ํฌํจํ ๊ฒฝ๊ณ ์ธ๋ถ์ ๋ชจ๋ ์ก์ธ์ค๊ฐ ์ฐจ๋จ๋ฉ๋๋ค. ๊ฐ๋ฐ์ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ด์์๊ฐ ๊ฒฝ๊ณ ๋ด์์ ๋ฆฌ์์ค๋ฅผ ๋ณด๊ณ ๋ฐฐํฌํ๋ ค๋ฉด ๊ฒฝ๊ณ ์ธ๊ทธ๋ ์ค ์ ์ฑ ์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
์ธ๊ทธ๋ ์ค ์ ์ฑ ์ ํด๋ฆญํฉ๋๋ค.
์์ค, ID, ํ๋ก์ ํธ, ์๋น์ค๋ฅผ ์ง์ ํฉ๋๋ค.
'๊ท์น ์ถ๊ฐ'๋ฅผ ํด๋ฆญํฉ๋๋ค.
์กฐ์ง์์ Access Context Manager๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ก์ธ์ค ์์ค์ ์ค์ ํ์ฌ ๊ฐ๋ฐ์ ์ก์ธ์ค๋ฅผ ์ฌ์ฉ ์ค์ ํ ์๋ ์์ต๋๋ค.
๊ฒฝ๊ณ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ด ๋จ๊ณ๋ฅผ ์๋ฃํ๋ฉด Cloud Run Admin API์ ๋ํ ๋ชจ๋ ํธ์ถ์ ๊ฒ์ฌํ์ฌ ์ด๋ค์ด ๋์ผํ ๊ฒฝ๊ณ ๋ด์์ ๋ฐ์ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
์กฐ์ง ์ ์ฑ ์ค์
์กฐ์ง ์ ์ฑ
์ ๊ด๋ฆฌํ๋ ค๋ฉด ์กฐ์ง ์ ์ฑ
๊ด๋ฆฌ์(roles/orgpolicy.policyAdmin
) ์ญํ ์ด ํ์ํฉ๋๋ค.
VPC ์๋น์ค ์ ์ด๋ฅผ ์ค์ํ๊ณ ๋ฐ์ดํฐ ๋ฌด๋จ ์ ์ถ์ ๋ฐฉ์งํ๋ ค๋ฉด ์๋น์ค ๊ฒฝ๊ณ์์ Cloud Run์ ํ์ฉ๋๋ ์ธ๊ทธ๋ ์ค ๋ฐ ์ด๊ทธ๋ ์ค ์ค์ ์ ์ ์ดํ๋๋ก ๋ค์ ์กฐ์ง ์ ์ฑ ์ ์ค์ ํ์ธ์.
ํ์ฉ๋๋ ์ธ๊ทธ๋ ์ค ์ค์ ์ ํ
run.allowedIngress
์กฐ์ง ์ ์ฑ
์ ๊ฐ๋ฐ์๊ฐ Cloud Run์ ์ฌ์ฉํ ์ ์๋ ์ธ๊ทธ๋ ์ค ์ค์ ์ ์ ์ดํฉ๋๋ค. ๋ด๋ถ ์์ฒญ๋ง ํ์ฉํ๊ธฐ๋ฅผ ์ํ๋ฉด ๊ฐ๋ฐ์๊ฐ internal
๊ฐ์ ์ฌ์ฉํ๊ณ , Cloud Load Balancing์์ ๊ด๋ฆฌ๋๋ ์ก์ธ์ค ์ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์
๋ถํ ๋ถ์ฐ๊ธฐ๋ฅผ ํตํ ์์ฒญ์ ํ์ฉํ๋ ค๋ ๊ฒฝ์ฐ์๋ internal-and-cloud-load-balancing
๊ฐ์ ์ฌ์ฉํ๋๋ก ์กฐ์ง ์ ์ฑ
์ ์ค์ ํ์ธ์.
์ด๋ฌํ ์ค์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ Cloud Run์ ๋ํ ์ธ๊ทธ๋ ์ค ์ ํ์ ์ฐธ์กฐํ์ธ์.
์ฝ์
Google Cloud ์ฝ์์์ ํ์ฉ๋ ์ธ๊ทธ๋ ์ค ์ค์ (Cloud Run) ์ ์ฑ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์์ ์ ํด๋ฆญํฉ๋๋ค.
์์ ํ์ด์ง์์ ๋ง์ถค์ค์ ์ ์ ํํฉ๋๋ค.
์ ์ฑ ์ํ์์ ๊ต์ฒด๋ฅผ ์ ํํฉ๋๋ค.
์ ์ฑ ๊ฐ์์ ์ปค์คํ ์ ์ ํํฉ๋๋ค.
์ ์ฑ ์ ํ์์ ํ์ฉ์ ์ ํํฉ๋๋ค.
์ปค์คํ ๊ฐ ์๋์
internal
์ ์ ๋ ฅํฉ๋๋ค. Cloud Load Balancing ํธ๋ํฝ๋ ํ์ฉํ๋ ค๋ฉด ์ ์ ์ฑ ๊ฐ์ ํด๋ฆญํ๊ณinternal-and-cloud-load-balancing
์ ์ ๋ ฅํฉ๋๋ค.์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
gcloud
gcloud resource-manager org-policies allow
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud resource-manager org-policies allow \ run.allowedIngress internal \ --organization ORGANIZATION_ID
์ฌ๊ธฐ์ ORGANIZATION_ID
๋ ์กฐ์ง ID์
๋๋ค.
Cloud Load Balancing ํธ๋ํฝ๋ ํ์ฉํ๋ ค๋ฉด run.allowedIngress internal
์ run.allowedIngress internal-and-cloud-load-balancing
์ผ๋ก ๋ฐ๊ฟ๋๋ค.
์ด ์กฐ์ง ์ ์ฑ ์ ์ ์ฉํ ํ์๋ ๋ชจ๋ ์๋น์ค๊ฐ ์ธ๊ทธ๋ ์ค ์ค์ ์ ํ์ฉ๋๋ ๊ฐ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ฆ, Cloud Run ์๋น์ค๋ ์๋น์ค ๊ฒฝ๊ณ ๋ด์ VPC ๋คํธ์ํฌ์์ ๋ฐ์ํ๋ ํธ๋ํฝ๋ง ํ์ฉํ ์ ์์ต๋๋ค. ์ธ๊ทธ๋ ์ค๋ฅผ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์ค์ ํ๋ ค๊ณ ์๋ํ๋ฉด ์กฐ์ง ์ ์ฑ ์ ์ํด ์ฐจ๋จ๋ฉ๋๋ค.
ํ์ฉ๋๋ VPC ์ด๊ทธ๋ ์ค ์ค์ ์ ํ
run.allowedVPCEgress
์กฐ์ง ์ ์ฑ
์ ๊ฐ๋ฐ์๊ฐ Cloud Run์ ์ฌ์ฉํ ์ ์๋ ์ด๊ทธ๋ ์ค ์ค์ ์ ์ ์ดํฉ๋๋ค. all-traffic
๊ฐ๋ง ํ์ฉํ๋๋ก ์ด ์กฐ์ง ์ ์ฑ
์ ์ค์ ํ์ธ์.
์ฝ์
Google Cloud ์ฝ์์์ ํ์ฉ๋ VPC ์ด๊ทธ๋ ์ค ์ค์ (Cloud Run) ์ ์ฑ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์์ ์ ํด๋ฆญํฉ๋๋ค.
์์ ํ์ด์ง์์ ๋ง์ถค์ค์ ์ ์ ํํฉ๋๋ค.
์ ์ฑ ์ํ์์ ๊ต์ฒด๋ฅผ ์ ํํฉ๋๋ค.
์ ์ฑ ๊ฐ์์ ์ปค์คํ ์ ์ ํํฉ๋๋ค.
์ ์ฑ ์ ํ์์ ํ์ฉ์ ์ ํํฉ๋๋ค.
์ปค์คํ ๊ฐ ์๋์
all-traffic
์ ์ ๋ ฅํฉ๋๋ค.์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
gcloud
gcloud resource-manager org-policies allow
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud resource-manager org-policies allow \ run.allowedVPCEgress all-traffic \ --organization ORGANIZATION_ID
์ฌ๊ธฐ์ ORGANIZATION_ID
๋ ์กฐ์ง ID์
๋๋ค.
์กฐ์ง ์ ์ฑ ์ ์ค์ ํ ์ดํ์ ๋์
์กฐ์ง ์ ์ฑ
์ ์ ์ฉํ ํ์๋ ๋ชจ๋ ์ ๋ฒ์ ์์ ์ง์ VPC ์ด๊ทธ๋ ์ค ๋๋ ์๋ฒ๋ฆฌ์ค VPC ์ก์ธ์ค ์ปค๋ฅํฐ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ฉฐ ์ด๊ทธ๋ ์ค ์ค์ ์ all-traffic
๊ฐ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ์ค์ ์ ์กฐํฉํ๋ฉด ์ด๋ฌํ ๋ฒ์ ์ ๋ชจ๋ ์ด๊ทธ๋ ์ค ํธ๋ํฝ์ด VPC ๋คํธ์ํฌ๋ฅผ ํตํด ๋ผ์ฐํ
๋๋ฉฐ, ์ด ํธ๋ํฝ์ VPC ๋คํธ์ํฌ์ ๋ฐฉํ๋ฒฝ ๊ท์น ๋ฐ ๊ธฐํ ์ค์ ์ ์ ์ฉ๋ฉ๋๋ค. ๋ค๋ฅธ ๊ฐ์ ์ง์ ํ๋ ์ ๋ฒ์ ๋ฐฐํฌ๋ ์กฐ์ง ์ ์ฑ
์ ์ํด ์ฐจ๋จ๋ฉ๋๋ค.
์กฐ์ง ์ ์ฑ ๋ฐ ํธ๋ํฝ ๋ง์ด๊ทธ๋ ์ด์
์กฐ์ง ์ ์ฑ ์ด ์ค์ ๋๊ธฐ ์ ์ ์กด์ฌํ ์๋น์ค์ ๊ฒฝ์ฐ, ํธ๋ํฝ์ ์ ๊ณตํ๋ ๋ชจ๋ ๋ฒ์ ์ด ๊ท์ ์ ์ค์ํ ๋๊น์ง ๊ท์ ๋ฏธ์ค์ ๋ฒ์ ์ผ๋ก ํธ๋ํฝ์ ๊ณ์ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์์ต๋๋ค.
์ด ๋์์ ์ฌ์ฉํ๋ฉด ์ ์ฑ ์ ์ค์ํ๋ ์ ๋ฒ์ ์ ํ ์คํธํ๊ณ ์ ์ง์ ์ผ๋ก ์ถ์ํ ์ ์์ต๋๋ค. ํธ๋ํฝ์ ์ ๊ณตํ๋ ๋ชจ๋ ๋ฒ์ ์ด ์ ์ฑ ์ ์ค์ํ๋ฉด ์ ์ฑ ์ ์ค์ํ์ง ์๋ ๋ฒ์ ์ผ๋ก ํธ๋ํฝ์ ์ด๋ํ๋ ค๋ ๋ชจ๋ ์๋๋ ์กฐ์ง ์ ์ฑ ์ ์ํด ์ฐจ๋จ๋ฉ๋๋ค.
VPC ์๋น์ค ์ ์ด๋ฅผ ์ง์ํ๋๋ก ํ๋ก์ ํธ ์ค์
์๋น์ค ๊ฒฝ๊ณ ๋ด์ ๊ฐ๋ณ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ VPC ์๋น์ค ์ ์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ถ๊ฐ ๊ตฌ์ฑ์ ์ํํด์ผ ํฉ๋๋ค.
VPC ๋คํธ์ํฌ ๊ตฌ์ฑ
์ด ์น์
์์๋ ์ผ๋ฐ googleapis.com
๋๋ฉ์ธ์ผ๋ก ์ ์ก๋ ์์ฒญ์ด ์๋์ผ๋ก ์ ํ๋ ๊ฐ์ IP(VIP) ๋ฒ์(Cloud Run ์๋น์ค๋ฅผ ์ ๊ณตํ๋ 199.36.153.4/30
(restricted.googleapis.com
))๋ก ๋ผ์ฐํ
๋๋๋ก VPC ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ์ฌ๊ธฐ์์๋ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ต๋๋ค.
ํ๋ก์ ํธ์ VPC ๋คํธ์ํฌ๋ง๋ค ์ ํ๋ VIP ๋ฒ์์ ๋ํ ํธ๋ํฝ์ ์ ์ธํ ์์๋ฐ์ด๋ ํธ๋ํฝ์ ์ฐจ๋จํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
VPC ๋คํธ์ํฌ ๋ฆฌ์์ค๋ฅผ ํธ์คํ ํ๋ ์๋ธ๋ท์์ ๋น๊ณต๊ฐ Google ์ก์ธ์ค๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
๋ฐ์ดํฐ๊ฐ VPC ๋คํธ์ํฌ์์ ๋๊ฐ๋ ๊ฒ์ ๋ฐฉ์งํ๋๋ก ๋ฐฉํ๋ฒฝ ๊ท์น์ ๊ตฌ์ฑํฉ๋๋ค.
๋ชจ๋ ์์๋ฐ์ด๋ ํธ๋ํฝ์ ์ฐจ๋จํ๋ ์ด๊ทธ๋ ์ค ๊ฑฐ๋ถ ๊ท์น์ ๋ง๋ญ๋๋ค.
TCP ํฌํธ 443์
199.36.153.4/30
์ผ๋ก ํธ๋ํฝ์ ํ์ฉํ๋ ์ด๊ทธ๋ ์ค ํ์ฉ ๊ท์น์ ๋ง๋ญ๋๋ค. ์ด ๊ท์น์ด ๋ฐฉ๊ธ ๋ง๋ ์ด๊ทธ๋ ์ค ๊ฑฐ๋ถ ๊ท์น๋ณด๋ค ์ฐ์ ์์๊ฐ ๋์์ง ํ์ธํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ ํ๋ VIP ๋ฒ์๋ก๋ง ์ด๊ทธ๋ ์ค๊ฐ ํ์ฉ๋ฉ๋๋ค.
Cloud DNS ์๋ต ์ ์ฑ ์ ๋ง๋ญ๋๋ค.
gcloud dns response-policies create RESPONSE_POLICY \ --networks=NETWORK \ --description=DESCRIPTION
๋ค์์ ๋ฐ๊ฟ๋๋ค.
RESPONSE_POLICY
: ์๋ต ์ ์ฑ ์ ์ด๋ฆ์ ๋๋ค.NETWORK
: ์ด ์ ์ฑ ๊ณผ ์ฐ๊ฒฐํ ๋คํธ์ํฌ์ ์ด๋ฆ์ ๋๋ค. ์ฌ๋ฌ ๋คํธ์ํฌ๋ฅผ ์ง์ ํ๋ ค๋ฉด ๊ฐ ๋คํธ์ํฌ์ ์ด๋ฆ์ ์ผํ๋ก ๊ตฌ๋ถํฉ๋๋ค(์:network1,network2
).DESCRIPTION
: ์๋ต ์ ์ฑ ์ ์ค๋ช ์ ๋๋ค(์:Cloud Run VPC Service Controls response policy
).
์๋ต ์ ์ฑ ์ ๊ท์น์ ์ถ๊ฐํ์ฌ
*.googleapis.com
์restricted.googleapis.com
์ผ๋ก ํ์ธํฉ๋๋ค.restricted.googleapis.com
์ IP ์ฃผ์ ๋ฒ์๋199.36.153.4/30
์ ๋๋ค.gcloud dns response-policies rules create RESPONSE_POLICY_RULE \ --response-policy=RESPONSE_POLICY \ --dns-name="*.googleapis.com." \ --local-data=name="restricted.googleapis.com.",type="A",ttl=300,rrdatas="199.36.153.4|199.36.153.5|199.36.153.6|199.36.153.7"
๋ค์์ ๋ฐ๊ฟ๋๋ค.
RESPONSE_POLICY_RULE
: ์๋ต ์ ์ฑ ๊ท์น์ ์ด๋ฆ์ ๋๋ค.RESPONSE_POLICY
: ์ด์ ๋จ๊ณ์์ ๋ง๋ ์๋ต ์ ์ฑ ์ ๋ฐ์ดํ๋ก ๋ฌถ์ธ ์ด๋ฆ์ ๋๋ค.
์๋ต ์ ์ฑ ์ ๊ท์น์ ์ถ๊ฐํ์ฌ
*.run.app
(๋๋gcloud functions deploy
๋ฅผ ์ฌ์ฉํ์ฌ ํจ์๋ฅผ ๋ง๋ ๊ฒฝ์ฐ*.cloudfunctions.net
)์restricted.googleapis.com
์ผ๋ก ํ์ธํฉ๋๋ค.restricted.googleapis.com
์ IP ์ฃผ์ ๋ฒ์๋199.36.153.4/30
์ ๋๋ค.gcloud dns response-policies rules create RESPONSE_POLICY_RULE \ --response-policy=RESPONSE_POLICY \ --dns-name="*.run.app." \ --local-data=name="restricted.googleapis.com.",type="A",ttl=300,rrdatas="199.36.153.4|199.36.153.5|199.36.153.6|199.36.153.7"
๋ค์์ ๋ฐ๊ฟ๋๋ค.
RESPONSE_POLICY_RULE
: ์๋ต ์ ์ฑ ๊ท์น์ ์ด๋ฆ์ ๋๋ค.RESPONSE_POLICY
: ์ด์ ๋จ๊ณ์์ ์ง์ ํ ์๋ต ์ ์ฑ ์ ๋ฐ์ดํ๋ก ๋ฌถ์ธ ์ด๋ฆ์ ๋๋ค.
์ด ์์ ์์ VPC ๋คํธ์ํฌ ๋ด์์ ๋ฐ์ํ๋ ์์ฒญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- VPC ๋คํธ์ํฌ๋ฅผ ๋๊ฐ ์ ์์ผ๋ฏ๋ก ์๋น์ค ๊ฒฝ๊ณ ์ธ๋ถ์ ์ด๊ทธ๋ ์ค๋ฅผ ์ฐจ๋จํฉ๋๋ค.
- VPC ์๋น์ค ์ ์ด๋ฅผ ๊ฒ์ฌํ๋ Google API ๋ฐ ์๋น์ค์๋ง ๋๋ฌํ๋ฏ๋ก Google API๋ฅผ ํตํ ์ ์ถ์ ๋ฐฉ์งํฉ๋๋ค.
VPC ์๋น์ค ์ ์ด๋ฅผ ์ค์ํ๋ Cloud Run ์๋น์ค ๋ฐ ์์ ๋ฐฐํฌ
Cloud Run์ ๋ํด VPC ์๋น์ค ์ ์ด๋ฅผ ๊ตฌ์ฑํ ํ์๋ ์๋น์ค ๊ฒฝ๊ณ ๋ด์ ๋ฐฐํฌํ ๋ชจ๋ Cloud Run ์๋น์ค ๋ฐ ์์ ์์ VPC ์๋น์ค ์ ์ด๋ฅผ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ค๋ฉด ๋ค์ ์กฐ์น๋ฅผ ์ทจํด์ผ ํฉ๋๋ค.
- Cloud Run ์๋น์ค ๋ฐ ์์ ์ ์ง์ VPC ์ด๊ทธ๋ ์ค ๋๋ ์๋ฒ๋ฆฌ์ค VPC ์ก์ธ์ค ์ปค๋ฅํฐ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ VPC ๋คํธ์ํฌ์ ์ฐ๊ฒฐ์ ์ฐธ์กฐํ์ธ์.
- Cloud Run ์๋น์ค ๋ฐ ์์ ์ VPC ๋คํธ์ํฌ๋ฅผ ํตํด ๋ชจ๋ ๋ฐ์ ํธ๋ํฝ์ ๋ผ์ฐํ ํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด๊ทธ๋ ์ค ์ค์ ์ ์ฐธ์กฐํ์ธ์.
- Cloud Run ์๋น์ค๋ ๋ด๋ถ ์์ค์ ํธ๋ํฝ๋ง ํ์ฉํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ธ๊ทธ๋ ์ค ์ค์ ์ ์ฐธ์กฐํ์ธ์. ์ธ๊ทธ๋ ์ค๋ฅผ '๋ชจ๋'๋ก ์ค์ ํ๋ฉด VPC ์๋น์ค ์ ์ด ์ํ์ด ์ฌ์ฉ ์ค์ง๋ฉ๋๋ค.
๊ธฐ์กด ์๋น์ค์ VPC ์๋น์ค ์ ์ด ๊ท์ ์ค์ ์ฌ๋ถ ๊ฐ์ฌ
VPC ์๋น์ค ์ ์ด๋ฅผ ์ค์ ํ ํ ์๋น์ค ๊ฒฝ๊ณ ๋ด๋ถ์ ํ๋ก์ ํธ์์ ์ ์๋น์ค๋ฅผ ๋ง๋ค๋ฉด ํด๋น ์๋น์ค์ ๊ท์ ์ค์ ์ฌ๋ถ๊ฐ ์๋์ผ๋ก ๊ฒ์ฌ๋ฉ๋๋ค. ํ์ง๋ง ๊ธฐ์กด ์ํฌ๋ก๋์ ์ค๋จ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๊ธฐ์กด ์๋น์ค๋ ๊ณ์ ์๋ํ๋ฉฐ ์กฐ์ง ์ ์ฑ ์ ์ค์ํ์ง ์์ ์ ์์ต๋๋ค.
์๋น์ค๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ๊ฐ์ฌํ์ฌ ์ธ๊ทธ๋ ์ค ๋ฐ ์ด๊ทธ๋ ์ค ์ค์ ์ด ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋์ง ํ์ธํ๊ณ ํ์์ ๋ฐ๋ผ ์๋น์ค๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ์ฌ๋ฐฐํฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์๋ฅผ ๋ค์ด Cloud Run Admin API๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค๋ฅผ ๋์ดํ๊ณ ์ ์ ํ ๋คํธ์ํฌ ์ค์ ์ด ์ง์ ๋์ง ์์ ์๋น์ค๋ฅผ ๊ฐ์กฐํ์ํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.