用語集

FargateEC2の管理不要
タスクコンテナ1つに対応する。タスク定義とタスクはクラスとインスタンスの関係。タスク定義を更新すると別のタスクが立ち上がり入れ替わる
サービスタスクが幾つ必要かとかALBと紐づけるとか。
クラスタEC2の塊、Fargateだと意識することはない。
CMDDocker起動時に実施するCMD。起動時に指定するものと同じものが定義できると考えるべし。docker exec -it xxx /bin/bashの/bin/bashの部分だ
ENTRYPOINTDocker起動時に実施するコマンドではCMDと一緒だが、上書き不可能だったりもできる。ENTRYPOINTを指定したときは、runの後の記述は起動するプロセスを特定する指示としては機能しない

aws-cli ecs編

aws ecs list-task-definitionsタスク定義の一覧
aws ecs describe-task-definition --task-definition test-mysql:2タスク定義の詳細。このままではRegisterできない。

Blue/Greenの時のために整形

aws ecs describe-task-definition --task-definition test-mysql:2 |  jq '.taskDefinition | del(.status, .compatibilities, .taskDefinitionArn, .requiresAttributes, .revision) '

https://dev.classmethod.jp/articles/describe-task-definition-to-register-task-definition/

CMDとENTRYPOINT

ENTRYPOINT

固定で与えるものなので、docker run -it xxx 'コマンド'が実行時にentrypointに加わる

/bin/bash -cdocker run it xxx 'ls'ls
/usr/bin/gitdocker run it xxx 'log'git log

CMD

Docker runで何も指定しなかったときの実行コマンド。またはentrypointでのデフォルト引数。

EntryPoint設定値CMD設定値docker runコマンド実際のコマンド
なしlsdocker run -it xxxls
/bin/bash -clsdocker run -it xxxls

Tips

起動したPublic IPの確認。タスクから詳細(タスク定義ではない!)

ローカルでECSタスク定義実行

https://dev.classmethod.jp/articles/ecs-local/

https://dev.classmethod.jp/articles/aws-devday-2019-fargate-deploy/

Secret Managerとの連携

https://dev.classmethod.jp/articles/try-to-protect-aws-fargate-container-environment-variable-with-aws-secrets-manager/


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS