Slide 1

Slide 1 text

Fargateで 夢は⾒られるのか? Speee エンジニアTGIF UZOU事業部 畑中 悠作

Slide 2

Slide 2 text

About me • Yusaku Hatanaka (@hatappi) • Speee, Inc • Ruby, Go, TypeScript, etc. • 煎り⼤⾖が好き

Slide 3

Slide 3 text

今⽇の主役

Slide 4

Slide 4 text

ECSとは? • Amazon Elastic Container Service • コンテナを良い感じに管理してくれ る

Slide 5

Slide 5 text

ECSでの登場⼈物 • task definition • どのcontainerを⽴てるかやボリュームの追加などを⾏う
 docker-compose.ymlを作るイメージに近い • task • タスク定義のインスタンス化したもの • service • 指定した数のタスクを実⾏、管理する • cluster • taskを配置できるインスタンスの集まり

Slide 6

Slide 6 text

ECS最適化されたAMIを指定した AutoScalingGroupのDesiredCapacityをあげる タスクを実⾏ AutoScalingGroupのDesiredCapacityを0にする バッチの実⾏開始

Slide 7

Slide 7 text

タスクが起動する下回りのインス タンスを管理しないといけない

Slide 8

Slide 8 text

AutoScalingGroupで起動する AMIをメンテナンスしていかないと

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

更新されない

Slide 11

Slide 11 text

出来るだけメンテナンス するものは減らしたい

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Fargateとは? • 新しいサービスというよりはECSのEC2と並ぶ新し い起動タイプという捉え⽅がよいかも • ECSにて下回りのインスタンス群の管理を⾃分でし なくてもよくなる

Slide 14

Slide 14 text

Fargate IUUQTBXTBNB[PODPNKQCMPHTOFXTBXTGBSHBUFBQSPEVDUPWFSWJFX • ユーザーが意識して管理するのはタスクの 管理 • クラスター管理や使⽤時の最適化も必要な い • ⾃分の使いたいメモリ、vCPUの組み合わ せを指定するだけ • Fargate⾃体はECSに組み込まれているの で新しくAPIを覚えていくみたいな必要は ない

Slide 15

Slide 15 text

ECS最適化されたAMIを指定した AutoScalingGroupのDesiredCapacityをあげる コンテナを⽴ち上げてタスクを実⾏ AutoScalingGroupのDesiredCapacityを0にする バッチの実⾏開始

Slide 16

Slide 16 text

ECS最適化されたAMIを指定した AutoScalingGroupのDesiredCapacityをあげる コンテナを⽴ち上げてタスクを実⾏ AutoScalingGroupのDesiredCapacityを0にする バッチの実⾏開始

Slide 17

Slide 17 text

価格は? • 1vCPUごとで1時間あたり0.0632 USD
 1GBごとでメモリは1時間あたり0.0158 USD • 1秒あたりの最低1分
 docker pullの開始からタスクの終了までが計算さ れる

Slide 18

Slide 18 text

CPUとメモリの組み合わせ CPU メモリの値 0.25 vCPU 0.5 GB、1 GB、および 2 GB 0.5 vCPU 1 GB、2 GB、および 3 GB 1 vCPU 最低 2 GB および最⼤8 GB
 (1 GB 単位) 2 vCPU 最低 4 GB および最⼤16 GB
 (1 GB 単位) 4 vCPU 最低 8 GB および最⼤30 GB
 (1 GB 単位)

Slide 19

Slide 19 text

監視周り • Service単位ではCPU, メモリ使⽤率はCloudWatch メトリクスからとることは出来る • 実⾏しているコンテナごとにメトリクスを取りた い!

Slide 20

Slide 20 text

監視周り • Datadog (https://www.datadoghq.com/) • IntegrationによってCloudWatchで取得できるメトリク スを収集できる • コンテナ単位はタスクメタデータを介して取得すること が出来る • お⾦はかかる IUUQTBXTBNB[PODPNKQBCPVUBXTXIBUTOFXBXTGBSHBUFQMBUGPSNWFSTJPO

Slide 21

Slide 21 text

タスク定義

Slide 22

Slide 22 text

最近のFargate

Slide 23

Slide 23 text

まとめ • Fargateについて紹介しました • Fargateを使うことで実⾏されるタスクに集中できる • 今稼働しているインスタンスのスペックをそのままもって くると割⾼かも • コンテナに割り当てるリソースだけを意識すれば良いの スペックの⾒直しをしても良いかも • 夢を⾒る前に現実を⾒るのも⼤事