DNS 레코드 등록

Route53 대시보드의 설정 대상 도메인 페이지에서 Create record를 클릭하고 다음과 같은 값의 레코드를 생성하세요.

  • 레코드 이름: *
  • 레코드 유형: A
  • : EC2 인스턴스의 Public IP 주소

이 과정을 통해 대시보드에서 배포한 서비스에 레코드가 등록된 루트 도메인이 프리뷰 URL로 부여됩니다.

다음의 명령어로 네임서버에 레코드가 반영되었는지 확인할 수 있습니다.

dig "<레코드로 등록한 도메인>"

Cert Manager 설치

다음의 명령어를 실행해 Cert Manager를 설치하세요.

helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install \
      cert-manager jetstack/cert-manager \
      --namespace cert-manager \
      --create-namespace \
      --version v1.15.3 \
      --set crds.enabled=true

ClusterIssuer 설정 및 TLS 인증서 발급

다음의 명령어로 인증서 발급기 및 TLS 인증서를 생성합니다.

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
  name: aws-secret-access-key
  namespace: cert-manager
type: Opaque
stringData:
  aws-secret-access-key: $AWS_SECRET_ACCESS_KEY
---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: ale-issuer
  namespace: cert-manager
spec:
  acme:
    email: $ACME_EMAIL
    server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: ale-issuer
    solvers:
      - http01:
          ingress:
            class: nginx
      - dns01:
          route53:
            region: $AWS_REGION
            hostedZoneID: $AWS_HOSTED_ZONE_ID
            accessKeyID: $AWS_ACCESS_KEY_ID
            secretAccessKeySecretRef:
              name: aws-secret-access-key
              key: aws-secret-access-key
        selector:
          dnsZones:
            - $AWS_DOMAIN
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: ale-app-tls
  namespace: cert-manager
spec:
  dnsNames:
    - "*.$AWS_DOMAIN"
  issuerRef:
    kind: ClusterIssuer
    name: ale-issuer
  secretName: ale-app-tls
EOF

ale에서 Ingress 설정

https://app.[도메인]으로 ale에 접속한 후 관리자를 생성하고 설치를 완료해주세요.

프리뷰 도메인 필드에는 연결한 루트 도메인을 입력합니다.

최초 접속화면은 운영시스템의 설정메뉴입니다. 운영시스템 좌측 사이드바 클러스터 메뉴의 설정탭에서 네트워크 항목에 아래의 값을 입력하고 적용하기를 클릭하세요.

  • 프리뷰 도메인: 연결한 루트 도메인
  • HTTPS 사용
    • 체크: 인터넷 환경
    • 체크 해제: 인트라넷/폐쇄망 환경
  • 인증서 시크릿 이름: ale-app-tls
  • 인증서 시크릿 네임스페이스: cert-manager
  • 인증서 발급기: ale-issuer
  • 인그레스 클래스: nginx
  • 로드밸런서 유형: NodePort

대시보드 좌측 상단의 스페이스 이름을 클릭한 후 운영시스템을 선택하면 운영시스템에 접속할 수 있습니다.

운영시스템 메뉴는, 운영시스템 접속권한을 부여받은 계정에서만 표시됩니다.

ale 대시보드 접속

운영시스템 좌측 상단의 Back을 클릭하거나, https://app.[도메인]으로 ale에 접속해 가입 완료하기 과정을 거치면 개발자 대시보드를 사용할 수 있습니다.

빌드된 이미지의 저장소로 AWS ECR 등 관리형 컨테이너 레지스트리를 사용할 수 있습니다. 컨테이너 레지스트리를 연결하지 않은 경우, 로컬환경에서 실행 중인 도커 엔진에서 이미지를 관리합니다.

운영시스템 및 개발자 대시보드의 사용법은 아래의 카드를 참고하세요.