Amazon ECS

Amazon ECS (EC2 Container Service) #

Amazon ECS is supported, which allows BurmillaOS EC2 instances to join your cluster.

Pre-Requisites #

Prior to launching BurmillaOS EC2 instances, the ECS Container Instance IAM Role will need to have been created. This ecsInstanceRole will need to be used when launching EC2 instances. If you have been using ECS, you created this role if you followed the ECS “Get Started” interactive guide.

Launching an instance with ECS #

BurmillaOS makes it easy to join your ECS cluster. The ECS agent is a system service that is enabled in the ECS enabled AMI. There may be other BurmillaOS AMIs that don’t have the ECS agent enabled by default, but it can easily be added in the user data on any BurmillaOS AMI.

When launching the BurmillaOS AMI, you’ll need to specify the IAM Role and Advanced Details -> User Data in the Configure Instance Details step.

For the IAM Role, you’ll need to be sure to select the ECS Container Instance IAM role.

For the User Data, you’ll need to pass in the cloud-config file.

#cloud-config
rancher:
  environment:
    ECS_CLUSTER: your-ecs-cluster-name
    # Note: You will need to add this variable, if using awslogs for ECS task.
    ECS_AVAILABLE_LOGGING_DRIVERS: |-
            ["json-file","awslogs"]
# If you have selected a BurmillaOS AMI that does not have ECS enabled by default,
# you'll need to enable the system service for the ECS agent.
  services_include:
    amazon-ecs-agent: true

Version #

By default, the ECS agent will be using the latest tag for the amazon-ecs-agent image. In v0.5.0, we introduced the ability to select which version of the amazon-ecs-agent.

To select the version, you can update your cloud-config file.

#cloud-config
rancher:
  environment:
    ECS_CLUSTER: your-ecs-cluster-name
    # Note: You will need to make sure to include the colon in front of the version.
    ECS_AGENT_VERSION: :v2.0.0
    # If you have selected a BurmillaOS AMI that does not have ECS enabled by default,
    # you'll need to enable the system service for the ECS agent.
  services_include:
    amazon-ecs-agent: true

Note: The : must be in front of the version tag in order for the ECS image to be tagged correctly.