๋กœ์ผ“๐Ÿพ
article thumbnail

 

์ •๋ง ์˜ค๋žœ๋งŒ์— ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

 

์˜ฌํ•ด๋Š” ํšŒ์‚ฌ ์ผ์ด ์ •๋ง ๋ฐ”๋นด๊ธฐ ๋•Œ๋ฌธ์ด์˜€๋‹ค.. ์‚ฌ์‹ค ์ง€๊ธˆ๋„ ์—ฌ์œ ๋กญ์ง„ ์•Š์€๋ฐ ๊ทธ๋ž˜๋„ ๋ญ๋ผ๋„ ์ž‘์„ฑํ•ด์•ผ๊ฒ ๋‹ค ์‹ถ์–ด์„œ ๋ช‡์ž ์ ์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค!

 

์ด๋ฒˆ์—๋Š” GKE ์—์„œ Ingress API ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑํ•œ L7 LB ์— Wildcard Google Managed Certification ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

๋ฐ”๋กœ ๋ณธ๋ก ์œผ๋กœ ๋“ค์–ด๊ฐ€๋ณด์ž!

 

GKE Ingress API ๋ฌธ์„œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด HTTP(S) LB ์—๋Š” Wildcard Google Manged SSL Cert ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ํ•œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ๊ฐ€๋Šฅํ•˜๋‹ค!

https://cloud.google.com/kubernetes-engine/docs/concepts/ingress?hl=ko#options_for_providing_ssl_certificates

 

์ € ๋ฌธ์žฅ์ด ๊ต‰์žฅํžˆ ์• ๋งค๋ชจํ˜ธํ•˜๋‹ค. ์•„๋งˆ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์€ ์ € ๋ฌธ์žฅ์„ ๋ดค์„๋•Œ ๋‹จ์ˆœํžˆ L7 LB ์— ์™€์ผ๋“œ์นด๋“œ ๋„๋ฉ”์ธ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ• ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•  ๊ฒƒ์ด๋‹ค.

 

"์•„ํ•˜ Ingress ๋กœ ์ƒ์„ฑํ•˜๋Š” L7 LB ์—๋Š” *.example.com ๊ฐ™์€ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‚˜๋ณด๊ตฌ๋‚˜?"

 

์ € ๋ง์ด ์™„์ „ ํ‹€๋ฆฐ ๋ง์€ ์•„๋‹ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ ์–ด๋–ค ์ ์ด ํ‹€๋ฆฌ๊ณ  ์–ด๋–ค ์ ์ด ๋งž์•˜๋Š”์ง€ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž!

 

์šฐ์„  GCP Certificate Manager ๋ถ€ํ„ฐ ์‚ดํŽด๋ณด์ž!

 

GCP Certificate Manager ์—๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ์ข…๋ฅ˜์˜ Certificate ๊ฐ€ ์žˆ๋Š”๋ฐ, Certificates / Certificate Maps / Classic Certificates ์ด๋‹ค.

Certificates, Certificate Maps ์™€ Classic certificates

 

์ž ์‹œ AWS Certificate Manager ๋ฅผ ์‚ดํŽด๋ณด๋ฉด, ๊ทธ๋ƒฅ Certificate ํ•˜๋‚˜๋งŒ ์กด์žฌํ•œ๋‹ค. Certificate Maps, Classic Certificates ์ด๋Ÿฐ๊ฒŒ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ์ € AWS L7 LB ์— ์ธ์ฆ์„œ๋งŒ ๊ฐ€์ ธ๋‹ค ๋ถ™์—ฌ๋ฒ„๋ฆฌ๋ฉด ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ๋„ ์•„์ฃผ ์ž˜ ๋™์ž‘ํ•œ๋‹ค.

AWS ์—๋Š” ๋”ฑ ํ•˜๋‚˜์˜ Certificate ๋งŒ ์กด์žฌ

 

AWS ๋ฅผ ์“ฐ๋‹ค๊ฐ€ GCP ๋ฅผ ๋„˜์–ด๊ฐ€๋Š” ์ž…์žฅ์—์„  ์ด ๋ถ€๋ถ„์ด ์ฒซ๋ฒˆ์งธ ํ˜ผ๋ˆ ํฌ์ธํŠธ์˜€๋‹ค.

 

๊ทธ๋ž˜์„œ Certificates ์™€ Classic Certificates ๋ž‘ ๋ฌด์Šจ ์ฐจ์ด์•ผ? ๋‹ต์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

https://cloud.google.com/certificate-manager/docs/domain-authorization?hl=ko

 

๋‹จ์ˆœํžˆ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์Šน์ธ์ด๋ƒ DNS ์Šน์ธ์ด๋ƒ์˜ ์ฐจ์ด๋‹ค. ์ž์„ธํ•œ ์ฐจ์ด๋Š” ๋ฌธ์„œ๋ฅผ ์‚ดํŽด๋ณด๊ธฐ ๋ฐ”๋ž€๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  AWS Certificate Manager ์—ญ์‹œ DNS ์Šน์ธ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋‹ค.

 

 

์ฆ‰, Certificates ๋Š” DNS ์Šน์ธ ๋ฐฉ์‹์œผ๋กœ ์ƒ์„ฑํ•œ ์ธ์ฆ์„œ๊ฐ€, Classic Certificates ๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์Šน์ธ์œผ๋กœ ์ƒ์„ฑํ•œ ์ธ์ฆ์„œ๊ฐ€ ์กด์žฌํ•˜๊ฒŒ ๋œ๋‹ค.

 

์ฐธ๊ณ ๋กœ GCP ์—์„œ๋„ Classic Ceritificates ๋ฐฉ์‹์€ ๋” ์ด์ƒ ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

ํ•œํŽธ ๊ตฌ๊ธ€ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด Google Manged Cert ๋ฅผ ์ด์šฉํ•ด์„œ Ingress ๊ธฐ๋ฐ˜ GKE L7 LB ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ManagedCertificate API ๋ฅผ ์ƒ์„ฑํ•ด์ค˜์•ผ ํ•œ๋‹ค.

apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  name: example
spec:
  domains:
    - test.example.com

 

์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด Classic certificates ์— "test.example.com" ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ธ์ฆ์„œ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

Name ๊ณผ Domain ์€ ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด๋‹ค๋ณด๋‹ˆ ๋ธ”๋Ÿฌ ์ฒ˜๋ฆฌํ•จ

 

๊ทธ๋ฆฌ๊ณ  ์ƒ์„ฑํ•œ ManagedCertificate API ๋ฅผ Ingress Annotation ์— ๋ช…์‹œํ•˜๊ฒŒ ๋˜๋ฉด ์•Œ์•„์„œ ์•„๋ž˜์™€ ๊ฐ™์ด L7 LB ์— Certificate ๊ฐ€ ๋ฐ”์ธ๋”ฉ๋œ๋‹ค.

 

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: managed-cert-ingress
  annotations:
    networking.gke.io/managed-certificates: "example" #-- ManagedCeritifacte API Name ๊ณผ ์ผ์น˜
    kubernetes.io/ingress.class: "gce"
spec:
  rules:
    - host: "test.example.com"
      http:
        paths:
          - pathType: ImplementationSpecific
            backend:
              service:
                name: mc-service
                port:
                  number: 8080

 

Certificate ์— ๋‚˜์™€์žˆ๋Š” "mcrt-714cb..." ๊ฐ€ ManagedCertificate API ๋กœ ๋งŒ๋“  ์ธ์ฆ์„œ์ด๋‹ค.

Ingress API ๋ฅผ ๋ฐฐํฌํ•˜๋ฉด L7 LB ๊ฐ€ ์œ„์™€ ๊ฐ™์ด ์ƒ์„ฑ๋จ

 

curl ๋ช…๋ น์–ด๋ฅผ ๋‚ ๋ ค๋ณด๋ฉด ์‹ค์ œ๋กœ ์ธ์ฆ์„œ๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•œ๋‹ค.

Issuer ๊ฐ€ Google Trust Services ์ด๋‹ค

 

์‚ฌ์‹ค ์ง€๊ธˆ๊นŒ์ง€๋งŒ ๋ดค์„๋• ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌ๊ธ€ ๋ฌธ์„œ์˜ ๋ง์€ ์ „ํ˜€ ํ‹€๋ฆฐ ๊ฒƒ์ด ์—†๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค.

 

๊ทธ๋Ÿผ ์ด์ œ ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•œ ํ›„์— Ingress API ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑํ•œ L7 LB ์— ๋ถ™์—ฌ๋ณด๊ฒ ๋‹ค.

 

ManagedCertificate API ๋ฅผ ํ†ตํ•ด ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Ingress Annotation ์— ๋ช…์‹œํ•ด L7 LB ๋ฅผ ๋ถ™์˜€๋˜ ๋ฐฉ๋ฒ•๊ณผ ๋‹ฌ๋ฆฌ ์ด๊ฑด ์‚ด์ง ์•ผ๋งค? ๋ฐฉ๋ฒ•์ด๋‹ค.

 

์šฐ์„  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API ๋ฅผ ํ†ตํ•ด ๋ฐ”์ธ๋”ฉํ•  ์ˆœ ์—†๋‹ค. gcloud API ๋กœ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

gcloud API ๋กœ Classic Certificates ๊ฐ€ ์•„๋‹Œ ์ผ๋ฐ˜ Certificates ์™€ Certificate Maps ๋ฅผ ์ƒ์„ฑํ•ด๋ณด์ž!

 

๋จผ์ € certificates ์— ๋Œ€ํ•œ ์†Œ์œ ๊ถŒ์„ ์ธ์ฆํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— dns-authorization ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ , ๋ฐ”๋กœ certificate ๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค.

gcloud certificate-manager dns-authorizations create example \
    --domain="test.example.com"

gcloud certificate-manager certificates create example \
    --domains="*.example.com,test.example.com" \
    --dns-authorizations=example

 

์ดํ›„ Certificate Maps ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ง์ „์— ๋งŒ๋“  Certificate ๋ฅผ Certificate Maps ์— ๋ฐ”์ธ๋”ฉํ•ด์ฃผ์ž!

gcloud certificate-manager maps create exmaple

gcloud certificate-manager maps entries create exmaple \
    --location="global"
    --map="exmaple" \
    --certificates="exmaple" \
    --hostname="*.example.com."

 

๊ทธ๋Ÿผ ์ตœ์ข…์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด Certificate Maps ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

Name ์€ ๋ธ”๋Ÿฌ ์ฒ˜๋ฆฌํ•จ

 

 

์ดํ›„ ์•„๋ž˜ gcloud ๋ช…๋ น์„ ํ†ตํ•ด ์ƒ์„ฑํ•œ Certificate Map ์„ LB Frontend ์— ๋ฐ”์ธ๋”ฉํ•ด์ฃผ์ž!

gcloud compute target-https-proxies update k8s1-af2bed6e-default-mc-service-8080-078bc7b5 \
    --certificate-map="example"

 

๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์ด Certificate ์—๋Š” ์ทจ์†Œ์„ ์ด ๊ทธ์–ด์ ธ ์žˆ๊ณ , Certificate Map ์ด ๋ฐ”์ธ๋”ฉ ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค!

์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ”์ธ๋”ฉ๋จ

 

์ดํ›„ curl ๋ช…๋ น์–ด๋กœ ํ™•์ธํ•ด๋ณด๋ฉด ์ •์ƒ์ ์œผ๋กœ SSL ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค!

 

์–ด์ฐŒ๋๋“  Ingress API ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑํ•œ L7 LB ์—๋„ ์™€์ผ๋“œ ์นด๋“œ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ฆ๋ช…ํ•ด๋ณด์•˜๋‹ค!

 

๊ทธ๋Ÿผ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊ตฌ๊ธ€ ๋ฌธ์„œ๋ฅผ ์‚ดํŽด๋ณด์ž!

https://cloud.google.com/kubernetes-engine/docs/concepts/ingress?hl=ko#options_for_providing_ssl_certificates

 

"๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ๋Š” ์™€์ผ๋“œ ์นด๋“œ ๋„๋ฉ”์ธ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค" ๋ผ๋Š” ๋ฌธ์žฅ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•ด์„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

"ManagedCertificate API ๋ฅผ ํ†ตํ•ด ์™€์ผ๋“œ์นด๋“œ ๊ธฐ๋ฐ˜์˜ ๋„๋ฉ”์ธ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค"

 

์‹ค์ œ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด *.example.com ์œผ๋กœ ์ƒ์„ฑํ•˜๋ ค๊ณ  ํ•˜๋ฉด 'spec.domains[0] in body should match '^(([a-z0-9]+|[a-z0-9][-a-z0-9]*[a-z0-9])\.)+[a-z][-a-z0-9]*[a-z0-9]$' ์™€ ๊ฐ™์€ ์—๋Ÿฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  name: example
spec:
  domains:
    - *.example.com

 

๊ตฌ๊ธ€ ๋ฌธ์„œ์—์„œ "๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ" ๋ผ๋Š” ํ‘œํ˜„๋ณด๋‹ค๋Š” "ManagedCertificate API ๋กœ ์ƒ์„ฑํ•œ ์ธ์ฆ์„œ"๋กœ ํ‘œํ˜„ํ–ˆ์œผ๋ฉด ๋œ ํ˜ผ๋ˆ์ด ๋˜์ง€ ์•Š์•˜์„๊นŒ ์‹ถ๋‹ค. ์‹ฌ์ง€์–ด ์›๋ฌธ์œผ๋กœ ๋ด๋„ ๋‹จ์ˆœํžˆ managed certificate ๋ผ๊ณ ๋งŒ ๋‚˜์™€์žˆ๋‹ค.

 

GCP ์— ์ต์ˆ™์น˜ ์•Š์€ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์ด๊ฑธ ๋ณดํ†ต Google Managed Certificate ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์„๊นŒ ์‹ถ๊ธฐ๋„ ํ•˜๋‹ค.

๊ทธ๋ž˜์„œ ์ž์—ฐ์Šค๋ ˆ "Google Managed Certificate ๋Š” ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋‚˜๋ณด๊ตฌ๋‚˜" ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ์‰ฝ๋‹ค.

 

๋˜ ํ—ท๊ฐˆ๋ฆด์ˆ˜ ์žˆ๋Š” ํฌ์ธํŠธ๊ฐ€ Classic Certificate ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์ด ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด "wildcard domains not supported" ๋ผ๊ณ  ๋‚˜์˜จ๋‹ค.

 

๊ทผ๋ฐ ์ด๊ฒŒ ๋˜ ํ•œ์ˆ  ๋” ๋– ์„œ ๋ฒ ์Šคํ•€ ๊ธ€๋กœ๋ฒŒ ๋ธ”๋กœ๊ทธ ๊ธ€์—์„œ๋„ ์ž˜๋ชป๋œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค.

https://support.bespinglobal.com/ko/support/solutions/articles/73000617428--network-services-%EC%99%80%EC%9D%BC%EB%93%9C%EC%B9%B4%EB%93%9C-%EB%8F%84%EB%A9%94%EC%9D%B8%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-google-managed-%EC%9D%B8%EC%A6%9D%EC%84%9C%EB%A5%BC-%EC%83%9D%EC%84%B1%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4-

 

๊ทธ๋ž˜์„œ ๋งˆ์น˜ GCP UI ์—์„  ์•ˆ๋˜๊ณ  gcloud API ๋ฅผ ์ด์šฉํ•˜๋ฉด ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์–˜๊ธฐํ•œ๋‹ค.

 

์ด๊ฒŒ ์ž˜๋ชป๋œ ๊ฒƒ์ด GCP UI ์—์„  ์ƒ์„ฑํ•˜๋ ค๊ณ  ํ–ˆ๋˜ ๊ฒƒ์€ Classic Certificate ์ด๋ฉด์„œ, ๋ง‰์ƒ gcloud API ๋กœ ์ƒ์„ฑํ•œ ๊ฒƒ์€ ์ผ๋ฐ˜ Certificates ์ด๋‹ค. Classic Certificate ์™€ ์ผ๋ฐ˜ Certificate ์€ ์—„์—ฐํžˆ ๋‹ค๋ฅธ๋ฐ ๋ง์ด๋‹ค.

 

์ด๋Ÿฌ๋‹ˆ GCP ์— ์ต์ˆ™์น˜ ์•Š๋Š” ์‚ฌ๋žŒ๋“ค์€ ์ •๋ง ํ—ท๊ฐˆ๋ฆด ์ˆ˜ ๋ฐ–์— ์—†๋‹ค.

 

๊ทธ๋Ÿผ ์ด์ œ ํ•œ๋ฒˆ ์ •๋ฆฌํ•ด๋ณด์ž!

 

"Ingress API ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑํ•  ๋•Œ ManagedCerficiate API ๋ฅผ ์ด์šฉํ•ด์„œ ์ธ์ฆ์„œ๋ฅผ ๋ฐ”์ธ๋”ฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ManagedCerficiate API ๋Š” ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ๋ฅผ Ingress API ์— ๋ฐ”์ธ๋”ฉํ•˜๋ ค๋ฉด LB ๋ฅผ ์ƒ์„ฑํ•œ ํ›„์— gcloud API ๋ฅผ ์ด์šฉํ•ด์„œ Certificate Maps ์„ LB Frontend ์— ๋ฐ”์ธ๋”ฉํ•ด์ฃผ์ž!"

 

๊ทธ๋Ÿฐ๋ฐ ์‚ฌ์‹ค ์ด ๋ฐฉ๋ฒ•์€ ๊น”๋”ํ•˜์ง€ ์•Š๋‹ค. gcloud API ์‚ฌ์šฉ์ด ์•„๋‹Œ ๋ชจ๋“  ๊ฑธ Kubernetes API ๋ฐฉ์‹์„ ์ด์šฉํ•˜๊ณ  ์‹ถ๋‹ค.

Gateway API ๋ฐฉ์‹์€ ์ด์šฉํ•˜๋ฉด ์ด ๋ชจ๋“  ๊ฑธ ๊น”๋”ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค!

 

๋‹ค์Œ ๊ธ€์—์„œ๋Š” Gateway API ๋ฐฉ์‹์„ ํ™œ์šฉํ•ด์„œ Wildcard Google Managed Certificate ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” GKE L7 LB ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒ ๋‹ค!

profile on loading

Loading...