블루/그린 배포 유형에 대한 로드 밸런서 구성 - Amazon Elastic Container Service

블루/그린 배포 유형에 대한 로드 밸런서 구성

블루/그린 배포 유형을 사용하는 서비스를 로드 밸런서를 사용하도록 구성하려면 Application Load Balancer 또는 Network Load Balancer 중 하나를 사용해야 합니다.

로드 밸런서 유형을 선택하려면
  1. 아직 수행하지 않은 경우, 1단계: 기본적 서비스 파라미터 구성의 서비스 생성 절차를 따릅니다.

  2. 로드 밸런스 유형(Load balancer type)은 서비스에서 사용할 로드 밸런서 유형을 선택합니다.

    Application Load Balancer

    컨테이너가 동적 호스트 포트 매핑을 사용하도록 허용합니다. 호스트 포트 매핑을 사용하면 한 컨테이너 인스턴스에 동일한 포트를 사용하여 여러 작업을 배치할 수 있습니다. 여러 서비스가 규칙 기반 라우팅 및 경로를 사용하여 단일 로드 밸런서에서 동일한 리스너 포트를 사용할 수 있습니다.

    Network Load Balancer

    컨테이너가 동적 호스트 포트 매핑을 사용하도록 허용합니다. 호스트 포트 매핑을 사용하면 한 컨테이너 인스턴스에 동일한 포트를 사용하여 여러 작업을 배치할 수 있습니다. 여러 서비스가 규칙 기반 라우팅을 사용하여 단일 로드 밸런서에서 동일한 리스너 포트를 사용할 수 있습니다.

    Amazon ECS 서비스에 Application Load Balancer를 사용하는 것이 좋습니다. 이렇게 하면 Application Load Balancer의 모든 기능을 사용할 수 있습니다.

  3. 로드 밸런서 이름(Load balancer name)에 대해서는 서비스에 사용할 로드 밸런서의 이름을 선택합니다. 앞서 선택한 로드 밸런서 유형과 일치하는 로드 밸런서만 여기에 표시됩니다.

  4. 다음 단계는 서비스에 사용할 로드 밸런서 유형에 따라 달라집니다. Application Load Balancer를 선택한 경우 Application Load Balancer를 구성하려면의 단계를 따릅니다. Network Load Balancer를 선택한 경우 Network Load Balancer를 구성하려면의 단계를 따릅니다.

블루/그린 배포 유형에 대해 Application Load Balancer를 구성하려면
  1. 로드 밸런스용 컨테이너(Container to load balance)에서 태스크 정의로부터 로드 밸런서가 트래픽을 분산할 컨테이너 및 포트 조합을 선택하고 로드 밸런서에 추가(Add to load balancer)를 선택합니다.

  2. 프로덕션 리스너 포트(Production listener port)에 대해 Application Load Balancer 생성에서 생성한 리스너의 리스너 포트 및 프로토콜을 선택하거나(해당하는 경우), 새로 생성(create new)을 선택하여 새 리스너를 생성한 다음, 포트 번호를 입력하고 프로덕션 리스너 프로토콜(Production listener protocol)에서 포트 프로토콜을 선택합니다.

  3. (선택 사항) 트래픽을 새 태스크 세트로 라우팅하기 전에 서비스 업데이트를 테스트하도록 로드 밸런서의 리스너 포트 및 프로토콜을 구성하려는 경우 테스트 리스너(Test listener)를 선택합니다. 다음 단계를 완료합니다.

    1. 테스트 리스너 포트(Test listener port)의 경우, 트래픽을 테스트하려는 리스너의 리스너 포트 및 프로토콜을 선택하거나 새로 생성(create new)을 선택하여 새 테스트 리스너를 생성한 다음, 포트 번호를 입력하고 테스트 리스너 프로토콜(Test listener protocol)에서 포트 프로토콜을 선택합니다.

  4. 블루/그린 배포의 경우, 두 개의 대상 그룹이 필요합니다. 각 대상 그룹은 배포 시 별도의 작업 세트에 바인딩됩니다. 다음 단계를 완료합니다.

    1. 대상 그룹 1 이름(Target group 1 name)에 대해서는 Application Load Balancer 생성에서 생성한 대상 그룹을 선택하거나(해당하는 경우) 새로 생성(create new)을 선택하여 새 대상 그룹을 생성합니다.

      중요

      서비스의 태스크 정의가 awsvpc 네트워크 모드(Fargate 시작 유형의 경우에는 필수)를 사용하는 경우 대상 그룹은 대상 유형으로 instance가 아닌 ip를 사용해야 합니다. 이는 awsvpc 네트워크 모드를 사용하는 작업이 Amazon EC2 인스턴스가 아닌 탄력적 네트워크 인터페이스와 연결되기 때문입니다.

    2. (선택 사항) 새 대상 그룹을 생성하는 경우 다음과 같이 다음 필드를 완성합니다.

      • 대상 그룹 이름(Target group name)에 대상 그룹의 이름을 입력합니다.

      • 대상 그룹 프로토콜(Target group protocol)에 작업으로 트래픽을 라우팅할 때 사용할 프로토콜을 입력합니다.

      • 경로 패턴(Path pattern)의 경우 기존 규칙이 없는 경우 기본 패턴(/)이 사용됩니다. 리스너에 기본 규칙이 이미 있는 경우 서비스의 대상 그룹으로 전송할 트래픽과 일치하는 경로 패턴을 입력해야 합니다. 예를 들어 서비스가 web-app이라는 웹 애플리케이션이고 http://my-elb-url/web-app과 일치하는 트래픽을 서비스로 라우팅하려는 경우 경로 패턴으로 /web-app*을 입력합니다. 자세한 정보는 Application Load Balancer 사용 설명서에서 ListenerRules를 참조하세요.

      • 상태 확인 경로(Health check path)에 로드 밸런서가 상태 확인 ping을 전송할 경로를 입력합니다.

    3. 대상 그룹 2에 대해 단계를 반복합니다.

    4. Application Load Balancer 구성을 마치면 다음 단계(Next Step)를 선택합니다. 4단계: 서비스 검색을 사용하도록 서비스 구성로 이동합니다.

블루/그린 배포 유형에 대해 Network Load Balancer를 구성하려면
  1. 로드 밸런스용 컨테이너(Container to load balance)는 태스크 정의에서 로드 밸런서가 트래픽을 분산해야 할 컨테이너 및 포트 조합을 선택하고 로드 밸런서에 추가(Add to load balancer)를 선택합니다.

  2. 리스너 포트(Listener port)에 대해 Network Load Balancer 생성에서 생성한 리스너의 리스너 포트 및 프로토콜을 선택하거나(해당하는 경우), 새로 생성(create new)을 선택하여 새 리스너를 생성한 다음, 포트 번호를 입력하고 리스너 프로토콜(Listener protocol)에서 포트 프로토콜을 선택합니다.

  3. 대상 그룹 이름(Target group name)에 대해 Network Load Balancer 생성에서 생성한 대상 그룹을 선택하거나(해당하는 경우), 새로 생성(create new)을 선택하여 새 대상 그룹을 생성합니다.

    중요

    서비스의 태스크 정의가 awsvpc 네트워크 모드(Fargate 시작 유형의 경우에는 필수)를 사용하는 경우 대상 그룹은 대상 유형으로 instance가 아닌 ip를 사용해야 합니다. 이는 awsvpc 네트워크 모드를 사용하는 작업이 Amazon EC2 인스턴스가 아닌 탄력적 네트워크 인터페이스와 연결되기 때문입니다.

  4. (선택 사항) 새 대상 그룹을 생성하는 경우 다음과 같이 다음 필드를 완성합니다.

    • 대상 그룹 이름(Target group name)에 대상 그룹의 이름을 입력합니다.

    • 대상 그룹 프로토콜(Target group protocol)에 작업으로 트래픽을 라우팅할 때 사용할 프로토콜을 입력합니다.

    • 상태 확인 경로(Health check path)에 로드 밸런서가 상태 확인 ping을 전송할 경로를 입력합니다.

  5. Network Load Balancer 구성을 마치면 다음 단계(Next Step)를 선택합니다. 4단계: 서비스 검색을 사용하도록 서비스 구성로 이동합니다.