Skip to content

Instantly share code, notes, and snippets.

@wreulicke
Last active May 31, 2018 10:30
Show Gist options
  • Save wreulicke/8aaae19c14ca73f366248578bc087954 to your computer and use it in GitHub Desktop.
Save wreulicke/8aaae19c14ca73f366248578bc087954 to your computer and use it in GitHub Desktop.
EC2のIPを調べたかった。

AWS CLI ECS編 覚書。

クラスタの一覧

これでECSクラスタの一覧を取得する

aws ecs list-clusters

サービスの一覧

これでECSサービスの一覧を取得する

aws ecs list-services --cluster クラスタ名(or ARN)

サービスの詳細

これでサービスの詳細を取得できるけど使わなかった。 イベントとかの情報が取得できる。

aws ecs describe-services --cluster クラスタ名(or ARN) --services サービス名(or ARN)

サービスに紐付くタスク一覧

これでサービスに紐付くタスクの一覧が取得できる。 ここで取得できる taskARN をメモっておく。

aws ecs list-tasks --cluster クラスタ名(or ARN) --service-name サービス名(or ARN)

タスクの詳細

上記のタスク一覧から取得した taskARN を使って タスクの詳細を取得する。 ここで取得できる、containerInstanceArnをメモしておく。

aws ecs describe-tasks --cluster クラスタ名(or ARN) --tasks タスクID(or ARN)

コンテナインスタンスの情報取得

先ほど取得したコンテナインスタンスのARNを使ってコンテナインスタンスの情報を取得する。 ここで取得できる、ec2InstanceIdをメモしておく。

aws ecs describe-container-instances --cluster クラスタ名(or ARN) --container-instances コンテナインスタンスID(or ARN)

EC2の情報取得

先ほど取得した ec2InstanceIdを使ってEC2インスタンスの情報を取得する。

aws ec2 describe-instances --instance-ids EC2インスタンスID

ワンライナー

CLUSTER_NAME=<your-cluster>
SERVICE_NAME=<your-serive>
aws ecs list-tasks --cluster $CLUSTER_NAME --service-name $SERVICE_NAME | jq .taskArns[] -r | xargs aws ecs describe-tasks --cluster $CLUSTER_NAME --tasks | jq .tasks[].containerInstanceArn -r | xargs aws ecs describe-container-instances --cluster $CLUSTER_NAME --container-instances | jq .containerInstances[].ec2InstanceId -r | xargs aws ec2 describe-instances --instance-ids | jq .Reservations[].Instances[].NetworkInterfaces[]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment