Ingress에 TLS를 적용해야 하는 이유

TLS(Transport Layer Security)는 인터넷 통신을 암호화하여 데이터가 중간에 가로채이는 것을 방지하는 기술입니다. Ingress에 TLS를 적용하면 다음과 같은 중요한 이점을 얻을 수 있습니다.

  • 데이터 암호화: 웹사이트 방문자와 서버 간에 오가는 모든 데이터를 암호화하여 민감한 정보(로그인 정보, 결제 정보 등)를 안전하게 보호합니다.
  • 통합 관리: 쿠버네티스 Ingress 컨트롤러를 통해 여러 개의 서비스에 대한 TLS 인증서 관리를 한 곳에서 처리할 수 있습니다. 각 서비스에 개별적으로 인증서를 설정할 필요가 없어 관리가 매우 편리해집니다.
  • 신뢰성 확보: 유효한 인증서는 웹사이트의 신뢰도를 높여 사용자에게 안전한 환경을 제공합니다.

 

단계 1: TLS 인증서 및 키 생성

먼저 테스트용으로 사용할 TLS 인증서와 개인 키를 생성합니다. openssl 명령어를 사용하면 간단하게 만들 수 있습니다.

# openssl 명령어 설명
# req: 인증서 서명 요청 관리
# -x509: 자체 서명 인증서 생성 (테스트용)
# -nodes: 비밀번호 없이 키 생성
# -days 365: 인증서 유효 기간을 365일로 설정
# -newkey rsa:2048: 2048비트 RSA 개인 키 생성
# -keyout tls.key: 개인 키를 tls.key 파일로 저장
# -out tls.crt: 인증서를 tls.crt 파일로 저장
# -subj: 인증서의 주제(Subject) 정보 지정
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout tls.key -out tls.crt -subj "/CN=your-domain.com/O=your-organization"
  • 참고: CN (Common Name)과 O (Organization)에는 실제 사용할 도메인 정보를 입력해야 합니다.

 

단계 2: 쿠버네티스 시크릿 생성

생성한 인증서 파일(tls.crt)과 개인 키 파일(tls.key)을 쿠버네티스가 사용할 수 있도록 Secret 리소스로 저장합니다. kubectl create secret tls 명령어를 사용하면 TLS 타입의 시크릿을 쉽게 만들 수 있습니다.

# 'web-cert'라는 이름의 TLS 시크릿 생성
kubectl create secret tls web-cert --key tls.key --cert tls.crt

 

단계 3: Ingress 매니페스트 설정

이제 Ingress 매니페스트 파일에 TLS 설정을 추가합니다. spec.tls 섹션에 Secret 이름을 지정하여, Ingress 컨트롤러가 해당 인증서를 사용하도록 지시합니다.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: tls-example-ingress
spec:
  # TLS 설정
  tls:
  - hosts:
    # 암호화를 적용할 도메인
    - your-domain.com
    # 위에서 생성한 시크릿 이름
    secretName: web-cert
  
  # HTTP 라우팅 규칙
  rules:
  - host: your-domain.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: service1
            port:
              number: 80
  • 참고: tls.hosts와 rules.host에는 위에서 인증서를 생성할 때 입력한 실제 도메인을 동일하게 입력해야 합니다.

 

마무리

이렇게 Ingress에 TLS를 설정하면, https://your-domain.com으로 들어오는 트래픽이 Ingress 컨트롤러에서 암호 해독된 후, 내부 서비스(service1)로 전달됩니다.

'k8s > CKS' 카테고리의 다른 글

[CKS] AppArmor  (0) 2025.09.11
[CKS] BOM 툴 trivy -2  (0) 2025.09.10
[CKS] k8s TLS 설정  (0) 2025.09.09
[CKS] 쿠버네티스 API 서버 보안 강화: 익명 접근 차단  (0) 2025.09.09
[CKS] BOM 툴 trivy -1  (0) 2025.09.09

+ Recent posts