ELBv2, Route 53, RDS 예제

참고: 이 문서는 ACK 개념 문서의 실습 예제입니다.

실무에서 자주 사용하는 NLB(Network Load Balancer), Route 53 DNS, Aurora PostgreSQL 조합을 ACK로 프로비저닝하는 예제입니다. 이 패턴은 프로덕션 워크로드에서 가장 일반적인 인프라 구성 중 하나입니다.

컨트롤러 설치

ELBv2, Route 53, RDS 컨트롤러를 설치합니다:

# 3개 컨트롤러 설치
for SERVICE in elbv2 route53 rds; do
  helm install -n ack-system ack-${SERVICE}-controller \
    oci://public.ecr.aws/aws-controllers-k8s/${SERVICE}-chart \
    --create-namespace \
    --set aws.region=ap-northeast-2
done

NLB 생성 (ACK ELBv2)

apiVersion: elbv2.services.k8s.aws/v1alpha1
kind: LoadBalancer
metadata:
  name: my-app-nlb
  namespace: infra
spec:
  name: my-app-nlb
  scheme: internal
  type: network
  subnetMappings:
    - subnetID: subnet-0123456789abcdef0
    - subnetID: subnet-0123456789abcdef1
    - subnetID: subnet-0123456789abcdef2
  tags:
    - key: Environment
      value: Production
    - key: Team
      value: platform

생성 후 .status.dnsName에서 NLB의 DNS 이름을 확인할 수 있습니다.

Target Group 생성

생성 후 .status.targetGroupARN에서 Target Group ARN을 확인할 수 있습니다.

Listener 생성

Route 53 DNS 레코드 등록

Aurora PostgreSQL 클러스터 생성

DBSubnetGroup

DBCluster

생성 후 .status.endpoint(Writer 엔드포인트)와 .status.readerEndpoint(Reader 엔드포인트)를 확인할 수 있습니다.

DBInstance (Writer)

DBInstance (Reader 1)

DBInstance (Reader 2)

Custom Endpoint (AZ별 Read Replica)

특정 AZ의 Reader 인스턴스만 사용하는 커스텀 엔드포인트를 생성할 수 있습니다:

리소스 상태 확인

마지막 업데이트