Standard SQS Queue

This entry is part 3 of 8 in the series GitHub just-in-time (JIT) self-hosted Runners on AWS Fargate

GitHub just-in-time (JIT) self-hosted Runners on AWS Fargate

Overview of JIT GitHub Runners on AWS Fargate

ECS Fargate Cluster

Standard SQS Queue

ECR/Docker Image for JIT Runner

ECS Fargate Task

EventBridge Rule/Targets

Putting the Infrastructure to the Test

Dynamic Runner Sizing (CPU/Memory)

Our EventBridge rule includes two (2) targets, i.e.:

  • ECS task with an Input Transformer ContainerOverride for the runner container
  • SQS standard queue, configured to pass the matched event to the queue

The runner container extracts the event payload from the queue, and uses the relevant source field values to generate and initialize the runner.

Create our queue with name, git-actions-wf-job-queue:

$ aws sqs create-queue --queue-name git-actions-wf-job-queue --attributes KmsMasterKeyId=""

Output:

{
    "QueueUrl": "https://sqs.<region>.amazonaws.com/<aws_acct_id>/git-actions-wf-job-queue"
}

Note: Queue encryption has been disabled.

GitHub just-in-time (JIT) self-hosted Runners on AWS Fargate

ECS Fargate Cluster ECR/Docker Image for JIT Runner