본문으로 건너뛰기
버전: docs v25.02

Route53/Certificate Manager/Target group/ALB 설정


목차

  1. 사전 준비
  2. Route53 DNS 설정하기
  3. Certificate Manager 설정하기
  4. Target group 생성 및 설정하기
  5. ALB 설정하기
  6. Route53 Hosted zones 추가 설정하기


자세한 단계

{변수}의 자세한 설명은 Terminology 페이지를 참고하세요


1. 사전 준비

설치를 위한 환경 설정이 완료 되어야 합니다. (1. 설치 환경 셋업하기 를 참고)



2. Route53 DNS 설정하기

도메인을 등록하면, Hosted Zone 은 자동 등록 됩니다. 이미 가지고 있는 Hosted Zone이 있으면 3. Certificate Manager 설정하기 으로 이동합니다.


  • 도메인 등록
    • AWS Route53 Console 으로 이동합니다.

    • 왼쪽 메뉴에서 Domains 하위의 Registered domains 클릭

    • Register domains 클릭

    • Search for domain 섹션에서 이용할 {DOMAIN_NAME}(example.com) 입력 후 Search 클릭

    • Search Result 에서 입력한 도메인이 이용 가능한 경우 Select 클릭

    • Proceed to checkout 클릭

    • Duration 및 Auto-renew 선택 후 Next 클릭

    • Contact information의 정보 입력 후 Next 클릭

      • Contact Information 에서 입력한 e-mail 로 도메인 이메일 검증 메일이 발송됩니다.
      [Expand Verify Domain e-mail]
    • I have read and agree to the Amazon Route 53 Domain Name Registration End User Agreement. 체크

    • Submit 클릭

    • 도메인 등록은 대략 10분 (최대 1일) 소요될 수 있습니다.

    • 도메인 등록 완료 시, Contact Information 에서 입력한 e-mail 이 발송됩니다.

      [Expand Registration Domain e-mail]

  • Hosted Zone 등록
    • AWS Route53 Console 으로 이동합니다.
    • 왼쪽 메뉴에서 Hosted zones 클릭
    • Create hosted zone 버튼을 눌러 생성을 진행합니다.
    • Step 1: Hosted zone configuration
      • Domain name: 원하는 {DOMAIN_NAME} 을 입력합니다.
    • Create hosted zone 버튼을 눌러 Hosted zone을 생성합니다.


3. Certificate Manager 설정하기

{변수} 는 직접 입력하여 주세요

  • Certificate Manager를 통해서 TLS 통신을 위한 인증서를 생성합니다.
  • 이미 가지고 있는 Certificate Manager가 있는 경우 5. ALB 생성하기로 이동합니다.
  • AWS Certificate Manager Console 으로 이동합니다.
  • 왼쪽 메뉴에서 Request certificate 버튼을 클릭합니다.
  • Request a public certificate 선택 후 Next 버튼을 눌러 진행합니다.
  • Step 1: Domain names
    • Fully qualified domain name: 위 {DOMAIN_NAME} 을 입력합니다.
    • Add another name to this certificate 클릭
      • *.{DOMAIN_NAME}
  • Step 2: Validation method
    • DNS validation 선택
  • Step 3: Key algorithm
    • RSA 2048 선택
  • Request 클릭
  • 생성된 Certificate ID 항목을 클릭
  • Create records in Route 53 클릭
  • Create records 클릭하여 Route53에 record를 생성합니다.
  • Certificates 목록에서 생성된 항목을 확인한 후, Status가 Issued로 변경되는지 확인합니다. 이 과정은 시간이 소요될 수 있습니다.


4. Target Group 생성 및 설정하기

{변수} 는 직접 입력하여 주세요

NOTE : Target Group의 이름의 최대 길이는 32 입니다. 32 길이가 넘는 경우 {INFRA_NAME}-{DEPLOY_ENV} 를 줄여서 사용합니다.


  • 총 5개의 Target Group이 필요하고, 각각의 용도는 아래와 같습니다. 

    • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-fe-{AWS_CLUSTER_VERSION_NUM}-30020 : AI Conductor 프론트
    • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-be-{AWS_CLUSTER_VERSION_NUM}-30030 : AI Conductor 백엔드
    • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-ig-{AWS_CLUSTER_VERSION_NUM}-30040 : AI Conductor Kubeflow
    • Edge Conductor가 on premise로 설치된 경우 건너뜁니다.
      • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-ec-fe-{AWS_CLUSTER_VERSION_NUM}-31010 : Edge Conductor 프론트
      • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-ec-be-{AWS_CLUSTER_VERSION_NUM}-31020 : Edge Conductor 백엔드
    export AWS_CLUSTER_VERSION_NUM=`echo ${AWS_CLUSTER_VERSION} | tr '.' ''`

  • Target Group 생성
    • AWS EC2 Console 로 이동합니다.
    • 왼쪽 메뉴의 Target Groups 를 클릭합니다.
    • Create target group 버튼을 눌러 타겟 그룹 생성을 시작합니다.
    • Step 1: Basic configuration
      • Choose a target type: Instances
      • Target group name: tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-fe-{AWS_CLUSTER_VERSION_NUM}-30020
      • Protocol : Port : HTTP : 30020
      • IP address type : IPv4
      • VPC : {AWS_VPC_NAME} 선택
      • Protocol version : HTTP1
    • Step 2: Health checks
      • Health check protocol: HTTP
      • Path: /
    • Next 버튼 클릭
    • Create target group 버튼으로 target group 생성 완료
    • 아래 항목도 같은 방법으로 생성 진행하되, target group 이름의 마지막 숫자 5자리가 Port로 지정되어야 하는 것에 유의
      • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-be-{AWS_CLUSTER_VERSION_NUM}-30030
        • Protocol : Port : HTTP : 30030
        • Health checks -> Health check path : /api/v1/healthz
      • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-ig-{AWS_CLUSTER_VERSION_NUM}-30040
        • Protocol : Port : HTTP : 30040
        • Health checks -> Advanced health check settings -> Success codes 에 200,302 입력
      • Edge Conductor가 on premise로 설치된 경우 건너뜁니다.   - tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-ec-fe-{AWS_CLUSTER_VERSION_NUM}-31010
        • Protocol : Port : HTTP : 31010
        • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-ec-be-{AWS_CLUSTER_VERSION_NUM}-31020
          • Protocol : Port : HTTP : 31020

  • Target Group 연결 설정

    • AWS EKS Console 으로 이동합니다.

    • {AWS_CLUSTER_NAME} 클릭합니다.

    • Compute 탭을 클릭합니다.

    • Compute 탭의 Node groups 섹션에서 ng-{AWS_DEFAULT_REGION_ALIAS}-aicond-{INFRA_NAME}-controller 클릭합니다.

    • Details 탭의 Autoscaling group name 섹션에서 asg group 자원 클릭합니다.

    • Auto Scaling groups 의 Detailes 탭의 Load balancing 섹션에서 Edit 버튼을 클릭합니다.

    • Step 1: Load balancing

      • Application, Network or Gateway Load Balancer target groups 체크
      • Load balancers 에서 아래 3개 항목을 선택합니다.
        • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-fe-{AWS_CLUSTER_VERSION_NUM}-30020
        • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-be-{AWS_CLUSTER_VERSION_NUM}-30030
        • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-ig-{AWS_CLUSTER_VERSION_NUM}-30040
      • Update 버튼을 눌러 설정을 마칩니다.
    • Edge Conductor가 on premise로 설치된 경우 건너뜁니다.

      • AWS EKS Console 으로 이동합니다.
      • {AWS_CLUSTER_NAME} 클릭합니다.
      • Compute 탭을 클릭합니다.
      • Compute 탭의 Node groups 섹션에서 ng-{AWS_DEFAULT_REGION_ALIAS}-edgecond-{INFRA_NAME}-controller 클릭합니다.
      • Details 탭의 Autoscaling group name 섹션에서 asg group 자원 클릭합니다.
      • Auto Scaling groups 의 Detailes 탭의 Load balancing 섹션에서 Edit 버튼을 클릭합니다.
      • Step 1: Load balancing
        • Application, Network or Gateway Load Balancer target groups 체크
        • Load balancers 에서 아래 2개 항목을 선택합니다.
          • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-ec-fe-{AWS_CLUSTER_VERSION_NUM}-31010
          • tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-ec-be-{AWS_CLUSTER_VERSION_NUM}-31020
        • Update 버튼을 눌러 설정을 마칩니다.


5. ALB 생성하기

{변수} 는 직접 입력하여 주세요

NOTE : 3. Certificate Manager 설정하기에서 Status가 Issued 된 상태 이후 진행


  • ALB Security Group 생성
    • AWS EC2 Console 로 이동합니다.
    • 왼쪽 메뉴의 Security Groups 를 클릭합니다.
    • Create security group 버튼을 클릭해서 ALB의 security group을 생성합니다.
    • Step 1: Basic details
      • Security group name: scg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-alb
      • Description : 필수 입력
      • VPC: {AWS_VPC_NAME}
    • Step 2: Inbound rules
      • Add rules 클릭
      • Source: Anywhere-IPv4 선택
    • Create security group 클릭

  • ALB 생성
    • AWS EC2 Console 으로 이동합니다.
    • 왼쪽 메뉴의 Load Balancers를 클릭합니다.
    • Create Load Balancer 버튼을 눌러 ALB 생성을 시작합니다.
    • Step 1: Load balancer types
      • Application Load Balancer 에서 Create 클릭
    • Step 2: Basic configuration
      • Load balancer name: alb-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}
      • Scheme: Internet-facing
      • IP address type: IPv4
    • Step 3: Network mapping
      • VPC: {AWS_VPC_NAME}
      • Mappings
        • 전체 Availability Zones 선택
        • SubnetPublic 선택
    • Step 4: Security groups
      • Security groups 선택: scg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-alb
    • Step 5: Listeners and routing
      • Listener
        • Protocol: HTTPS
        • Port: 443
        • Default action: Forward to tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-fe-{AWS_CLUSTER_VERSION_NUM}-30020 선택
    • Step 6: Secure listener settings
      • Default SSL/TLS server certificate
        • Certificate source : From ACM 선택
        • Certificate (from ACM) : {DOMAIN_NAME} 선택
    • Create load balancer 클릭
    • Load Balancers 리스트에서 생성된 ALB의 DNS name 은 {AWS_ALB_DNS_NAME} 입니다.

  • ALB의 Listener rules 설정

    • Load balancers 목록에서 생성한 자원을 클릭합니다.
    • Listeners and rules 탭에서 Rules 항목의 1 rule을 클릭합니다.
    • Add rule 버튼을 클릭합니다.
    설정AI Conductor BackendAI Conductor FrontendAI Conductor KubeflowEdge Conductor Backend
    NOTE : on premise 인 경우 무시
    Edge Conductor Frontend
    NOTE : on premise 인 경우 무시
    Name and tags : NameAI Conductor BackendAI Conductor FrontendAI Conductor KubeflowEdge Conductor BackendEdge Conductor Frontend
    ConditionsAdd conditionAdd conditionAdd conditionAdd conditionAdd condition
    Conditions : rule condition typesHost headerHost headerHost headerHost headerHost header
    Conditions : Valueaicond.{DOMAIN_NAME}aicond.{DOMAIN_NAME}aicond-kf.{DOMAIN_NAME}edgecond.{DOMAIN_NAME}edgecond.{DOMAIN_NAME}
    ConditionsConfirmConfirmConfirmConfirmConfirm
    ConditionsAdd conditionAdd conditionAdd conditionAdd conditionAdd condition
    Conditions : rule condition typesPathPathPathPathPath
    Conditions : Value/api/*/*/*/app/*
    /web/*
    /*
    ConditionsConfirmConfirmConfirmConfirmConfirm
    ConditionsNextNextNextNextNext
    Actions : Routing actionsForward to target groupsForward to target groupsForward to target groupsForward to target groupsForward to target groups
    Actions : Target grouptg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-be-{AWS_CLUSTER_VERSION_NUM}-30030tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-fe-{AWS_CLUSTER_VERSION_NUM}-30020tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-aic-ig-{AWS_CLUSTER_VERSION_NUM}-30040tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-ec-be-{AWS_CLUSTER_VERSION_NUM}-31020tg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-ec-fe-{AWS_CLUSTER_VERSION_NUM}-31010
    ActionsNextNextNextNextNext
    Rule : Priority100200300400500
    RuleNextNextNextNextNext
    CreateCreateCreateCreateCreateCreate

  • ALB Security Group를 EKS의 Security Group에 추가
    • AWS EC2 Console 로 이동합니다.
    • 왼쪽 메뉴의 Security Groups 를 클릭합니다.
    • eks-cluster-sg-{AWS_CLUSTER_NAME} 을 선택합니다.
    • Inbound rules 탭에서 Edit Inbound rules를 클릭합니다.
    • Add rles를 클릭합니다.
    • Source 에 ALB Security Group 에서 생성한 scg-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-alb 를 선택합니다.
    • Save rules를 클릭합니다.


6. Route53 Hosted zones 추가 설정하기

{변수} 는 직접 입력하여 주세요

  • AWS Route53 Console 으로 이동합니다.
  • 왼쪽 메뉴에서 Hosted zones 클릭
  • {DOMAIN_NAME} 클릭
  • Create record 클릭
  • Record name : *
  • Record type : A - Routes traffic to an IPv4 address and some AWS resources 선택
  • Alais 활성화
  • Route traffic to
    • Choose endpoint : Alias to Application and Classic Load Balancer 선택
    • Choose Region : {AWS_DEFAULT_REGION} 선택
    • Choose load balancer : dualstack.{AWS_ALB_DNS_NAME} 선택
  • Routing policy : Simple routing 선택
  • Create records 클릭