4๋‹จ๊ณ„: ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ

์ด ๋‹จ๊ณ„์—์„œ๋Š” Apigee Hybrid๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ Google Cloud ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์š”

Apigee Hybrid๋Š” Google Cloud ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šน์ธ๋œ API ํ˜ธ์ถœ์„ ๋งŒ๋“ค์–ด ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ ๋ฐ ๋น„ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ ๋น„๊ต

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” ํ”„๋กœ๋•์…˜('ํ”„๋กœ๋•์…˜') ๋ฐ ๋น„ํ”„๋กœ๋•์…˜('๋น„ํ”„๋กœ๋•์…˜') ์„ค์น˜๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ์„ค์น˜๋Š” ์‚ฌ์šฉ ์šฉ๋Ÿ‰, ์Šคํ† ๋ฆฌ์ง€, ํ™•์žฅ์„ฑ์„ ๋†’์ด๋„๋ก ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. ๋น„ํ”„๋กœ๋•์…˜ ์„ค์น˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ ๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉฐ ์ฃผ๋กœ ํ•™์Šต ๋ฐ ๋ฐ๋ชจ์šฉ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Apigee Hybrid์šฉ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ  ๊ตฌ์„ฑํ•  ๋•Œ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ์„ค์น˜ ์œ ํ˜•์„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜ ์„ค์น˜์˜ ๊ฒฝ์šฐ Apigee Hybrid ๊ตฌ์„ฑ์š”์†Œ๋งˆ๋‹ค ๋ณ„๋„์˜ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด runtime, mart, metrics, udca ๋“ฑ์— ๊ฐ๊ฐ ์ž์ฒด ์„œ๋น„์Šค ๊ณ„์ •์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

๋น„ํ”„๋กœ๋•์…˜ ์„ค์น˜์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ์— ์ ์šฉ๋˜๋Š” ๋‹จ์ผ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Apigee์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ํ• ๋‹น๋œ ์—ญํ• ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Hybrid ๊ตฌ์„ฑ์š”์†Œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค ๊ณ„์ • ๋ฐ ์—ญํ• ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

GKE์˜ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ

GKE ๊ธฐ๋ฐ˜์˜ Apigee Hybrid ์„ค์น˜์—์„œ๋Š” Google Cloud๊ฐ€ Hybrid ๋Ÿฐํƒ€์ž„ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•ด ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ผ๋Š” ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์„œ๋น„์Šค ๊ณ„์ •์„ ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์šด๋กœ๋“œํ•œ ์ธ์ฆ์„œ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ๋Œ€์‹  ์ด ๋‹จ๊ณ„์—์„œ ๋งŒ๋“œ๋Š” Google Cloud ์„œ๋น„์Šค ๊ณ„์ •์„ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์˜ Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋Š” GKE ์„ค์น˜์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ

๋‹ค์Œ ์ ˆ์ฐจ์— ๋”ฐ๋ผ Hybrid ์„ค์น˜์— ํ•„์š”ํ•œ Google Cloud ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  • create-service-account ๋„๊ตฌ: GKE ์ด์™ธ์˜ ํ”Œ๋žซํผ์— Apigee Hybrid๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ GKE์— ์„ค์น˜ํ•˜์ง€๋งŒ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด Apigee์—์„œ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ์ธ create-service-account๋ฅผ ์‚ฌ์šฉํ•ด ๋‹จ์ผ ๋ช…๋ น์–ด๋กœ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ , ์„œ๋น„์Šค ๊ณ„์ •์— ์—ญํ• ์„ ํ• ๋‹นํ•˜๊ณ , ์„œ๋น„์Šค ๊ณ„์ •์˜ ํ‚ค ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
    create-service-account๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ์˜ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
  • Google Cloud console ๋˜๋Š” gcloud: GKE์— Apigee Hybrid๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ Google Cloud console ๋˜๋Š” gcloud๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„œ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜์ง€ ์•Š๊ณ  ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. Google Cloud console ์—์„œ ๋˜๋Š” gcloud๋กœ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ์˜
    ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

create-service-account๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ๋Š” create-service-account ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ Google Cloud console ์—์„œ ๋˜๋Š” gcloud๋กœ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ๋กœ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

  1. HYBRID_FILES ๋ฐ PROJECT_ID ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    create-service-account ๋„๊ตฌ๊ฐ€ PROJECT_ID ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ฝ์–ด ์˜ฌ๋ฐ”๋ฅธ ํ”„๋กœ์ ํŠธ์˜ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— PROJECT_ID๊ฐ€ Google Cloud ํ”„๋กœ์ ํŠธ ID๋กœ ์„ค์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    echo $HYBRID_FILES
    echo $PROJECT_ID
  2. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ๋น„ํ”„๋กœ๋•์…˜

    ์ด ๋ช…๋ น์–ด๋Š” ๋น„ํ”„๋กœ๋•์…˜ ์„ค์น˜์— ์‚ฌ์šฉํ•  ๋‹จ์ผ ์„œ๋น„์Šค ๊ณ„์ • apigee-non-prod๋ฅผ ๋งŒ๋“ค๊ณ  $HYBRID_FILES/service-accounts ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ์„œ๋น„์Šค ๊ณ„์ •์˜ ํ‚ค ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

    $HYBRID_FILES/tools/create-service-account --env non-prod --dir $HYBRID_FILES/service-accounts

    ํ”„๋กœ๋•์…˜

    ์ด ๋ช…๋ น์–ด๋Š” ํ”„๋กœ๋•์…˜ ์„ค์น˜๋ฅผ ์œ„ํ•œ ๋ชจ๋“  ๊ฐœ๋ณ„ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ  $HYBRID_FILES/service-accounts ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์„œ๋น„์Šค ๊ณ„์ •์˜ ํ‚ค ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

    $HYBRID_FILES/tools/create-service-account --env prod --dir $HYBRID_FILES/service-accounts

    ๋‹ค์Œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด y๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    [INFO]: gcloud configured project ID is project_id.
     Enter: y to proceed with creating service account in project: project_id
     Enter: n to abort.

    ํŠน์ • ์„œ๋น„์Šค ๊ณ„์ •์„ ์ฒ˜์Œ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ ์ถ”๊ฐ€ ํ”„๋กฌํ”„ํŠธ ์—†์ด ๋„๊ตฌ์—์„œ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ํ•˜์ง€๋งŒ ๋‹ค์Œ ๋ฉ”์‹œ์ง€ ๋ฐ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด y๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ƒˆ ํ‚ค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    [INFO]: Service account apigee-non-prod@project_id.iam.gserviceaccount.com already exists.
    ...
     [INFO]: The service account might have keys associated with it. It is recommended to use existing keys.
     Press: y to generate new keys.(this does not deactivate existing keys)
     Press: n to skip generating new keys.
  3. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋น„๊ณต๊ฐœ ํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด๊ด€ํ•  ์ฑ…์ž„์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‚ค ํŒŒ์ผ ์ด๋ฆ„์—๋Š” Google Cloud ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์ด ํ”„๋ฆฌํ”ฝ์Šค๋กœ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
    ls $HYBRID_FILES/service-accounts

    ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    project_id-apigee-non-prod.json

Google Cloud console ์—์„œ ๋˜๋Š” gcloud๋กœ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ

GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Hybrid ๋Ÿฐํƒ€์ž„ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ธ์ฆํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ธ์ฆ์„œ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๋‹ค์šด๋กœ๋“œํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ create-service-account ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”. ๋Œ€์‹  Google Cloud console ์—์„œ ๋˜๋Š” gcloud์—์„œ IAM API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ create-service-account๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ๋กœ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

์ฝ˜์†”

์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ์˜ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ผ ๋‹ค์Œ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ  ๋‹ค์Œ ์—ญํ• ์„ ์„œ๋น„์Šค ๊ณ„์ •์— ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

๋น„ํ”„๋กœ๋•์…˜

๋น„ํ”„๋กœ๋•์…˜ ์„ค์น˜:

์„œ๋น„์Šค ๊ณ„์ • ์ด๋ฆ„ IAM ์—ญํ• 
apigee-non-prod
  • Apigee ์• ๋„๋ฆฌํ‹ฑ์Šค ์—์ด์ „ํŠธ
  • Apigee Connect ์—์ด์ „ํŠธ
  • Apigee ๋Ÿฐํƒ€์ž„ ์—์ด์ „ํŠธ
  • Apigee ๋™๊ธฐํ™” ๊ด€๋ฆฌ์ž
  • ๋กœ๊ทธ ์ž‘์„ฑ์ž
  • ๋ชจ๋‹ˆํ„ฐ๋ง ์ธก์ •ํ•ญ๋ชฉ ์ž‘์„ฑ์ž
  • ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ๊ด€๋ฆฌ์ž

ํ”„๋กœ๋•์…˜

ํ”„๋กœ๋•์…˜ ์„ค์น˜:

ํ”„๋กœ๋•์…˜ ์„ค์น˜
์„œ๋น„์Šค ๊ณ„์ • ์ด๋ฆ„ IAM ์—ญํ• 
apigee-cassandra ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ๊ด€๋ฆฌ์ž
apigee-logger ๋กœ๊ทธ ์ž‘์„ฑ์ž
apigee-mart Apigee Connect ์—์ด์ „ํŠธ
apigee-metrics ๋ชจ๋‹ˆํ„ฐ๋ง ์ธก์ •ํ•ญ๋ชฉ ์ž‘์„ฑ์ž
apigee-runtime ์—ญํ•  ํ•„์š” ์—†์Œ
apigee-synchronizer Apigee ๋™๊ธฐํ™” ๊ด€๋ฆฌ์ž
apigee-udca Apigee ์• ๋„๋ฆฌํ‹ฑ์Šค ์—์ด์ „ํŠธ
apigee-watcher Apigee ๋Ÿฐํƒ€์ž„ ์—์ด์ „ํŠธ

gcloud

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ  IAM ์—ญํ• ์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

๋น„ํ”„๋กœ๋•์…˜

๋น„ํ”„๋กœ๋•์…˜ ์„ค์น˜:

  1. apigee-non-prod ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
    gcloud iam service-accounts create apigee-non-prod \
      --display-name="apigee-non-prod" \
      --project=$PROJECT_ID
  2. ์„œ๋น„์Šค ๊ณ„์ •์— IAM ์—ญํ• ์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/storage.objectAdmin"
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/logging.logWriter"
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/apigeeconnect.Agent"
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/monitoring.metricWriter"
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/apigee.synchronizerManager"
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/apigee.analyticsAgent"
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/apigee.runtimeAgent"
  3. ์—ญํ•  ๋ฐ”์ธ๋”ฉ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    gcloud projects get-iam-policy ${PROJECT_ID} \
      --flatten="bindings[].members" \
      --format='table(bindings.role)' \
      --filter="bindings.members:apigee-non-prod@$PROJECT_ID.iam.gserviceaccount.com"

ํ”„๋กœ๋•์…˜

ํ”„๋กœ๋•์…˜ ์„ค์น˜:

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ  ์ƒ์‘ํ•˜๋Š” IAM ์—ญํ• ์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

  1. apigee-cassandra ์„œ๋น„์Šค ๊ณ„์ •:
    gcloud iam service-accounts create apigee-cassandra \
      --display-name="apigee-cassandra" \
      --project=$PROJECT_ID
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-cassandra@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/storage.objectAdmin"
  2. apigee-logger ์„œ๋น„์Šค ๊ณ„์ •:
    gcloud iam service-accounts create apigee-logger \
      --display-name="apigee-logger" \
      --project=$PROJECT_ID
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-logger@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/logging.logWriter"
  3. apigee-mart ์„œ๋น„์Šค ๊ณ„์ •:
    gcloud iam service-accounts create apigee-mart \
      --display-name="apigee-mart" \
      --project=$PROJECT_ID
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-mart@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/apigeeconnect.Agent"
  4. apigee-metrics ์„œ๋น„์Šค ๊ณ„์ •:
    gcloud iam service-accounts create apigee-metrics \
      --display-name="apigee-metrics" \
      --project=$PROJECT_ID
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-metrics@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/monitoring.metricWriter"
  5. apigee-runtime ์„œ๋น„์Šค ๊ณ„์ •:
    gcloud iam service-accounts create apigee-runtime \
      --display-name="apigee-runtime" \
      --project=$PROJECT_ID
  6. apigee-synchronizer ์„œ๋น„์Šค ๊ณ„์ •:
    gcloud iam service-accounts create apigee-synchronizer \
      --display-name="apigee-synchronizer" \
      --project=$PROJECT_ID
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-synchronizer@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/apigee.synchronizerManager"
  7. apigee-udca ์„œ๋น„์Šค ๊ณ„์ •:
    gcloud iam service-accounts create apigee-udca \
      --display-name="apigee-udca" \
      --project=$PROJECT_ID
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-udca@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/apigee.analyticsAgent"
  8. apigee-watcher ์„œ๋น„์Šค ๊ณ„์ •:
    gcloud iam service-accounts create apigee-watcher \
      --display-name="apigee-watcher" \
      --project=$PROJECT_ID
    gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:apigee-watcher@$PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/apigee.runtimeAgent"

gcloud๋กœ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„œ๋น„์Šค ๊ณ„์ • ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด์ œ ์„œ๋น„์Šค ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ  Apigee Hybrid ๊ตฌ์„ฑ์š”์†Œ์— ํ•„์š”ํ•œ ์—ญํ• ์„ ํ• ๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ํ•„์š”ํ•œ TLS ์ธ์ฆ์„œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

1 2 3 4 (๋‹ค์Œ) 5๋‹จ๊ณ„: TLS ์ธ์ฆ์„œ ๋งŒ๋“ค๊ธฐ 6 7 8 9 10 11