독립 실행형 작업 실행 - Amazon Elastic Container Service

독립 실행형 작업 실행

애플리케이션을 독립 실행형 태스크로 배포하는 것이 좋은 경우도 있습니다. 예를 들어 애플리케이션을 개발 중이지만 이것을 서비스 스케줄러를 사용하여 배포할 준비가 되어 있지 않다고 가정해 봅시다. 애플리케이션이 일회성이거나 계속 실행하거나 종료 시 재시작하는 것이 의미가 없는 주기적인 배치 작업인 경우가 여기에 속할 수 있습니다.

애플리케이션을 배포하여 지속적으로 실행하거나 로드 밸런서 뒤에 배치하려면 Amazon ECS 서비스를 생성합니다. 자세한 정보는 Amazon ECS 서비스 섹션을 참조하세요.

Classic console

클래식 콘솔을 사용하여 독립 실행형 태스크 생성

  1. https://console.aws.amazon.com/ecs/에서 Amazon ECS 콘솔을 엽니다.

  2. 탐색 창에서 태스크 정의(Task Definitions)를 선택한 후 실행할 태스크 정의를 선택합니다.

    • 태스크 정의의 최신 개정을 실행하려면 실행할 태스크 정의 왼쪽의 상자를 선택합니다.

    • 태스크 정의의 이전 개정을 실행하려면 태스크 정의를 선택하여 모든 활성 개정을 봅니다. 마지막으로 실행할 개정을 선택합니다.

  3. 작업(Actions)작업 실행(Run Task)을 차례로 선택합니다.

  4. 작업 실행 페이지에서 다음 단계를 완료합니다.

    1. 용량 공급자 전략 또는 시작 유형을 선택합니다.

      • 용량 공급자 전략(Capacity provider strategy)을 사용하려면 용량 공급자 전략으로 전환(Switch to capacity provider strategy)을 선택합니다. 그런 다음 태스크에서 클러스터에 대해 정의된 기본 용량 공급자 전략을 사용할지 아니면 사용자 정의 용량 공급자 전략을 사용할지 선택합니다. 용량 공급자는 사용자 지정 용량 공급자 전략에 사용할 클러스터와 연결되어야 합니다. 자세한 정보는 Amazon ECS 용량 공급자 생성 섹션을 참조하세요.

      • 시작 유형(Launch type)을 사용하려면 시작 유형으로 전환(Switch to launch type)을 선택하고 EC2 또는 외부(EXTERNAL)를 선택합니다. 시작 유형에 대한 자세한 정보는 Amazon ECS 시작 유형 섹션을 참조하세요.

    2. 클러스터(Cluster)에서 사용할 클러스터를 선택합니다.

    3. 작업 수(Number of tasks)에 이 태스크 정의를 사용하여 시작할 작업 수를 입력합니다.

    4. 작업 그룹(Task group)에 작업 그룹 이름을 입력합니다.

  5. 해당 태스크 정의에서 awsvpc 네트워크 모드를 사용하는 경우 다음 하위 단계를 완료합니다. 아니면 다음 단계로 이동합니다.

    1. 클러스터 VPC(Cluster VPC)에서 컨테이너 인스턴스가 상주하는 VPC를 선택합니다.

    2. 서브넷(Subnets)에서 작업에 사용할 수 있는 서브넷을 선택합니다.

      중요

      awsvpc 네트워크 모드에서는 프라이빗 서브넷만 지원됩니다. 태스크는 퍼블릭 IP 주소를 수신하지 않습니다. 그러므로 아웃바운드 인터넷 액세스에는 NAT 게이트웨이가 필요하고 인바운드 인터넷 트래픽은 로드 밸런서를 통해 라우팅됩니다.

    3. 보안 그룹(Security groups)에 대해서는 인터넷(0.0.0.0/0)에서 발생하는 HTTP 트래픽을 허용하는 태스크를 위해 보안 그룹이 생성되었습니다. 이 보안 그룹의 이름 또는 규칙을 편집하려면 편집(Edit)을 선택한 후 보안 그룹 설정을 수정합니다. 기존 보안 그룹을 선택하려면 동일한 작업을 수행합니다.

  6. (선택 사항) 작업 배치(Task Placement)에서 작업 배치 전략과 제약을 사용하여 작업 배치 방식을 지정할 수 있습니다. 다음 옵션 중 하나를 선택합니다.

    • AZ Balanced Spread - 태스크를 가용 영역과 가용 영역의 컨테이너 인스턴스에 분산합니다.

    • AZ Balanced BinPack - 태스크를 가용 영역과 가용 메모리가 최소인 컨테이너 인스턴스에 분산합니다.

    • BinPack - 사용 가능한 CPU 또는 메모리 최소량에 따라 태스크를 분산합니다.

    • One Task Per Host - 각 컨테이너 인스턴스에 서비스의 태스크를 최대 1개 배치합니다.

    • Custom - 자체 작업 배치 전략을 정의합니다.

    자세한 정보는 Amazon ECS 작업 배치 섹션을 참조하세요.

  7. (선택 사항) 명령, 환경 변수, 작업 IAM 역할 또는 작업 실행 역할 재정의를 태스크 정의에 있는 하나 이상의 컨테이너에 보내려면 고급 옵션(Advanced Options)을 선택하고 다음 단계를 완료합니다.

    참고

    태스크 정의의 파라미터 값을 사용할 경우 재정의를 지정할 필요가 없습니다. 이러한 필드는 태스크 정의에 지정된 값을 재정의하는 데에만 사용됩니다.

    1. 작업 역할 재정의(Task Role Override)에서 태스크 정의에 지정된 작업 IAM 역할을 재정의하기 위한 이 작업의 IAM 역할을 선택합니다. 자세한 정보는 작업에 대한 IAM 역할 섹션을 참조하세요.

      ecs-tasks.amazonaws.com 신뢰 관계를 가진 역할만 표시됩니다. 작업에 대한 IAM 역할을 생성하는 방법에 관한 지침은 작업에 대한 IAM 역할 및 정책 생성 섹션을 참조하세요.

    2. 작업 실행 역할 재정의(Task Execution Role Override)에서 태스크 정의에 지정된 작업 실행 역할을 재정의하는 작업 실행 역할을 선택합니다. 자세한 정보는 Amazon ECS 태스크 실행 IAM 역할 섹션을 참조하세요.

    3. 컨테이너 재정의(Container Overrides)에서 명령 또는 환경 변수 재정의를 전송할 컨테이너를 선택합니다.

      • 명령 재정의의 경우: 명령 재정의(Command override)에 전송할 명령 재정의를 입력합니다. 컨테이너 정의에서 ENTRYPOINT가 지정되지 않은 경우, 형식은 쉼표로 구분된 따옴표 없는 문자열 목록입니다.

        /bin/sh,-c,echo,$DATE

        컨테이너 정의가 ENTRYPOINT(예:sh,-c)를 지정하면, 환경 값에 문자열 값을 입력합니다(큰따옴표(" ")로 묶지 않음). AWS에서 문자열을 큰따옴표(" ")로 묶고 문자열을 인수로 ENTRYPOINT 명령에 전달합니다.

        while true; do echo $DATE > /var/www/html/index.html; sleep 1; done
      • 환경 변수 재정의의 경우: 환경 변수 추가(Add Environment Variable)를 선택합니다. 키(Key)에 환경 변수의 이름을 입력합니다. 값(Value)에 환경 값의 문자열 값을 입력합니다(큰따옴표(" ")로 묶지 않음).

        AWS에서 문자열을 큰따옴표(" ")로 묶고 문자열을 다음 형식으로 컨테이너에 전달합니다.

        MY_ENV_VAR="This variable contains a string."
  8. 작업 태깅 구성(Task tagging configuration) 섹션에서 다음 단계를 완료합니다.

    1. Amazon ECS가 각 작업에 Amazon ECS 관리형 태그를 자동 지정하도록 하려면 ECS 관리형 태그 활성화(Enable ECS managed tags)를 선택합니다. 자세한 정보는 Amazon ECS 리소스에 태그 지정 섹션을 참조하세요.

    2. 태그 전파 시작(Propagate tags from)에서 다음 중 하나를 선택합니다.

      • 전파 안 함(Do not propagate) – 이 옵션은 태그를 전파하지 않습니다.

      • 태스크 정의(ask Definitions) – 이 옵션은 태스크 정의에 지정된 태그를 작업에 전파합니다.

        참고

        태그(Tags) 섹션에서 같은 key로 태그를 지정하는 경우 태스크 정의에서 전파된 태그를 재정의합니다.

  9. 태그(Tags) 섹션에 각 태그에 대한 키와 값을 지정하여 태스크와 연결합니다. 자세한 정보는 Amazon ECS 리소스에 태그 지정 섹션을 참조하세요.

  10. 작업 정보를 검토하고 작업 실행(Run Task)을 선택합니다.

    참고

    태스크가 PENDING에서 STOPPED 상태로 이동하면 오류로 인해 태스크가 중지될 수 있습니다. 태스크가 PENDING 상태를 표시한 다음 나열된 태스크에서 사라지는 경우에도 마찬가지입니다. 자세한 정보는 문제 해결 섹션의 오류로 인해 중지된 작업 확인를 참조하세요.

Command line

run-task 명령을 사용합니다. 자세한 정보는 AWS Command Line Interface 참조run-task를 참조하세요.