ECS Anywhere 用のタスク定義をマネジメントコンソールから作成する方法を教えてください

ECS Anywhere 用のタスク定義をマネジメントコンソールから作成する方法を教えてください

Clock Icon2024.10.02

困っていた内容

ECS Anywhere でタスクを実行したいです。
マネジメントコンソールの「タスク定義の作成」では起動タイプ「EXTERNAL」が選択肢にありません。
ECS Anywhere 用のタスク定義はマネジメントコンソールからは作成できないのでしょうか。
作成する方法があれば教えてください。

ECS Anywhere Create TaskDefinition 1

どう対応すればいいの?

「JSON を使用した新しいタスク定義の作成」から作成してください。

ECS Anywhere Create TaskDefinition 2

2024年10月時点で、AWS マネジメントコンソールから ECS Anywhere 用のタスク定義を作成するには、JSON エディタを使用する必要があります。

やってみた

Amazon ECS コンソールの「タスク定義」から、「新しいリビジョンの作成」→「JSON を使用した新しいタスク定義の作成」をクリックします。

ECS Anywhere Create TaskDefinition 2

定義(赤枠で囲った部分)に、次のコードを参考に ECS タスク定義を入力します。

ECS Anywhere Create TaskDefinition 3

{
	"requiresCompatibilities": [
		"EXTERNAL"
	],
	"containerDefinitions": [{
		"name": "nginx",
		"image": "public.ecr.aws/nginx/nginx:latest",
		"memory": 256,
		"cpu": 256,
		"essential": true,
		"portMappings": [{
			"containerPort": 80,
			"hostPort": 8080,
			"protocol": "tcp"
		}]
	}],
	"networkMode": "bridge",
	"family": "Example-ECS-Anywhere-Task-Definition"
}
awslogs 設定版
{
	"requiresCompatibilities": [
		"EXTERNAL"
	],
	"containerDefinitions": [{
		"name": "nginx",
		"image": "public.ecr.aws/nginx/nginx:latest",
		"memory": 256,
		"cpu": 256,
		"essential": true,
        "logConfiguration": {
            "logDriver": "awslogs",
            "options": {
                "awslogs-group": "/ecs/Example-ECS-Anywhere-Task-Definition",
                "mode": "non-blocking",
                "awslogs-create-group": "true",
                "max-buffer-size": "25m",
                "awslogs-region": "ap-northeast-1",
                "awslogs-stream-prefix": "ecs"
            }
        },
		"portMappings": [{
			"containerPort": 80,
			"hostPort": 8080,
			"protocol": "tcp"
		}]
	}],
	"networkMode": "bridge",
	"family": "Example-ECS-Anywhere-Task-Definition",
	"executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
}

「作成」をクリックします。

ECS Anywhere Create TaskDefinition 4

タスク定義が正常に作成されたことを確認します。

ECS Anywhere Create TaskDefinition 5

参考資料

コンソールを使用して外部インスタンスタスク定義を作成する場合は、コンソール JSON エディタでタスク定義を作成する必要があります。

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.