ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ

์ด ์ฃผ์ œ์—์„œ๋Š” ์ƒˆ ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์†Œ๊ฐœ๋Š” ํ™˜๊ฒฝ ๋ฐ ํ™˜๊ฒฝ ๊ทธ๋ฃน ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ ์ •๋ณด

ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ๋Š” ๋‹ค์Œ ๋‘ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

  • UI ๋˜๋Š” Apigee API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ฆฌ ์˜์—ญ์— ํ™˜๊ฒฝ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ํŒŒ์ผ์„ ์žฌ์ •์˜ํ•˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ์ถ”๊ฐ€ ๋ฐ ๊ตฌ์„ฑ์„ ์œ„ํ•œ ๋‹จ๊ณ„๋Š” 5๋‹จ๊ณ„: ํ™˜๊ฒฝ ์ถ”๊ฐ€ ๋ฐ ๊ตฌ์„ฑ ์žฌ์ •์˜ ์ง€์ •์—์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

  1. Apigee UI์—์„œ ๋˜๋Š” ํ™˜๊ฒฝ API ๋งŒ๋“ค๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ํ™˜๊ฒฝ์„ ํ•œ ๊ฐœ ์ด์ƒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋‹จ๊ณ„๋Š” 5๋‹จ๊ณ„: ํ™˜๊ฒฝ ์ถ”๊ฐ€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
  2. ์ƒˆ ํ™˜๊ฒฝ ์ •์˜๋ฅผ ์žฌ์ •์˜ ํŒŒ์ผ์˜ envs[] ์†์„ฑ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์†์„ฑ์€ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ™˜๊ฒฝ ์ •์˜๋ฅผ ๋‘ ๊ฐœ ์ด์ƒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ํ™˜๊ฒฝ์— UI์—์„œ ๋งŒ๋“  ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ๊ตฌ์„ฑ์€ test ๋ฐ prod ๋“ฑ ๋‘ ๊ฐ€์ง€ ํ™˜๊ฒฝ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

    namespace: my-namespace
    org: my-organization
    ...
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
    
      - name: prod
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
    ...
  3. routingRules๋ฅผ ํ™˜๊ฒฝ์— ๋งคํ•‘ํ•˜๋Š” virtualhosts ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    virtualhosts:
      - name: default
        hostAliases: ["api.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
        routingRules:
          - env: test
  4. ํด๋Ÿฌ์Šคํ„ฐ์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. envs[] ์†์„ฑ๊ณผ virtualhosts[] ์†์„ฑ์„ ๋ชจ๋‘ ๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
    apigeectl apply -f overrides-file.yaml -c synchronizer,udca,runtime

    virtualhosts ์†์„ฑ๋งŒ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ --settings ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

    apigeectl apply -f overrides-file.yaml --settings virtualhosts

์—ฌ๋Ÿฌ basepath ๊ฒฝ๋กœ ๋ผ์šฐํŒ… ๊ทœ์น™์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋น„๋กฏํ•˜์—ฌ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”. ํ™˜๊ฒฝ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ „์ฒด ๋ชฉ๋ก์€ ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ envs๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.