Method for New TLS Configuration and Renewal for Gateway URL
이 가이드는 API Gateway URL에 대한 TLS를 구성하는 방법을 설명하며, 인증서 준비, Kubernetes 비밀 생성 및 Kong Ingress Controller 또는 APIM Console을 통한 TLS 적용을 다룹니다.
초기 TLS 설정 (새로운)
첫 번째 단계는 TLS 인증서와 키를 준비하는 것입니다. 이를 위해 두 개의 파일이 필요합니다:
- tls.crt: 공개 인증서 파일
- tls.key: 개인 키 파일
이들은 Let’s Encrypt 또는 개인 인증 기관(CA)에서 발급받을 수 있습니다.
Kubernetes 비밀로 TLS 인증서 등록
Kubernetes에서 TLS 인증서를 사용하려면 Kong이 설치된 네임스페이스(일반적으로 kong)에 비밀로 등록해야 합니다.
명령줄 예제
kubectl create namespace kong # 이미 생성된 경우 생략
kubectl create secret tls kong-gateway-cert \
--namespace kong \
--cert=certificate.crt \
--key=private.key
매개변수 설명
Parameter | Description |
---|---|
--cert | 공개 인증서 파일의 경로 |
--key | 개인 키 파일의 경로 |
--namespace | Kong이 설치된 네임스페이스(기본값: kong) |
샘플 비밀 (원시 YAML 형식)
apiVersion: v1
kind: Secret
metadata:
name: kong-gateway-cert
namespace: kong
type: [kubernetes.io/tls](http://kubernetes.io/tls)
data:
tls.crt: <base64 인코딩된 인증서>
tls.key: <base64 인코딩된 개인 키>
Kong Gateway에 TLS 적용
Kong은 다음을 사용하여 TLS 구성을 지원합니다:
- Ingress
- Gateway API
- KongIngress
이 섹션에서는 CLI 기반 및 APIM Console 기반 방법을 설명합니다.
Kong Ingress 컨트롤러 사용 (기본)
이전에 생성한 비밀을 사용하여 TLS가 활성화된 Ingress 리소스를 정의합니다.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kong-ingress
namespace: kong
annotations:
kubernetes.io/ingress.class: kong
spec:
tls:
- hosts:
- api.example.com
secretName: kong-gateway-cert
rules:
- host: api.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kong-proxy
port:
number: 80
중요한 참고 사항:
Point | Explanation |
---|---|
spec.tls.hosts | 사용할 DNS를 정의합니다 (예: api.example.com) |
spec.tls.secretName | 생성한 비밀 이름과 일치해야 합니다 (kong-gateway-cert) |
ingress.class | kong이어야 합니다 (Kong Ingress Controller를 사용할 때 기본값) |
backend.service.name | 일반적으로 Helm을 통해 설치된 경우 kong-proxy입니다 |
APIM 콘솔 사용
APIM 콘솔을 통해 인증서를 직접 적용할 수도 있습니다. APIM 콘솔 > 게이트웨이 관리 > 게이트웨이 세부 화면 > 게이트웨이 URL 설정으로 이동합니다.
입력 필드:
- 게이트웨이 URL: 예: pms.api.skapim.com
- 글로벌 기본 경로: 예: /
- HTTPS 전용: 켜기
- TLS 인증서:
- tls.crt: 전체 인증서 내용을 붙여넣기
- tls.key: 전체 개인 키를 붙여넣기
- Ingress 클래스: 적절한 클래스를 선택합니다 (예: nginx, kong)
요약
단계 | 작업 |
---|---|
1 | TLS 인증서 획득 및 준비 (tls.crt, tls.key) |
2 | Kubernetes TLS 비밀 생성 |
3 | Kong Ingress Controller 또는 APIM 콘솔을 통해 TLS 적용 |
4 | HTTPS 및 일치하는 DNS를 통해 게이트웨이 접근 확인 |
이 가이드는 DevOps가 CLI를 통해 관리하든 APIM 콘솔의 UI를 통해 관리하든 TLS를 사용하여 API 게이트웨이에 대한 안전한 HTTPS 라우팅을 보장합니다. |