Amazon ECS cluster

$ aws ecs create-cluster --cluster-name web2048
{
    "cluster": {
        "status": "ACTIVE",
        "defaultCapacityProviderStrategy": [],
        "statistics": [],
        "capacityProviders": [],
        "tags": [],
        "clusterName": "web2048",
        "settings": [
            {
                "name": "containerInsights",
                "value": "disabled"
            }
        ],
        "registeredContainerInstancesCount": 0,
        "pendingTasksCount": 0,
        "runningTasksCount": 0,
        "activeServicesCount": 0,
        "clusterArn": "arn:aws:ecs:us-west-2:356565822870:cluster/web2048"
    }
}
[ssm-user@ip-10-0-0-251 2048]$ cd
[ssm-user@ip-10-0-0-251 ~]$ ls -l
total 0
drwxr-xr-x 6 ssm-user ssm-user 218 Mar 12 11:47 2048
[ssm-user@ip-10-0-0-251 ~]$ echo ${REPOSITORY_URI}
356565822870.dkr.ecr.us-west-2.amazonaws.com/web2048
[ssm-user@ip-10-0-0-251 ~]$ nano web2048_task_definition.json
[ssm-user@ip-10-0-0-251 ~]$ nano web2048_task_definition.json
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$ cat web2048_task_definition.json
{
    "family": "web2048",
    "networkMode": "awsvpc",
    "taskRoleArn": "arn:aws:iam::356565822870:role/LabStack-f52e059e-2596-4e94-a5-ECSTaskExecutionRole-t5jxEaH8qdlg",
    "executionRoleArn": "arn:aws:iam::356565822870:role/LabStack-f52e059e-2596-4e94-a5-ECSTaskExecutionRole-t5jxEaH8qdlg",
    "containerDefinitions": [
        {
            "name": "web2048",
            "image": "356565822870.dkr.ecr.us-west-2.amazonaws.com/web2048",
            "portMappings": [
                {
                    "containerPort": 80,
                    "hostPort": 80,
                    "protocol": "tcp"
                }
            ],
            "essential": true
        }
    ],
    "requiresCompatibilities": [
        "FARGATE"
    ],
    "cpu": "256",
    "memory": "512"
}
 
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$ nano web2048_service.json
[ssm-user@ip-10-0-0-251 ~]$ cat web2048_service.json
{
    "cluster": "web2048",
    "serviceName": "web2048",
    "taskDefinition": "web2048",
    "loadBalancers": [
        {
            "targetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:356565822870:targetgroup/ECS-Target-Group/7d892b651ae1129f",
            "containerName": "web2048",
            "containerPort": 80
        }
    ],
    "desiredCount": 2,
    "launchType": "FARGATE",
    "platformVersion": "LATEST",
    "networkConfiguration": {
        "awsvpcConfiguration": {
            "subnets": [
                "subnet-08e9ce23d9d655d24",
                "subnet-0870e5d36bd4b39d1"
            ],
            "securityGroups": [
                "sg-0e926f7611285b7b4"
            ],
            "assignPublicIp": "ENABLED"
        }
    }
}
 
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$ aws ecs create-service --cli-input-json file://web2048_service.json
 
An error occurred (ClientException) when calling the CreateService operation: TaskDefinition not found.
[ssm-user@ip-10-0-0-251 ~]$ ls
2048  web2048_service.json  web2048_task_definition.json
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$ aws ecs create-service --cli-input-json file://web2048_service.json
 
An error occurred (ClientException) when calling the CreateService operation: TaskDefinition not found.
[ssm-user@ip-10-0-0-251 ~]$ aws ecs register-task-definition --cli-input-json file://web2048_task_definition.json
{
    "taskDefinition": {
        "status": "ACTIVE",
        "memory": "512",
        "networkMode": "awsvpc",
        "family": "web2048",
        "placementConstraints": [],
        "requiresAttributes": [
            {
                "name": "com.amazonaws.ecs.capability.ecr-auth"
            },
            {
                "name": "com.amazonaws.ecs.capability.task-iam-role"
            },
            {
                "name": "ecs.capability.execution-role-ecr-pull"
            },
            {
                "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
            },
            {
                "name": "ecs.capability.task-eni"
            }
        ],
        "cpu": "256",
        "executionRoleArn": "arn:aws:iam::356565822870:role/LabStack-f52e059e-2596-4e94-a5-ECSTaskExecutionRole-t5jxEaH8qdlg",
        "compatibilities": [
            "EC2",
            "FARGATE"
        ],
        "volumes": [],
        "requiresCompatibilities": [
            "FARGATE"
        ],
        "taskRoleArn": "arn:aws:iam::356565822870:role/LabStack-f52e059e-2596-4e94-a5-ECSTaskExecutionRole-t5jxEaH8qdlg",
        "taskDefinitionArn": "arn:aws:ecs:us-west-2:356565822870:task-definition/web2048:1",
        "containerDefinitions": [
            {
                "environment": [],
                "name": "web2048",
                "mountPoints": [],
                "image": "356565822870.dkr.ecr.us-west-2.amazonaws.com/web2048",
                "cpu": 0,
                "portMappings": [
                    {
                        "protocol": "tcp",
                        "containerPort": 80,
                        "hostPort": 80
                    }
                ],
                "systemControls": [],
                "essential": true,
                "volumesFrom": []
            }
        ],
        "revision": 1
    }
}
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$ aws ecs create-service --cli-input-json file://web2048_service.json
{
    "service": {
        "networkConfiguration": {
            "awsvpcConfiguration": {
                "subnets": [
                    "subnet-08e9ce23d9d655d24",
                    "subnet-0870e5d36bd4b39d1"
                ],
                "securityGroups": [
                    "sg-0e926f7611285b7b4"
                ],
                "assignPublicIp": "ENABLED"
            }
        },
        "launchType": "FARGATE",
        "enableECSManagedTags": false,
        "loadBalancers": [
            {
                "containerName": "web2048",
                "targetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:356565822870:targetgroup/ECS-Target-Group/7d892b651ae1129f",
                "containerPort": 80
            }
        ],
        "deploymentController": {
            "type": "ECS"
        },
        "desiredCount": 2,
        "clusterArn": "arn:aws:ecs:us-west-2:356565822870:cluster/web2048",
        "serviceArn": "arn:aws:ecs:us-west-2:356565822870:service/web2048/web2048",
        "deploymentConfiguration": {
            "maximumPercent": 200,
            "minimumHealthyPercent": 100
        },
        "createdAt": 1710246122.518,
        "healthCheckGracePeriodSeconds": 0,
        "schedulingStrategy": "REPLICA",
        "placementConstraints": [],
        "deployments": [
            {
                "status": "PRIMARY",
                "networkConfiguration": {
                    "awsvpcConfiguration": {
                        "subnets": [
                            "subnet-08e9ce23d9d655d24",
                            "subnet-0870e5d36bd4b39d1"
                        ],
                        "securityGroups": [
                            "sg-0e926f7611285b7b4"
                        ],
                        "assignPublicIp": "ENABLED"
                    }
                },
                "pendingCount": 0,
                "launchType": "FARGATE",
                "createdAt": 1710246122.518,
                "desiredCount": 2,
                "taskDefinition": "arn:aws:ecs:us-west-2:356565822870:task-definition/web2048:1",
                "updatedAt": 1710246122.518,
                "platformVersion": "1.4.0",
                "id": "ecs-svc/3790425555296024013",
                "runningCount": 0
            }
        ],
        "serviceName": "web2048",
        "events": [],
        "runningCount": 0,
        "status": "ACTIVE",
        "serviceRegistries": [],
        "pendingCount": 0,
        "createdBy": "arn:aws:iam::356565822870:role/LabStack-f52e059e-2596-4e94-a521-68-CommandHostRole-K7bwxqUaDDFO",
        "platformVersion": "LATEST",
        "placementStrategy": [],
        "propagateTags": "NONE",
        "roleArn": "arn:aws:iam::356565822870:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS",
        "taskDefinition": "arn:aws:ecs:us-west-2:356565822870:task-definition/web2048:1"
    }
}
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$
[ssm-user@ip-10-0-0-251 ~]$ aws ecs describe-clusters --cluster web2048
{
    "clusters": [
        {
            "status": "ACTIVE",
            "defaultCapacityProviderStrategy": [],
            "statistics": [],
            "capacityProviders": [],
            "tags": [],
            "clusterName": "web2048",
            "settings": [],
            "registeredContainerInstancesCount": 0,
            "pendingTasksCount": 2,
            "runningTasksCount": 0,
            "activeServicesCount": 1,
            "clusterArn": "arn:aws:ecs:us-west-2:356565822870:cluster/web2048"
        }
    ],
    "failures": []
}
[ssm-user@ip-10-0-0-251 ~]$ aws ecs describe-clusters --cluster web2048
{
    "clusters": [
        {
            "status": "ACTIVE",
            "defaultCapacityProviderStrategy": [],
            "statistics": [],
            "capacityProviders": [],
            "tags": [],
            "clusterName": "web2048",
            "settings": [],
            "registeredContainerInstancesCount": 0,
            "pendingTasksCount": 0,
            "runningTasksCount": 2,
            "activeServicesCount": 1,
            "clusterArn": "arn:aws:ecs:us-west-2:356565822870:cluster/web2048"
        }
    ],
    "failures": []
}
[ssm-user@ip-10-0-0-251 ~]$ aws ecs describe-clusters --cluster web2048
{
    "clusters": [
        {
            "status": "ACTIVE",
            "defaultCapacityProviderStrategy": [],
            "statistics": [],
            "capacityProviders": [],
            "tags": [],
            "clusterName": "web2048",
            "settings": [],
            "registeredContainerInstancesCount": 0,
            "pendingTasksCount": 0,
            "runningTasksCount": 2,
            "activeServicesCount": 1,
            "clusterArn": "arn:aws:ecs:us-west-2:356565822870:cluster/web2048"
        }
    ],
    "failures": []
}
[ssm-user@ip-10-0-0-251 ~]$
 
aws/ecs.txt · Last modified: 12/03/2024 13:25 by andrew