Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๊ด€๋ฆฌ

Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๊ตฌ์„ฑ

overrides.yaml์—์„œ ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ตฌ๋ฌธ

ingressGateways:
- name: INGRESS_NAME
  replicaCountMin: REPLICAS_MIN
  replicaCountMax: REPLICAS_MAX
  resources:
    requests:
      cpu: CPU_COUNT_REQ
      memory: MEMORY_REQ
    limits:
      cpu: CPU_COUNT_LIMIT
      memory: MEMORY_LIMIT
  svcAnnotations:  # optional.
    SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
  svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional

์˜ˆ

ingressGateways:
- name: prod1
  replicaCountMin: 2
  replicaCountMax: 100
  resources:
    requests:
      cpu: 1
      memory: 1Gi
    limits:
      cpu: 2
      memory: 2Gi
  svcAnnotations:  # optional. See Known issue 243599452.
    networking.gke.io/load-balancer-type: "Internal"
  svcLoadBalancerIP: 198.252.0.123 
  • INGRESS_NAME์€ ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๋ฐฐํฌ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ์ด๋ฆ„์ด๋ฉด ๋ฉ๋‹ˆ๋‹ค.
    • ์ตœ๋Œ€ ๊ธธ์ด๋Š” 17์ž(์˜๋ฌธ ๊ธฐ์ค€)์ž…๋‹ˆ๋‹ค.
    • ์†Œ๋ฌธ์ž ์˜์ˆซ์ž ๋ฌธ์ž, '-' ๋˜๋Š” '.'๋งŒ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜์ˆซ์ž ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜์ˆซ์ž ๋ฌธ์ž๋กœ ๋๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ๋Š” ingressGateways[].name์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  • REPLICAS_MIN ๋ฐ REPLICAS_MAX: ์„ค์น˜์—์„œ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์˜ ์ตœ์†Œ ๋ฐ ์ตœ๋Œ€ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ ingressGateways[].replicaCountMin ๋ฐ ingressGateways[].replicaCountMax๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
  • CPU_COUNT_REQ ๋ฐ MEMORY_REQ: ์„ค์น˜์—์„œ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๊ฐ ๋ณต์ œ๋ณธ์— ๋Œ€ํ•œ CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์š”์ฒญ์ž…๋‹ˆ๋‹ค.

    ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ ingressGateways[].resources.requests.cpu ๋ฐ ingressGateways[].resources.requests.memory๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • CPU_COUNT_LIMIT ๋ฐ MEMORY_LIMIT: ์„ค์น˜์—์„œ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๊ฐ ๋ณต์ œ๋ณธ์— ๋Œ€ํ•œ ์ตœ๋Œ€ CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค.

    ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ ingressGateways[].resources.limits.cpu ๋ฐ ingressGateways[].resources.limits.memory๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE(์„ ํƒ์‚ฌํ•ญ):

    ๊ธฐ๋ณธ ์ธ๊ทธ๋ ˆ์Šค ์„œ๋น„์Šค์˜ ์ฃผ์„์„ ์ œ๊ณตํ•˜๋Š” ํ‚ค-๊ฐ’ ์Œ์ž…๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์€ ์ฃผ์„์„ ์‚ฌ์šฉํ•˜์—ฌ loadbalancer ์œ ํ˜•์„ ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€๋กœ ์„ค์ •ํ•˜๋Š” ๋“ฑ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„ค์น˜๋ฅผ ๊ตฌ์„ฑํ•˜๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    ingressGateways:
      svcAnnotations:
        networking.gke.io/load-balancer-type: "Internal"

    ์ฃผ์„์€ ํ”Œ๋žซํผ๋งˆ๋‹ค ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ํ•„์ˆ˜ ๋ฐ ์ถ”์ฒœ ์ฃผ์„์€ ํ”Œ๋žซํผ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ ingressGateways[].svcAnnotations๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
  • SVC_LOAD_BALANCER_IP(์„ ํƒ์‚ฌํ•ญ): ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ IP ์ฃผ์†Œ ์ง€์ •์„ ์ง€์›ํ•˜๋Š” ํ”Œ๋žซํผ์—์„œ ์ด IP ์ฃผ์†Œ๋กœ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ IP๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์—†๋Š” ํ”Œ๋žซํผ์—์„œ ์ด ์†์„ฑ์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ ingressGateways[].svcLoadBalancerIP๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๊ตฌ์„ฑ ์ ์šฉ

์กฐ์ง ๋ฒ”์œ„์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

๊ด€๋ฆฌ ์ž‘์—…

Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ๊ด€๋ฆฌ ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ํ™•์žฅ

์žฌ์ •์˜ ํŒŒ์ผ์˜ ๋‹ค์Œ ์†์„ฑ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

  • ingressGateways[].replicaCountMax
  • ingressGateways[].replicaCountMin

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ ingressGateways๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

๋ฆฌ์†Œ์Šค ํ• ๋‹น ์—…๋ฐ์ดํŠธ

์žฌ์ •์˜ ํŒŒ์ผ์˜ ๋‹ค์Œ ์†์„ฑ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

  • ingressGateways[].resources.limits.cpu
  • ingressGateways[].resources.limits.memory
  • ingressGateways[].resources.requests.cpu
  • ingressGateways[].resources.requests.memory

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ ingressGateways๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ์„œ๋น„์Šค ์—…๋ฐ์ดํŠธ

์žฌ์ •์˜ ํŒŒ์ผ์˜ ๋‹ค์Œ ์†์„ฑ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

  • ingressGateways[].svcAnnotations
  • ingressGateways[].svcLoadBalancerIP

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ ingressGateways๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

๊ธฐ๋ณธ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ์„œ๋น„์Šค์— ๋Œ€ํ•ด loadbalancer ์‚ฌ์šฉ ์ค‘์ง€

์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๋ฐฐํฌ์— ์‚ฌ์šฉ๋˜๋Š” ์ปค์Šคํ…€ Kubernetes ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ Kubernetes ์„œ๋น„์Šค์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์ƒ์„ฑ์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ์ •์˜ ํŒŒ์ผ์—์„œ ingressGateways[].svcType ์†์„ฑ์„ ClusterIP๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ingressGateways:
  - name: my-ingress-gateway
    replicaCountMin: 2
    replicaCountMax: 10
    svcType: ClusterIP

๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

TLS ๋ฐ mTLS ๊ตฌ์„ฑ

์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ TLS ๋ฐ mTLS ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

SNI ์ด์™ธ์˜ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์šฉ ์„ค์ •

SNI ์ด์™ธ์˜ ํด๋ผ์ด์–ธํŠธ์™€ HTTP ํด๋ผ์ด์–ธํŠธ ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ถ”๊ฐ€ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ์„ค์น˜

overrides.yaml ํŒŒ์ผ์—์„œ ์—ฌ๋Ÿฌ ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ingressGateways ๊ตฌ์„ฑ ์†์„ฑ์€ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ์˜ ingressGateways๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์˜ˆ:

ingressGateways:
- name: fruit
  replicaCountMin: 2
  replicaCountMax: 10

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ๋ฅผ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๋ฐฐํฌ์— ๋งคํ•‘

์„ ํƒ๊ธฐ ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ๋ฅผ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๋ฐฐํฌ์— ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ˆ์‹œ์—์„œ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ spam-vh๋Š” meat ๋ผ๋ฒจ์ด ์ง€์ •๋œ ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ์‹คํ–‰๋˜๊ณ  ๋‹ค๋ฅธ ๋‘ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ๋Š” fruit ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ์‹คํ–‰๋˜๋„๋ก ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ Cloud Service Mesh ๊ฒŒ์ดํŠธ์›จ์ด ์„ค์น˜์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์— ๋ผ๋ฒจ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

virtualhosts:
- name: spam-vh
  sslCertPath: cert-spam.crt
  sslKeyPath: cert-spam.key
  selector:
    app: apigee-ingressgateway
    ingress_name: meat
- name: banana-vh
  sslCertPath: cert-banana.crt
  sslKeyPath: cert-banana.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit
- name: plum-vh
  sslCertPath: cert-plum.crt
  sslKeyPath: cert-plum.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit

    

Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๋ฐฐํฌ์— ์ปค์Šคํ…€ ์•”ํ˜ธ ๋ชจ์Œ ์ถ”๊ฐ€

์žฌ์ •์˜ ํŒŒ์ผ์˜ virtualhosts.cipherSuites ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๋ฐฐํฌ์— ์ปค์Šคํ…€ ์•”ํ˜ธ ๋ชจ์Œ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Apigee Hybrid์—์„œ ์‚ฌ์šฉ ์„ค์ •๋œ ๊ธฐ๋ณธ ์•”ํ˜ธ ๋ชจ์Œ์€ virtualhosts.cipherSuites๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

virtualhosts.minTLSProtocolVersion ์†์„ฑ์œผ๋กœ ์ด์ „ ๋ฒ„์ „์˜ TLS๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ณ  ์žฌ์ •์˜ ํŒŒ์ผ์˜ virtualhosts.cipherSuites ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๋ฐฐํฌ์— ์ปค์Šคํ…€ ์•”ํ˜ธ ๋ชจ์Œ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด TLS v.1.1์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

virtualhosts:
- name: ENV_GROUP_NAME
  minTLSProtocolVersion: "1.1"
  cipherSuites:
  - "ECDHE-ECDSA-AES128-GCM-SHA256"
  - "ECDHE-RSA-AES128-GCM-SHA256"
  - "ECDHE-ECDSA-AES256-GCM-SHA384"
  - "ECDHE-RSA-AES256-GCM-SHA384"
  - "ECDHE-ECDSA-CHACHA20-POLY1305"
  - "ECDHE-RSA-CHACHA20-POLY1305"
  - "ECDHE-ECDSA-AES128-SHA"
  - "ECDHE-RSA-AES128-SHA"
  - "ECDHE-ECDSA-AES256-SHA"
  - "ECDHE-RSA-AES256-SHA"
  ...

์ธ๊ทธ๋ ˆ์Šค ์•ก์„ธ์Šค ๋กœ๊ทธ ๋งž์ถค์„ค์ •

istiod.accessLogFile ๋ฐ istiod.accessLogFormat ๊ตฌ์„ฑ ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ์•ก์„ธ์Šค ๋กœ๊ทธ ๋Œ€์ƒ ๋ฐ ํ˜•์‹์„ ๋งž์ถค์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” ์ถœ๋ ฅ์ด istiod.accessLogFile์˜ ๊ธฐ๋ณธ๊ฐ’์ธ /dev/stdout๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

istiod:
  accessLogFormat: '{"request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","status":"%RESPONSE_CODE%"}'

istiod.accessLogFile ๋ฐ ๋นˆ ๊ฐ’์„ ํ• ๋‹นํ•˜์—ฌ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ์•ก์„ธ์Šค ๋กœ๊น…์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

istiod:
  accessLogFile: ''

FAQ

๋‹ค๋ฅธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์žˆ๋Š” ๊ธฐ์กด Cloud Service Mesh/Istio ์„ค์น˜์—์„œ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋‚˜์š”?
Apigee๊ฐ€ ์ „์šฉ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์„ค์น˜๋˜์–ด ์žˆ๋Š” ํ•œ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ํด๋Ÿฌ์Šคํ„ฐ์— ์ด๋ฏธ ์žˆ๋Š” Cloud Service Mesh/Istio ์„ค์น˜์™€ ํ•จ๊ป˜ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋Š” apiserver์— ๊ตฌ์„ฑ์„ ์ €์žฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•˜๋Š” ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ์ธ๊ฐ€์š”?
Apigee๋Š” ์ •๊ธฐ์ ์ธ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐ ํŒจ์น˜ ์ถœ์‹œ ์ค‘์— ๋ฐœ์ƒํ•˜๋Š” Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๊ตฌ์„ฑ์š”์†Œ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์— ๋Œ€ํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ํฌํŠธ 80์„ ๋…ธ์ถœํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?
ํฌํŠธ 80์€ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Cloud Service Mesh์—์„œ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ฒŒ์‹œ๋ฌผ์˜ ์•ˆ๋‚ด์— ๋”ฐ๋ผ ํฌํŠธ 80์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.