AWS Batch EventBridge 목표로서의 직업 - AWS Batch

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Batch EventBridge 목표로서의 직업

EventBridgeAmazon은 Amazon Web Services 리소스의 변경 사항을 설명하는 시스템 이벤트의 스트림을 거의 실시간으로 제공합니다. 일반적으로 AWS Batch 아마존에서는 Elastic 컨테이너 서비스, Amazon Elastic Kubernetes Service AWS 및 Fargate 작업을 대상으로 사용할 수 있습니다. EventBridge 간단한 규칙을 사용하여 이벤트를 매칭하고 이에 대한 응답으로 AWS Batch 작업을 제출할 수 있습니다. 자세한 내용은 What is EventBridge? 를 참조하십시오. Amazon EventBridge 사용 설명서에서 확인할 수 있습니다.

cron또는 rate 표현식을 EventBridge 사용하여 특정 시간에 호출되는 자동 작업을 예약하는 데에도 사용할 수 있습니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 일정에 따라 실행되는 Amazon EventBridge 규칙 생성을 참조하십시오.

이벤트가 이벤트 패턴과 일치할 때 실행되는 규칙을 생성하는 방법에 대한 자세한 내용은 Amazon EventBridge 사용 설명서의 이벤트에 반응하는 Amazon EventBridge 규칙 생성을 참조하십시오.

AWS Batch 작업을 EventBridge 대상으로 하는 일반적인 사용 사례에는 다음과 같은 사용 사례가 포함됩니다.

  • 예약된 작업은 일정한 시간 간격으로 발생합니다. 예를 들어 Amazon EC2 스팟 인스턴스 비용이 더 저렴한 사용량이 적은 시간에만 cron 작업이 발생합니다.

  • AWS Batch 작업은 로그인한 API 작업에 대한 응답으로 실행됩니다 CloudTrail. 예를 들어, 객체가 지정된 Amazon S3 버킷에 업로드될 때마다 작업이 제출됩니다. 이러한 상황이 발생할 때마다 EventBridge 입력 변환기는 객체의 버킷과 키 이름을 AWS Batch 파라미터에 전달합니다.

    참고

    이 시나리오에서는 모든 관련 AWS 리소스가 동일한 지역에 있어야 합니다. 여기에는 Amazon S3 버킷, EventBridge 규칙 및 CloudTrail 로그와 같은 리소스가 포함됩니다.

EventBridge 규칙 및 대상이 포함된 AWS Batch 작업을 제출하려면 먼저 EventBridge 서비스에서 AWS Batch 작업을 실행할 수 있는 몇 가지 권한이 필요합니다. EventBridge 콘솔에서 AWS Batch 작업을 대상으로 지정하는 규칙을 생성할 때 이 역할도 생성할 수 있습니다. 이 역할에 필요한 서비스 보안 주체 및 IAM 권한에 대한 자세한 내용은 EventBridge IAM 역할 섹션을 참조하세요.

예약된 AWS Batch 작업 생성

다음 절차에서는 예약된 AWS Batch 작업과 필요한 EventBridge IAM 역할을 생성하는 방법을 다룹니다.

를 사용하여 예약된 AWS Batch 작업을 만들려면 EventBridge
참고

이 절차는 Amazon ECS, Amazon EKS 및 AWS Fargate의 모든 AWS Batch 작업에 적용됩니다.

  1. https://console.aws.amazon.com/events/ 에서 아마존 EventBridge 콘솔을 엽니다.

  2. 탐색 표시줄에서 사용할 AWS 리전 항목을 선택합니다.

  3. 탐색 창에서 규칙을 선택합니다.

  4. 규칙 생성을 선택합니다.

  5. 이름에 해당 컴퓨팅 환경의 고유한 이름을 지정합니다. 이름은 최대 64자를 포함할 수 있습니다. 대문자 및 소문자, 숫자, 하이픈(-) 및 밑줄(_)을 포함할 수 있습니다.

    참고

    규칙은 동일한 지역과 동일한 이벤트 버스의 다른 규칙과 동일한 이름을 가질 수 없습니다.

  6. (선택 사항) 설명에서 규칙에 대한 설명을 입력합니다.

  7. 이벤트 버스에서 이 규칙과 연결할 이벤트 버스를 선택합니다. 이 규칙이 자신의 계정에서 발생하는 이벤트와 일치하도록 하려면 기본을 선택합니다. 계정 AWS 서비스 내 이벤트가 발생하면 해당 이벤트는 항상 계정의 기본 이벤트 버스로 이동합니다.

  8. (선택 사항) 규칙을 즉시 실행하지 않으려면 선택한 버스의 규칙을 해제하십시오.

  9. 규칙 유형에서 스케줄을 선택합니다.

  10. 계속해서 규칙 생성하기 또는 다음을 선택합니다.

  11. 스케줄 패턴에서 다음을 수행합니다.

    • 오전 8시와 같이 특정 시간에 실행되는 세분화된 일정을 선택합니다. 매월 첫째 월요일의 PST와 cron 표현식을 입력합니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 Cron 표현식을 참조하십시오.

    • 10분마다와 같이 일반 속도로 실행되는 일정을 선택하고 rate 표현식을 입력합니다.

  12. 다음을 선택합니다.

  13. 대상 유형에서 AWS 서비스를 선택합니다.

  14. 대상 선택에서 배치 작업 대기열을 선택합니다. 이후 다음 항목을 구성합니다.

    • Job queue(작업 대기열): 작업을 예약할 작업 대기열의 Amazon 리소스 이름(ARN)을 입력합니다.

    • Job definition(작업 정의): 작업에 사용할 작업 정의의 이름과 개정 또는 전체 ARN을 입력합니다.

    • Job name(작업 이름): 작업의 이름을 입력합니다.

    • Array size(배열 크기): (선택 사항) 두 개 이상의 복사본을 실행할 수 있도록 작업의 배열 크기를 입력합니다. 자세한 설명은 배열 작업 섹션을 참조하세요.

    • Job attempts(작업 시도): (선택 사항) 작업이 실패할 경우 작업을 다시 시도할 최대 횟수를 입력합니다. 자세한 설명은 작업 자동 재시도 섹션을 참조하세요.

  15. Batch 작업 큐 대상 유형의 경우 대상으로 이벤트를 전송할 수 있는 권한이 EventBridge 필요합니다. EventBridge 규칙을 실행하는 데 필요한 IAM 역할을 생성할 수 있습니다. 다음 중 하나를 수행합니다.

    • IAM 역할을 자동으로 생성하려면 이 특정 리소스에 대해 새 역할 생성을 선택합니다.

    • 이미 생성한 IAM 역할을 사용하려면 기존 역할 사용을 선택합니다.

  16. (선택 사항) 추가 설정(Additional settings)을 확장합니다.

    1. 대상 입력 구성의 경우 이벤트의 텍스트가 대상으로 전달되기 전에 처리되는 방식을 선택합니다.

    2. 최대 이벤트 수명에서 처리되지 않은 이벤트가 보관되는 시간 간격을 지정합니다.

    3. 재시도 횟수에는 이벤트 재시도 횟수를 입력합니다.

    4. DLQ(Dead Letter Queue)에서 처리되지 않은 이벤트 처리 방법에 대한 옵션을 선택합니다. 필요한 경우 DLQ(Dead Letter Queue) 대기열로 사용할 Amazon SQS 대기열을 지정합니다.

  17. (선택 사항) 이 규칙에 다른 대상을 추가하려면 다른 대상 추가를 선택합니다.

  18. 다음을 선택합니다.

  19. (선택 사항) 태그에서 새 태그 추가를 선택하여 규칙의 리소스 레이블을 추가합니다. 자세한 내용은 Amazon EventBridge 태그를 참조하십시오.

  20. 다음을 선택합니다.

  21. 검토 및 생성에서 구성 단계를 검토하십시오. 변경해야 하는 경우 편집을 선택합니다 작업을 마쳤으면 규칙 생성을 선택합니다.

규칙 생성에 대한 자세한 내용은 Amazon EventBridge 사용 설명서의 일정에 따라 실행되는 Amazon EventBridge 규칙 생성을 참조하십시오.

이벤트 패턴이 있는 규칙 생성

다음 절차는 이벤트 패턴이 있는 규칙을 생성하는 방법입니다.

이벤트가 정의된 패턴과 일치할 때 이벤트를 대상으로 보내는 규칙을 만들려면
참고

이 절차는 Amazon ECS, Amazon EKS 및 AWS Fargate의 모든 AWS Batch 작업에 적용됩니다.

  1. https://console.aws.amazon.com/events/ 에서 아마존 EventBridge 콘솔을 엽니다.

  2. 탐색 표시줄에서 사용할 AWS 리전 항목을 선택합니다.

  3. 탐색 창에서 규칙을 선택합니다.

  4. 규칙 생성을 선택합니다.

  5. 이름에 해당 컴퓨팅 환경의 고유한 이름을 지정합니다. 이름은 최대 64자를 포함할 수 있습니다. 대문자 및 소문자, 숫자, 하이픈(-) 및 밑줄(_)을 포함할 수 있습니다.

    참고

    규칙은 동일한 지역과 동일한 이벤트 버스의 다른 규칙과 동일한 이름을 가질 수 없습니다.

  6. (선택 사항) 설명에서 규칙에 대한 설명을 입력합니다.

  7. 이벤트 버스에서 이 규칙과 연결할 이벤트 버스를 선택합니다. 이 규칙이 자신의 계정에서 발생하는 이벤트와 일치하도록 하려면 기본을 선택합니다. 계정 AWS 서비스 내 이벤트가 발생하면 해당 이벤트는 항상 계정의 기본 이벤트 버스로 이동합니다.

  8. (선택 사항) 규칙을 즉시 실행하지 않으려면 선택한 버스의 규칙을 해제하십시오.

  9. 규칙 유형에서 이벤트 패턴이 있는 규칙을 선택합니다.

  10. 다음을 선택합니다.

  11. 이벤트 소스의 경우 AWS 이벤트 또는 EventBridge 파트너 이벤트를 선택합니다.

  12. (선택 사항) 샘플 이벤트의 경우:

    1. 샘플 이벤트 유형에서 AWS 이벤트를 선택합니다.

    2. 샘플 이벤트에서 배치 작업 상태 변경을 선택합니다.

  13. 생성 방법에서 패턴 양식 사용을 선택합니다.

  14. 이벤트 패턴의 경우:

    1. 이벤트 소스에서 AWS 서비스를 선택합니다.

    2. AWS 서비스에서 배치를 선택합니다.

    3. 이벤트 유형에서 배치 잡 상태 변경을 선택합니다.

  15. 다음을 선택합니다.

  16. 대상 유형에서 AWS 서비스를 선택합니다.

  17. 대상 유형 선택에서 대상 유형을 선택합니다. 예를 들어, 배치 작업 대기열을 선택합니다. 다음 사항을 지정합니다.

    • Job queue(작업 대기열): 작업을 예약할 작업 대기열의 Amazon 리소스 이름(ARN)을 입력합니다.

    • Job definition(작업 정의): 작업에 사용할 작업 정의의 이름과 개정 또는 전체 ARN을 입력합니다.

    • Job name(작업 이름): 작업의 이름을 입력합니다.

    • Array size(배열 크기): (선택 사항) 두 개 이상의 복사본을 실행할 수 있도록 작업의 배열 크기를 입력합니다. 자세한 설명은 배열 작업 섹션을 참조하세요.

    • Job attempts(작업 시도): (선택 사항) 작업이 실패할 경우 작업을 다시 시도할 최대 횟수를 입력합니다. 자세한 설명은 작업 자동 재시도 섹션을 참조하세요.

  18. Batch 작업 큐 대상 유형의 경우 대상으로 이벤트를 전송할 수 있는 권한이 EventBridge 필요합니다. EventBridge 규칙을 실행하는 데 필요한 IAM 역할을 생성할 수 있습니다. 다음 중 하나를 수행합니다.

    • IAM 역할을 자동으로 생성하려면 이 특정 리소스에 대해 새 역할 생성을 선택합니다.

    • 이전에 생성한 IAM 역할을 사용하려면 기존 역할 사용을 선택합니다.

  19. (선택 사항) 추가 설정(Additional settings)을 확장합니다.

    1. 대상 입력 구성에서 이벤트의 텍스트 처리 방법을 선택합니다.

    2. 최대 이벤트 수명에서 처리되지 않은 이벤트가 보관되는 시간 간격을 지정합니다.

    3. 재시도 횟수에는 이벤트 재시도 횟수를 입력합니다.

    4. DLQ(Dead Letter Queue)에서 처리되지 않은 이벤트 처리 방법에 대한 옵션을 선택합니다. 필요한 경우 DLQ(Dead Letter Queue) 대기열로 사용할 Amazon SQS 대기열을 지정합니다.

  20. (선택 사항) 다른 대상을 추가하려면 다른 대상 추가를 선택합니다.

  21. 다음을 선택합니다.

  22. (선택 사항) 태그에서 새 태그 추가를 선택하여 리소스 레이블을 추가합니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon EventBridge 태그를 참조하십시오.

  23. 다음을 선택합니다.

  24. 검토 및 생성에서 구성 단계를 검토하십시오. 변경해야 하는 경우 편집을 선택합니다 작업을 마친 다음 규칙 생성을 선택합니다.

    규칙 생성에 대한 자세한 내용은 Amazon EventBridge 사용 설명서의 이벤트에 반응하는 Amazon EventBridge 규칙 생성을 참조하십시오.

EventBridge 입력 변환기를 사용하여 일정에 따라 AWS Batch Target에 이벤트 정보 전달

EventBridge 입력 변환기를 사용하여 작업 제출 시 이벤트 정보를 전달할 AWS Batch 수 있습니다. 이는 다른 AWS 이벤트 정보의 결과로 작업을 호출하는 경우 특히 유용할 수 있습니다. Amazon S3 버킷에 객체를 업로드하는 경우를 예로 들 수 있습니다. 컨테이너 명령에 파라미터 대체 값이 포함된 작업 정의를 사용할 수도 있습니다. EventBridge 입력 변환기는 이벤트 데이터를 기반으로 매개변수 값을 제공할 수 있습니다.

그런 다음 이벤트를 시작한 AWS Batch 이벤트의 정보를 파싱하여 객체로 변환하는 이벤트 대상을 만듭니다. parameters 작업이 실행될 때 트리거 이벤트의 파라미터는 작업 컨테이너의 명령으로 전달됩니다.

참고

이 시나리오에서는 모든 AWS 리소스 (예: Amazon S3 버킷, EventBridge 규칙, CloudTrail 로그) 가 동일한 지역에 있어야 합니다.

입력 변환기를 사용하는 AWS Batch 대상을 만들려면
  1. https://console.aws.amazon.com/events/ 에서 아마존 EventBridge 콘솔을 엽니다.

  2. 탐색 표시줄에서 사용할 AWS 리전 항목을 선택합니다.

  3. 탐색 창에서 규칙을 선택합니다.

  4. 규칙 생성을 선택합니다.

  5. 이름에 해당 컴퓨팅 환경의 고유한 이름을 지정합니다. 이름은 최대 64자를 포함할 수 있습니다. 대문자 및 소문자, 숫자, 하이픈(-) 및 밑줄(_)을 포함할 수 있습니다.

    참고

    규칙은 같은 이벤트 버스에 있는 다른 AWS 리전 규칙과 같은 이름을 가질 수 없습니다.

  6. (선택 사항) 설명에서 규칙에 대한 설명을 입력합니다.

  7. 이벤트 버스에서 이 규칙과 연결할 이벤트 버스를 선택합니다. 이 규칙이 자신의 계정에서 발생하는 이벤트와 일치하도록 하려면 기본을 선택합니다. 계정 AWS 서비스 내에서 이벤트가 발생하면 해당 이벤트는 항상 계정의 기본 이벤트 버스로 이동합니다.

  8. (선택 사항) 규칙을 즉시 실행하지 않으려면 선택한 버스의 규칙을 해제하십시오.

  9. 규칙 유형에서 스케줄을 선택합니다.

  10. 계속해서 규칙 생성하기 또는 다음을 선택합니다.

  11. 스케줄 패턴에서 다음을 수행합니다.

    • 오전 8시와 같이 특정 시간에 실행되는 세분화된 일정을 선택합니다. 매월 첫째 월요일의 PST와 cron 표현식을 입력합니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 Cron 표현식을 참조하십시오.

    • 10분마다와 같이 일반 속도로 실행되는 일정을 선택하고 rate 표현식을 입력합니다.

  12. 다음을 선택합니다.

  13. 대상 유형에서 AWS 서비스를 선택합니다.

  14. 대상 선택에서 배치 작업 대기열을 선택합니다. 이후 다음 항목을 구성합니다.

    • Job queue(작업 대기열): 작업을 예약할 작업 대기열의 Amazon 리소스 이름(ARN)을 입력합니다.

    • Job definition(작업 정의): 작업에 사용할 작업 정의의 이름과 개정 또는 전체 ARN을 입력합니다.

    • Job name(작업 이름): 작업의 이름을 입력합니다.

    • Array size(배열 크기): (선택 사항) 두 개 이상의 복사본을 실행할 수 있도록 작업의 배열 크기를 입력합니다. 자세한 설명은 배열 작업 섹션을 참조하세요.

    • Job attempts(작업 시도): (선택 사항) 작업이 실패할 경우 작업을 다시 시도할 최대 횟수를 입력합니다. 자세한 설명은 작업 자동 재시도 섹션을 참조하세요.

  15. Batch 작업 큐 대상 유형의 경우 대상으로 이벤트를 전송할 수 있는 권한이 EventBridge 필요합니다. EventBridge 규칙을 실행하는 데 필요한 IAM 역할을 생성할 수 있습니다. 다음 중 하나를 수행합니다.

    • IAM 역할을 자동으로 생성하려면 이 특정 리소스에 대해 새 역할 생성을 선택합니다.

    • 이미 생성한 IAM 역할을 사용하려면 기존 역할 사용을 선택합니다.

  16. (선택 사항) 추가 설정(Additional settings)을 확장합니다.

  17. Additional settings(추가 설정) 섹션의 Configure target input(대상 입력 구성)에서 Input Transformer(입력 변환기)를 선택합니다.

  18. Configure input transformer(입력 구성 변환기)를 선택합니다.

  19. (선택 사항) 샘플 이벤트의 경우:

    1. 샘플 이벤트 유형에서 AWS 이벤트를 선택합니다.

    2. 샘플 이벤트에서 배치 작업 상태 변경을 선택합니다.

  20. 대상 입력 변환기 섹션의 입력 경로에서 트리거 이벤트의 구문 분석 값을 지정합니다. 예를 들어, 배치 작업 상태 변경 이벤트를 파싱하려면 다음의 JSON 형식을 사용합니다.

    { "instance": "$.detail.jobId", "state": "$.detail.status" }
  21. 템플릿에는 다음 사항을 입력합니다.

    { "instance": <jobId> , "status": <status> }
  22. 확인을 선택합니다.

  23. 최대 이벤트 수명에서 처리되지 않은 이벤트가 보관되는 시간 간격을 지정합니다.

  24. 재시도 횟수에는 이벤트 재시도 횟수를 입력합니다.

  25. DLQ(Dead Letter Queue)에서 처리되지 않은 이벤트 처리 방법에 대한 옵션을 선택합니다. 필요한 경우 DLQ(Dead Letter Queue) 대기열로 사용할 Amazon SQS 대기열을 지정합니다.

  26. (선택 사항) 다른 대상을 추가하려면 다른 대상 추가를 선택합니다.

  27. 다음을 선택합니다.

  28. (선택 사항) 태그에서 새 태그 추가를 선택하여 리소스 레이블을 추가합니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon EventBridge 태그를 참조하십시오.

  29. 다음을 선택합니다.

  30. 검토 및 생성에서 구성 단계를 검토하십시오. 변경해야 하는 경우 편집을 선택합니다 작업을 마친 다음 규칙 생성을 선택합니다.