またーり くおんつ ノート

お勉強した初歩的なことを書くチラシの裏

AWS ECSに触れてみる day3

AWS ECS CLIを入れてみる

AWS ECS CLIAWSGithubで公開しているECSでDocker composeがサポートされるようになるらしい. github.com

AWS CLIだけでも出来そうだけど、まずこっちを使ってみるか.
なお、Windowsは無理らしい.

Macの場合は以下から入手
回線が細いのか意外と時間かかった…

$ sudo curl -o /usr/local/bin/ecs-cli https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-darwin-amd64-latest

アクセス権限を付与して

$ sudo chmod +x /usr/local/bin/ecs-cli

ちゃんと入ったかチェックして

$ ecs-cli --version
ecs-cli version 0.6.4 (5b0fd9c) 

OK!

AWS ECS CLIのSetting

とりあえずecs-cli-demoというクラスターを作る場合は以下で出来た.
keyは昔作ったIAMユーザーのものを使った.

$ ecs-cli configure --region us-east-2 --access-key $AWS_ACCESS_KEY_ID --secret-key $AWS_SECRET_ACCESS_KEY --cluster ecs-cli-demo
INFO[0000] Saved ECS CLI configuration for cluster (ecs-cli-demo)

ECS CLI チュートリアル

あとは次の公式を参考にやれば動くはず.
昨日ブラウザのコンソールから行った内容をコマンドラインでやれるようになってるはず. スクリプトで全部かけたら自動化が捗る. docs.aws.amazon.com

クラスターの作成

RSASSHする設定で, t2.mediumが2つ立ち上がるクラスターになる.
デフォルトだとポートは80になるらしいが, –portオプションで変更できる.

$ ecs-cli up --keypair id_rsa --capability-iam --size 2 --instance-type t2.medium
INFO[0003] Created cluster  cluster=ecs-cli-demo region=us-east-2                                                                    
INFO[0005] Waiting for your cluster resources to be created...                   
INFO[0006] Cloudformation stack status  stackStatus="CREATE_IN_PROGRESS"                                                                         
ERRO[0038] Failure event  reason="Parameter validation failed: parameter value id_rsa for parameter name KeyName does not exist. Rollback requested by user." resourceType="AWS::CloudFormation::Stack"             │
ERRO[0038] Error executing 'up': Cloudformation failure waiting for 'CREATE_COMPLETE'. State is 'ROLLBACK_COMPLETE' 

SSH アクセス用の id_rsa キーペア (お客様のキーペアに置き換えてください)

ワロタ. デスヨネー.

今日はもう時間がないので、明日やろうw

クラスターのクリーンアップ

立ち上がってないけど, 立ち上がってたら課金されるので, 以下で消せるようだ.
一応upに成功してないけど, 念のためやっとこう.

$ ecs-cli down --force
INFO[0003] Waiting for your cluster resources to be deleted...              
INFO[0003] Cloudformation stack status stackStatus="DELETE_IN_PROGRESS"                                                                         
INFO[0035] Deleted cluster  cluster=ecs-cli-demo 

deleteされたよ!って出たけど、なんか作られてたんかな…