ํ—ˆ์šฉ๋˜๋Š” ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ์˜ˆ๋ฐฉํ˜• ์ œ์–ด

Last reviewed 2025-05-15 UTC

ํ—ˆ์šฉ๋˜๋Š” ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์„ ์ ์šฉํ•˜๊ณ  ์œ„ํ—˜ํ•œ ๊ตฌ์„ฑ์„ ๋ฐฉ์ง€ํ•˜๋Š” ์ •์ฑ… ์ œ์•ฝ์กฐ๊ฑด์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด ์ฒญ์‚ฌ์ง„์€ ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์กฐ์ง ์ •์ฑ… ์ œ์•ฝ์กฐ๊ฑด๊ณผ ์ฝ”๋“œํ˜• ์ธํ”„๋ผ(IaC) ๊ฒ€์ฆ์„ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ œ์–ด๋Š” ์ •์ฑ… ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ถฉ์กฑํ•˜์ง€ ์•Š๋Š” ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์›Œํฌ๋กœ๋“œ์˜ ์„ค๊ณ„ ๋ฐ ๋นŒ๋“œ ์ดˆ๊ธฐ์— ์ด๋Ÿฌํ•œ ์ œ์–ด๋ฅผ ์ ์šฉํ•˜๋ฉด ์ดํ›„์˜ ํ•ด๊ฒฐ ์ž‘์—…์„ ํ”ผํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์กฐ์ง ์ •์ฑ… ์ œ์•ฝ์กฐ๊ฑด

์กฐ์ง ์ •์ฑ… ์„œ๋น„์Šค๋Š” ์ถฉ๋ถ„ํ•œ ๊ถŒํ•œ์ด ์žˆ๋Š” IAM ์—ญํ• ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋„ Google Cloud ์กฐ์ง์—์„œ ํŠน์ • ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์—†๋„๋ก ์ œ์•ฝ์กฐ๊ฑด์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ์ฒญ์‚ฌ์ง„์— ๊ตฌํ˜„๋œ ์กฐ์ง ์ •์ฑ… ์ œ์•ฝ์กฐ๊ฑด์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์กฐ์ง ์ •์ฑ… ์ œ์•ฝ์กฐ๊ฑด ์„ค๋ช…

compute.disableNestedVirtualization

Compute Engine VM์˜ ์ค‘์ฒฉ๋œ ๊ฐ€์ƒํ™”๊ฐ€ ์ž˜๋ชป ๊ตฌ์„ฑ๋  ๊ฒฝ์šฐ VM์˜ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ธฐํƒ€ ๋ณด์•ˆ ๋„๊ตฌ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ ์ค‘์ฒฉ๋œ ๊ฐ€์ƒํ™”๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์—†๋„๋ก ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

compute.disableSerialPortAccess

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

compute.disableVpcExternalIpv6

์™ธ๋ถ€ IPv6 ์„œ๋ธŒ๋„ท์ด ์ž˜๋ชป ๊ตฌ์„ฑ๋  ๊ฒฝ์šฐ ์Šน์ธ๋˜์ง€ ์•Š์€ ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ ์™ธ๋ถ€ IPv6 ์„œ๋ธŒ๋„ท์„ ๋งŒ๋“ค ์ˆ˜ ์—†๋„๋ก ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

compute.requireOsLogin

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

compute.restrictProtocolForwardingCreationForTypes

์™ธ๋ถ€ IP ์ฃผ์†Œ์˜ VM ํ”„๋กœํ† ์ฝœ ์ „๋‹ฌ์ด ์ž˜๋ชป ๊ตฌ์„ฑ๋  ๊ฒฝ์šฐ ์Šน์ธ๋˜์ง€ ์•Š์€ ์ธํ„ฐ๋„ท ์ด๊ทธ๋ ˆ์Šค๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ ๋‚ด๋ถ€ ์ฃผ์†Œ์—๋งŒ VM ํ”„๋กœํ† ์ฝœ ์ „๋‹ฌ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

compute.restrictXpnProjectLienRemoval

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

compute.setNewProjectDefaultToZonalDNSOnly

์ „์—ญ(ํ”„๋กœ์ ํŠธ ์ „์ฒด) ๋‚ด๋ถ€ DNS์— ๋Œ€ํ•œ ๊ธฐ์กด ์„ค์ •์€ ์„œ๋น„์Šค ๊ฐ€์šฉ์„ฑ์„ ์ €ํ•˜์‹œํ‚ค๋ฏ€๋กœ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ ๊ธฐ์กด ์„ค์ •์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋„๋ก ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

compute.skipDefaultNetworkCreation

๊ธฐ๋ณธ VPC ๋„คํŠธ์›Œํฌ์™€ ๊ณผ๋„ํ•œ ๊ถŒํ•œ์˜ ๊ธฐ๋ณธ VPC ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด Compute Engine API๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋Š” ๋ชจ๋“  ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ ๊ธฐ๋ณธ ๋„คํŠธ์›Œํฌ ๋ฐ ๊ธฐ๋ณธ VPC ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

compute.vmExternalIpAccess

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

essentialcontacts.allowedContactDomains

๊ธฐ๋ณธ์ ์œผ๋กœ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์•Œ๋ฆผ์„ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์œผ๋กœ ์ „์†กํ•˜๋„๋ก ํ•„์ˆ˜ ์—ฐ๋ฝ์ฒ˜๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ ์Šน์ธ๋œ ๋„๋ฉ”์ธ์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋งŒ ํ•„์ˆ˜ ์—ฐ๋ฝ์ฒ˜์˜ ์ˆ˜์‹ ์ž๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

iam.allowedPolicyMemberDomains

๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„๊ด€๋ฆฌ ๊ณ„์ •, ์™ธ๋ถ€ ์กฐ์ง์— ์†ํ•˜๋Š” ๊ณ„์ •์„ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  Google ๊ณ„์ •์— ํ—ˆ์šฉ ์ •์ฑ…์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ ์กฐ์ง์˜ ํ—ˆ์šฉ ์ •์ฑ…์„ ์ž์ฒด ๋„๋ฉ”์ธ์˜ ๊ด€๋ฆฌ ๊ณ„์ •์—๋งŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ์ ์œผ๋กœ ์ถ”๊ฐ€ ๋„๋ฉ”์ธ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

iam.automaticIamGrantsForDefaultServiceAccounts

๊ธฐ๋ณธ์ ์œผ๋กœ ๊ธฐ๋ณธ ์„œ๋น„์Šค ๊ณ„์ •์—๋Š” ์ž๋™์œผ๋กœ ๊ณผ๋„ํ•œ ๊ถŒํ•œ ์—ญํ• ์ด ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ ๊ธฐ๋ณธ ์„œ๋น„์Šค ๊ณ„์ •์— ๋Œ€ํ•œ ์ž๋™ IAM ์—ญํ•  ๋ถ€์—ฌ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

iam.disableServiceAccountKeyCreation

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

iam.disableServiceAccountKeyUpload

์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ์ž๋ฃŒ๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด ํ‚ค ์ž๋ฃŒ๊ฐ€ ๋…ธ์ถœ๋  ๊ฒฝ์šฐ ์œ„ํ—˜์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ์—…๋กœ๋“œ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

sql.restrictAuthorizedNetworks

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

sql.restrictPublicIp

Cloud SQL ์ธ์Šคํ„ด์Šค๋Š” ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ณต๊ฐœ IP ์ฃผ์†Œ๋กœ ์ƒ์„ฑ๋œ ๊ฒฝ์šฐ ์ธ์ฆ๋˜์ง€ ์•Š์€ ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ Cloud SQL ์ธ์Šคํ„ด์Šค์—์„œ ๊ณต๊ฐœ IP ์ฃผ์†Œ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

storage.uniformBucketLevelAccess

๊ธฐ๋ณธ์ ์œผ๋กœ Cloud Storage์˜ ๊ฐ์ฒด๋Š” IAM ๋Œ€์‹  ๊ธฐ์กด ์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก(ACL)์„ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์–ด ์ž˜๋ชป ๊ตฌ์„ฑ๋  ๊ฒฝ์šฐ ์•ก์„ธ์Šค ์ œ์–ด๊ฐ€ ์ผ๊ด€๋˜์ง€ ์•Š๊ณ  ์‹ค์ˆ˜๋กœ ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ACL ์•ก์„ธ์Šค๋Š” iam.allowedPolicyMemberDomains ์ œ์•ฝ์กฐ๊ฑด์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ ๊ธฐ์กด ACL์ด ์•„๋‹Œ IAM ๊ท ์ผํ•œ ๋ฒ„ํ‚ท ์ˆ˜์ค€ ์•ก์„ธ์Šค๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์•ก์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

storage.publicAccessPrevention

Cloud Storage ๋ฒ„ํ‚ท์ด ์ž˜๋ชป ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ ์ธ์ฆ๋˜์ง€ ์•Š์€ ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œ์•ฝ์กฐ๊ฑด์€ allUsers ๋ฐ allAuthenticatedUsers์— ๋Œ€ํ•ด ์•ก์„ธ์Šค๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ACL ๋ฐ IAM ๊ถŒํ•œ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ •์ฑ…์€ ๋Œ€๋ถ€๋ถ„์˜ ๊ณ ๊ฐ๊ณผ ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๊ถŒ์žฅ๋˜๋Š” ์‹œ์ž‘์ ์ด์ง€๋งŒ ํŠน์ • ์›Œํฌ๋กœ๋“œ ์œ ํ˜•์„ ์ˆ˜์šฉํ•˜๋„๋ก ์กฐ์ง ์ •์ฑ… ์ œ์•ฝ์กฐ๊ฑด์„ ์ˆ˜์ •ํ•ด์•ผ ํ•  ๋•Œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Cloud Storage ๋ฒ„ํ‚ท์„ Cloud CDN์˜ ๋ฐฑ์—”๋“œ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฐœ ๋ฆฌ์†Œ์Šค๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ์›Œํฌ๋กœ๋“œ๋ฅผ storage.publicAccessPrevention์œผ๋กœ ์ฐจ๋‹จํ•˜๊ฑฐ๋‚˜ ์ธ์ฆ์ด ํ•„์š” ์—†๋Š” ๊ณต๊ฐœ์šฉ Cloud Run ์•ฑ์„ iam.allowedPolicyMemberDomains๋กœ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ œํ•œ๋œ ์˜ˆ์™ธ๋ฅผ ํ—ˆ์šฉํ•˜๋„๋ก ํด๋” ๋˜๋Š” ํ”„๋กœ์ ํŠธ ์ˆ˜์ค€์—์„œ ์กฐ์ง ์ •์ฑ…์„ ์ˆ˜์ •ํ•˜์„ธ์š”. ์ •์ฑ… ์˜ˆ์™ธ ๋˜๋Š” ์ ์šฉ์„ ๋ถ€์—ฌํ•˜๋Š” ํƒœ๊ทธ๋ฅผ ์ •์˜ํ•œ ๋‹ค์Œ ํ”„๋กœ์ ํŠธ ๋ฐ ํด๋”์— ํƒœ๊ทธ๋ฅผ ์ ์šฉํ•˜์—ฌ ์กฐ์ง ์ •์ฑ…์— ์ œ์•ฝ์กฐ๊ฑด์„ ์กฐ๊ฑด๋ถ€๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์ œ์•ฝ์กฐ๊ฑด์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ œ์•ฝ์กฐ๊ฑด ๋ฐ ์ปค์Šคํ…€ ์ œ์•ฝ์กฐ๊ฑด์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฝ”๋“œํ˜• ์ธํ”„๋ผ์˜ ๋ฐฐํฌ ์ „ ๊ฒ€์ฆ

์ด ์ฒญ์‚ฌ์ง„์—์„œ๋Š” GitOps ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ”„๋ผ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฒ„์ „์ด ์ œ์–ด๋˜๋Š” ์ฝ”๋“œํ˜• ์ธํ”„๋ผ ์ œ์–ด(IaC)๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ์ธํ”„๋ผ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๊ตฌํ˜„๋˜๋ฉฐ ๋ฐฐํฌ ์ „์— ๊ฒ€์ฆ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒญ์‚ฌ์ง„์— ์ ์šฉ๋œ ์ •์ฑ…์€ ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ํ—ˆ์šฉ๋˜๋Š” ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. GitHub ์ €์žฅ์†Œ์— ์ œ์ถœ๋œ ์ฝ”๋“œ๊ฐ€ ์ •์ฑ… ์ ๊ฒ€์„ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•˜๋ฉด ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ฐฐํฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŒŒ์ดํ”„๋ผ์ธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ๋ฐ CI/CD ์ž๋™ํ™”๋ฅผ ํ†ตํ•œ ์ œ์–ด ์ ์šฉ ๋ฐฉ๋ฒ•์€ ๋ฐฐํฌ ๋ฐฉ๋ฒ•๋ก ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

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