EC2 Container Service (ECS)のプレビューが通りましたので、早速Getting Started通りではありますが、試してみました。 プレビュー用のAWS CLIをまずインストール。AWS CLIは、1.6.5のようです。
$ aws --version aws-cli/1.6.5 Python/2.7.5 Linux/3.10.0-123.el7.x86_64
Clusterをまず作成。もちろんap-northeast-1ではエラー。
$ aws ecs create-cluster --cluster-name MyCluster --region ap-northeast-1 HTTPSConnectionPool(host='ecs.ap-northeast-1.amazonaws.com', port=443): Max retries exceeded with url: / (Caused by <class 'socket.gaierror'>: [Errno -2] Name or service not known)
us-east-1で無事ACTIVEに。
$ aws ecs create-cluster --cluster-name MyCluster --region us-east-1
{
"cluster": {
"clusterName": "MyCluster",
"status": "ACTIVE",
"clusterArn": "arn:aws:ecs:us-east-1:XXXXXXXXXXX:cluster/MyCluster"
}
}
CommunityAMI ami-34ddbe5cを使って、ECS用に最適化したインスタンスをLaunchします。 cloud-initに以下を入力
#!/bin/bash echo ECS_CLUSTER=MyCluster >> /etc/ecs/ecs.config
root volume は、30GBがデフォルトで設定されています。
aws ecs list-container-instances --cluster MyCluster --region us-east-1
{
"containerInstanceArns": [
"arn:aws:ecs:us-east-1:XXXXXXXXXXXXXX:container-instance/be81fda7-5486-4584-89d0-2f8bff6119d3"
]
}
これですが、インスタンスタイプにt2.microを使ったためかもしれませんが、はじめMISSINGでしたが、無事ACTIVEに。
aws ecs describe-container-instances --cluster MyCluster --container-instances be81fda7-5486-4584-89d0-2f8bff6119d3 --region us-east-1
{
"failures": [],
"containerInstances": [
{
"status": "ACTIVE",
"registeredResources": [
{
"integerValue": 1024,
"longValue": 0,
"type": "INTEGER",
"name": "CPU",
"doubleValue": 0.0
},
{
"integerValue": 996,
"longValue": 0,
"type": "INTEGER",
"name": "MEMORY",
"doubleValue": 0.0
},
{
"name": "PORTS",
"longValue": 0,
"doubleValue": 0.0,
"stringSetValue": [
"2376",
"22",
"51678",
"2375"
],
"type": "STRINGSET",
"integerValue": 0
}
],
"ec2InstanceId": "i-0000000000",
"agentConnected": true,
"containerInstanceArn": "arn:aws:ecs:us-east-1:XXXXXXXXXXX:container-instance/be81fda7-5486-4584-89d0-2f8bff6119d3",
"remainingResources": [
{
"integerValue": 1024,
"longValue": 0,
"type": "INTEGER",
"name": "CPU",
"doubleValue": 0.0
},
{
"integerValue": 996,
"longValue": 0,
"type": "INTEGER",
"name": "MEMORY",
"doubleValue": 0.0
},
{
"name": "PORTS",
"longValue": 0,
"doubleValue": 0.0,
"stringSetValue": [
"2376",
"22",
"51678",
"2375"
],
"type": "STRINGSET",
"integerValue": 0
}
]
}
]
}
ECS用インスタンスの中身を確認しました。
$ which docker /usr/bin/docker $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 844d5e0fe2fd amazon/amazon-ecs-agent:latest "/agent" 6 minutes ago Up 6 minutes 127.0.0.1:51678->51678/tcp ecs-agent
dockerのバージョンは、1.3.3
$ docker -v Docker version 1.3.3, build c78088f/1.3.3
後ほどいろいろ検証してみたいと思います。
※Preview通っていないアカウントでは、もちろん利用できません。
$ /home/hiruta/.local/lib/aws/bin/aws ecs create-cluster --cluster-name MyCluster --region us-east-1 A client error (OptInRequired) occurred when calling the CreateCluster operation: The AWS Access Key Id needs a subscription for the service