Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •์ฑ… ๊ตฌ์„ฑ

์ด ํŽ˜์ด์ง€์—์„œ๋Š” Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ Binary Authorization ์ •์ฑ…์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” Google Cloud CLI ๋˜๋Š” REST API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„๋Š” Binary Authorization ์„ค์ •์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

์ •์ฑ…์€ ํ•œ ๊ฐœ ์ด์ƒ์˜ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ฐฐํฌ๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ทœ์น™ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

  1. Binary Authorization์„ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  2. ํ”Œ๋žซํผ์— Binary Authorization์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜์„ธ์š”.

  3. ์ฆ๋ช…์„ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ •์ฑ…์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์ „์— ์ฆ๋ช…์ž๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Google Cloud ์ฝ˜์†”๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋ช…๋ น์ค„ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์ฆ๋ช…์ž๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  4. Binary Authorization์„ ์‚ฌ์šฉ ์„ค์ •ํ•œ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๊ทœ์น™ ์„ค์ •

์ด ์„น์…˜์€ GKE, GKE Multi-cloud, Distributed Cloud, Cloud Run, Cloud Service Mesh์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

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

๊ธฐ๋ณธ ๊ทœ์น™์„ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™

  2. ์ •์ฑ… ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์ •์ฑ… ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๊ธฐ๋ณธ ๊ทœ์น™์˜ ํ‰๊ฐ€ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ํ‰๊ฐ€ ๋ชจ๋“œ์—์„œ๋Š” ๋ฐฐํฌ ์‹œ Binary Authorization์—์„œ ์ ์šฉํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด ์œ ํ˜•์ด ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ํ‰๊ฐ€ ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

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

    ๋‹ค์Œ ์ฆ๋ช…์ž๊ฐ€ ์Šน์ธํ•œ ์ด๋ฏธ์ง€๋งŒ ํ—ˆ์šฉ์„ ์„ ํƒํ•œ ๊ฒฝ์šฐ:

    1. ์ฆ๋ช…์ž์˜ ์ด๋ฆ„ ๋˜๋Š” ๋ฆฌ์†Œ์Šค ID๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

      Google Cloud ์ฝ˜์†”์˜ ์ฆ๋ช…์ž ํŽ˜์ด์ง€์—์„œ ๊ธฐ์กด ์ฆ๋ช…์ž๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์ƒˆ ์ฆ๋ช…์ž๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™

    2. ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    3. ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

      • ํ”„๋กœ์ ํŠธ ๋ฐ ์ฆ๋ช…์ž ์ด๋ฆ„์œผ๋กœ ์ถ”๊ฐ€

        ํ”„๋กœ์ ํŠธ๋Š” ์ฆ๋ช…์ž๋ฅผ ์ €์žฅํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ฆ๋ช…์ž ์ด๋ฆ„์˜ ์˜ˆ์‹œ๋Š” build-qa์ž…๋‹ˆ๋‹ค.

      • ์ฆ๋ช…์ž ๋ฆฌ์†Œ์Šค ID๋กœ ์ถ”๊ฐ€

        ๋ฆฌ์†Œ์Šค ID์˜ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

        projects/PROJECT_ID/attestors/ATTESTOR_NAME
        
    4. ์ฆ๋ช…์ž์—์„œ ์„ ํƒํ•œ ์˜ต์…˜์— ์ ์ ˆํ•œ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    5. ์ฆ๋ช…์ž๋ฅผ ๋” ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    6. ๊ทœ์น™์„ ์ €์žฅํ•˜๋ ค๋ฉด ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  2. ์ •์ฑ… ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ๋ณ„ ๊ทœ์น™ ์„ค์ •(์„ ํƒ์‚ฌํ•ญ)

์ด ์„น์…˜์€ GKE, Distributed Cloud, Cloud Service Mesh์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ •์ฑ…์— ํ•œ ๊ฐœ ์ด์ƒ์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ณ„ ๊ทœ์น™์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์œ ํ˜•์˜ ๊ทœ์น™์€ ํŠน์ • Google Kubernetes Engine(GKE) ํด๋Ÿฌ์Šคํ„ฐ์—๋งŒ ๋ฐฐํฌ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๋ณ„ ๊ทœ์น™์€ ์ •์ฑ…์˜ ์„ ํƒ์  ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ๋ณ„ ๊ทœ์น™(GKE) ์ถ”๊ฐ€

์ด ์„น์…˜์€ GKE ๋ฐ Distributed Cloud์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

GKE ํด๋Ÿฌ์Šคํ„ฐ์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ณ„ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™

  2. ์ •์ฑ… ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์ •์ฑ… ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. GKE ๋ฐ GKE Enterprise ๋ฐฐํฌ์˜ ์ถ”๊ฐ€ ์„ค์ • ์„น์…˜์„ ํŽผ์นฉ๋‹ˆ๋‹ค.

  5. ํŠน์ • ๊ทœ์น™ ์œ ํ˜•์ด ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํŠน์ • ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    1. ๊ทœ์น™ ์œ ํ˜•์„ ์„ ํƒํ•˜๋ ค๋ฉด ํŠน์ • ๊ทœ์น™ ์œ ํ˜•์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    2. ๊ทœ์น™ ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋ณ€๊ฒฝ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  6. ํŠน์ • ๊ทœ์น™ ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  7. ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌ์†Œ์Šค ID ํ•„๋“œ์— ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ฆฌ์†Œ์Šค ID๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ฆฌ์†Œ์Šค ID์—๋Š” LOCATION.NAME ํ˜•์‹์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: us-central1-a.test-cluster).

  8. ๊ธฐ๋ณธ ๊ทœ์น™์˜ ํ‰๊ฐ€ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ํ‰๊ฐ€ ๋ชจ๋“œ์—์„œ๋Š” ๋ฐฐํฌ ์‹œ Binary Authorization์—์„œ ์ ์šฉํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด ์œ ํ˜•์ด ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ํ‰๊ฐ€ ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

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

    ๋‹ค์Œ ์ฆ๋ช…์ž๊ฐ€ ์Šน์ธํ•œ ์ด๋ฏธ์ง€๋งŒ ํ—ˆ์šฉ์„ ์„ ํƒํ•œ ๊ฒฝ์šฐ:

    1. ์ฆ๋ช…์ž์˜ ์ด๋ฆ„ ๋˜๋Š” ๋ฆฌ์†Œ์Šค ID๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

      Google Cloud ์ฝ˜์†”์˜ ์ฆ๋ช…์ž ํŽ˜์ด์ง€์—์„œ ๊ธฐ์กด ์ฆ๋ช…์ž๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์ƒˆ ์ฆ๋ช…์ž๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™

    2. ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    3. ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

      • ํ”„๋กœ์ ํŠธ ๋ฐ ์ฆ๋ช…์ž ์ด๋ฆ„์œผ๋กœ ์ถ”๊ฐ€

        ํ”„๋กœ์ ํŠธ๋Š” ์ฆ๋ช…์ž๋ฅผ ์ €์žฅํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ฆ๋ช…์ž ์ด๋ฆ„์˜ ์˜ˆ์‹œ๋Š” build-qa์ž…๋‹ˆ๋‹ค.

      • ์ฆ๋ช…์ž ๋ฆฌ์†Œ์Šค ID๋กœ ์ถ”๊ฐ€

        ๋ฆฌ์†Œ์Šค ID์˜ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

        projects/PROJECT_ID/attestors/ATTESTOR_NAME
        
    4. ์ฆ๋ช…์ž์—์„œ ์„ ํƒํ•œ ์˜ต์…˜์— ์ ์ ˆํ•œ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    5. ์ฆ๋ช…์ž๋ฅผ ๋” ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    6. ๊ทœ์น™์„ ์ €์žฅํ•˜๋ ค๋ฉด ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  9. ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ๋ณ„ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    'ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.'๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์ค‘์— GKE์—์„œ ์ด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉด ์ด ๊ทœ์น™์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ถ”๊ฐ€๋ฅผ ๋‹ค์‹œ ํด๋ฆญํ•˜์—ฌ ๊ทœ์น™์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  10. ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  11. ์ •์ฑ… ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ๋ณ„ ๊ทœ์น™ ์ถ”๊ฐ€(GKE Multi-cloud, Distributed Cloud)

์ด ์„น์…˜์€ Distributed Cloud์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

GKE ํด๋Ÿฌ์Šคํ„ฐ์˜ ํด๋Ÿฌ์Šคํ„ฐ๋ณ„ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™

  2. ์ •์ฑ… ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์ •์ฑ… ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. GKE ๋ฐ GKE Enterprise ๋ฐฐํฌ์˜ ์ถ”๊ฐ€ ์„ค์ • ์„น์…˜์„ ํŽผ์นฉ๋‹ˆ๋‹ค.

  5. ํŠน์ • ๊ทœ์น™ ์œ ํ˜•์ด ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํŠน์ • ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    1. ๊ทœ์น™ ์œ ํ˜•์„ ์„ ํƒํ•˜๋ ค๋ฉด ํŠน์ • ๊ทœ์น™ ์œ ํ˜•์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    2. ๊ทœ์น™ ์œ ํ˜•์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋ณ€๊ฒฝ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  6. ํŠน์ • ๊ทœ์น™ ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  7. ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌ์†Œ์Šค ID ํ•„๋“œ์— ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ฆฌ์†Œ์Šค ID๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    • GKE ์—ฐ๊ฒฐ ํด๋Ÿฌ์Šคํ„ฐ์™€ AWS์šฉ GKE์˜ ๊ฒฝ์šฐ ํ˜•์‹์€ CLUSTER_LOCATION.CLUSTER_NAME์ž…๋‹ˆ๋‹ค(์˜ˆ: us-central1-a.test-cluster).
    • Google Distributed Cloud ๋ฐ Google Distributed Cloud์˜ ๊ฒฝ์šฐ ํ˜•์‹์€ FLEET_MEMBERSHIP_LOCATION.FLEET_MEMBERSHIP_ID์ž…๋‹ˆ๋‹ค(์˜ˆ: global.test-membership).
  8. ๊ธฐ๋ณธ ๊ทœ์น™์˜ ํ‰๊ฐ€ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ํ‰๊ฐ€ ๋ชจ๋“œ์—์„œ๋Š” ๋ฐฐํฌ ์‹œ Binary Authorization์—์„œ ์ ์šฉํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด ์œ ํ˜•์ด ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ํ‰๊ฐ€ ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

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

    ๋‹ค์Œ ์ฆ๋ช…์ž๊ฐ€ ์Šน์ธํ•œ ์ด๋ฏธ์ง€๋งŒ ํ—ˆ์šฉ์„ ์„ ํƒํ•œ ๊ฒฝ์šฐ:

    1. ์ฆ๋ช…์ž์˜ ์ด๋ฆ„ ๋˜๋Š” ๋ฆฌ์†Œ์Šค ID๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

      Google Cloud ์ฝ˜์†”์˜ ์ฆ๋ช…์ž ํŽ˜์ด์ง€์—์„œ ๊ธฐ์กด ์ฆ๋ช…์ž๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์ƒˆ ์ฆ๋ช…์ž๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™

    2. ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    3. ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

      • ํ”„๋กœ์ ํŠธ ๋ฐ ์ฆ๋ช…์ž ์ด๋ฆ„์œผ๋กœ ์ถ”๊ฐ€

        ํ”„๋กœ์ ํŠธ๋Š” ์ฆ๋ช…์ž๋ฅผ ์ €์žฅํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ฆ๋ช…์ž ์ด๋ฆ„์˜ ์˜ˆ์‹œ๋Š” build-qa์ž…๋‹ˆ๋‹ค.

      • ์ฆ๋ช…์ž ๋ฆฌ์†Œ์Šค ID๋กœ ์ถ”๊ฐ€

        ๋ฆฌ์†Œ์Šค ID์˜ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

        projects/PROJECT_ID/attestors/ATTESTOR_NAME
        
    4. ์ฆ๋ช…์ž์—์„œ ์„ ํƒํ•œ ์˜ต์…˜์— ์ ์ ˆํ•œ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    5. ์ฆ๋ช…์ž๋ฅผ ๋” ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    6. ๊ทœ์น™์„ ์ €์žฅํ•˜๋ ค๋ฉด ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  9. ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•˜์—ฌ ๊ทœ์น™์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

    'ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.'๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์ค‘์— GKE์—์„œ ์ง€์ •๋œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉด ์ด ๊ทœ์น™์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค." ์ด ๊ฒฝ์šฐ ์ถ”๊ฐ€๋ฅผ ๋‹ค์‹œ ํด๋ฆญํ•˜์—ฌ ๊ทœ์น™์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  10. ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  11. ์ •์ฑ… ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ๊ทœ์น™ ์ถ”๊ฐ€

๋ฉ”์‹œ ์„œ๋น„์Šค ID, Kubernetes ์„œ๋น„์Šค ๊ณ„์ • ๋˜๋Š” Kubernetes ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋กœ ๋ฒ”์œ„๊ฐ€ ์ง€์ •๋œ ๊ทœ์น™์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŠน์ • ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™

  2. ์ •์ฑ… ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์ •์ฑ… ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. GKE ๋ฐ Anthos ๋ฐฐํฌ์˜ ์ถ”๊ฐ€ ์„ค์ • ์„น์…˜์„ ํŽผ์นฉ๋‹ˆ๋‹ค.

  5. ํŠน์ • ๊ทœ์น™ ์œ ํ˜•์ด ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํŠน์ • ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    1. ํŠน์ • ๊ทœ์น™ ์œ ํ˜•์„ ํด๋ฆญํ•˜์—ฌ ๊ทœ์น™ ์œ ํ˜•์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    2. ๋ณ€๊ฒฝ์„ ํด๋ฆญํ•˜์—ฌ ๊ทœ์น™ ์œ ํ˜•์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

  6. ํŠน์ • ๊ทœ์น™ ์œ ํ˜•์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์œ ํ˜• ์ˆ˜์ •์„ ํด๋ฆญํ•˜์—ฌ ๊ทœ์น™ ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  7. ํŠน์ • ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ํŠน์ • ๊ทœ์น™ ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ๊ทœ์น™ ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ID๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    • ASM ์„œ๋น„์Šค ID: ASM ์„œ๋น„์Šค ID๋ฅผ PROJECT_ID.svc.id.goog/ns/NAMESPACE/sa/SERVICE_ACCOUNT ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    • Kubernetes ์„œ๋น„์Šค ๊ณ„์ •: Kubernetes ์„œ๋น„์Šค ๊ณ„์ •์„ NAMESPACE:SERVICE_ACCOUNT ํ˜•์‹์œผ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    • Kubernetes ๋„ค์ž„์ŠคํŽ˜์ด์Šค: Kubernetes ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ NAMESPACE ํ˜•์‹์œผ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    ๊ทœ์น™ ์œ ํ˜•์— ๋”ฐ๋ผ ํ•„์š”ํ•  ๊ฒฝ์šฐ ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: Kubernetes ๋ฆฌ์†Œ์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค.
    • NAMESPACE: Kubernetes ๋„ค์ž„์ŠคํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
    • SERVICE_ACCOUNT: ์„œ๋น„์Šค ๊ณ„์ •์ž…๋‹ˆ๋‹ค.
  8. ๊ธฐ๋ณธ ๊ทœ์น™์˜ ํ‰๊ฐ€ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ํ‰๊ฐ€ ๋ชจ๋“œ์—์„œ๋Š” ๋ฐฐํฌ ์‹œ Binary Authorization์—์„œ ์ ์šฉํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด ์œ ํ˜•์ด ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ํ‰๊ฐ€ ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

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

    ๋‹ค์Œ ์ฆ๋ช…์ž๊ฐ€ ์Šน์ธํ•œ ์ด๋ฏธ์ง€๋งŒ ํ—ˆ์šฉ์„ ์„ ํƒํ•œ ๊ฒฝ์šฐ:

    1. ์ฆ๋ช…์ž์˜ ์ด๋ฆ„ ๋˜๋Š” ๋ฆฌ์†Œ์Šค ID๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

      Google Cloud ์ฝ˜์†”์˜ ์ฆ๋ช…์ž ํŽ˜์ด์ง€์—์„œ ๊ธฐ์กด ์ฆ๋ช…์ž๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์ƒˆ ์ฆ๋ช…์ž๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™

    2. ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    3. ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

      • ํ”„๋กœ์ ํŠธ ๋ฐ ์ฆ๋ช…์ž ์ด๋ฆ„์œผ๋กœ ์ถ”๊ฐ€

        ํ”„๋กœ์ ํŠธ๋Š” ์ฆ๋ช…์ž๋ฅผ ์ €์žฅํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ฆ๋ช…์ž ์ด๋ฆ„์˜ ์˜ˆ์‹œ๋Š” build-qa์ž…๋‹ˆ๋‹ค.

      • ์ฆ๋ช…์ž ๋ฆฌ์†Œ์Šค ID๋กœ ์ถ”๊ฐ€

        ๋ฆฌ์†Œ์Šค ID์˜ ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

        projects/PROJECT_ID/attestors/ATTESTOR_NAME
        
    4. ์ฆ๋ช…์ž์—์„œ ์„ ํƒํ•œ ์˜ต์…˜์— ์ ์ ˆํ•œ ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    5. ์ฆ๋ช…์ž๋ฅผ ๋” ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    6. ๊ทœ์น™์„ ์ €์žฅํ•˜๋ ค๋ฉด ์ฆ๋ช…์ž ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  9. ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ชจ๋“œ๋ฅผ ํด๋ฆญํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์‹คํ–‰ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  10. ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•˜์—ฌ ํŠน์ • ๊ทœ์น™์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

  11. ์ •์ฑ… ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์™ธ ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ

์ด ์„น์…˜์€ GKE, Distributed Cloud, Cloud Run, Cloud Service Mesh์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์™ธ ์ด๋ฏธ์ง€๋Š” ์ •์ฑ… ๊ทœ์น™์—์„œ ์ œ์™ธ๋˜๋Š” ์ด๋ฏธ์ง€๋กœ, ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. Binary Authorization์—์„œ๋Š” ํ•ญ์ƒ ์˜ˆ์™ธ ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฒฝ๋กœ๋Š” Container Registry ๋˜๋Š” ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cloud Run

์ด ์„น์…˜์€ Cloud Run์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํƒœ๊ทธ๊ฐ€ ํฌํ•จ๋œ ์ด๋ฏธ์ง€ ์ด๋ฆ„์„ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด IMAGE_PATH:latest๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํƒœ๊ทธ๊ฐ€ ํฌํ•จ๋œ ์ด๋ฏธ์ง€ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์™€์ผ๋“œ ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ด๋ฏธ์ง€ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‹จ์ผ ์ด๋ฏธ์ง€์˜ ๋ชจ๋“  ๋ฒ„์ „์— *์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: us-docker.pkg.dev/myproject/container/hello@*).
  • ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์ด๋ฏธ์ง€์— **์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: us-docker.pkg.dev/myproject/**).

๊ฒฝ๋กœ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ IMAGE_PATH@DIGEST ํ˜•์‹์œผ๋กœ ๋‹ค์ด์ œ์ŠคํŠธ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ์ •์ฑ… ์‚ฌ์šฉ ์„ค์ •

์ด ์„น์…˜์€ GKE ๋ฐ Distributed Cloud์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Google์ด ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€ ์‹ ๋ขฐ๋Š” Binary Authorization ์‹œ์Šคํ…œ ์ •์ฑ…์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋Š” ์ •์ฑ… ์„ค์ •์ž…๋‹ˆ๋‹ค. ์ด ์„ค์ •์„ ๋ฐฐํฌ ์‹œ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด Binary Authorization์€ GKE์—์„œ ์š”๊ตฌํ•˜๋Š” Google์ด ๊ด€๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€ ๋ชฉ๋ก์„ ์ถ”๊ฐ€ ์ •์ฑ… ํ‰๊ฐ€์—์„œ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ •์ฑ…์€ ๋‹ค๋ฅธ ์ •์ฑ… ์„ค์ •๋ณด๋‹ค ๋จผ์ € ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ์ •์ฑ…์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ Binary Authorization ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Binary Authorization์œผ๋กœ ์ด๋™

  2. ์ •์ฑ… ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. GKE ๋ฐ Anthos ๋ฐฐํฌ์˜ ์ถ”๊ฐ€ ์„ค์ • ์„น์…˜์„ ํŽผ์นฉ๋‹ˆ๋‹ค.

  4. Google ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€ ์˜ˆ์™ธ ์„น์…˜์—์„œ Google์ด ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€ ์‹ ๋ขฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ์‹œ์Šคํ…œ ์ •์ฑ…์—์„œ ์ œ์™ธํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๋ ค๋ฉด ์„ธ๋ถ€์ •๋ณด ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ์ถ”๊ฐ€ ์˜ˆ์™ธ ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ง€์ •ํ•˜๋ ค๋ฉด ์ด ์ •์ฑ…์—์„œ ์ด๋ฏธ์ง€ ์˜ˆ์™ธ์˜ ์ปค์Šคํ…€ ์˜ˆ์™ธ ๊ทœ์น™ ์„น์…˜์„ ํŽผ์นฉ๋‹ˆ๋‹ค.

    ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด๋ฏธ์ง€ ํŒจํ„ด ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•˜๊ณ  ์ œ์™ธํ•  ์ถ”๊ฐ€ ์ด๋ฏธ์ง€์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  6. ์ •์ฑ… ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

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