Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Fargateで夢は見られるのか

hatappi
August 31, 2018

 Fargateで夢は見られるのか

#Speee_TGIF

hatappi

August 31, 2018
Tweet

More Decks by hatappi

Other Decks in Programming

Transcript

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

    View full-size slide

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

    View full-size slide

  3. 今⽇の主役

    View full-size slide

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

    View full-size slide

  5. ECSでの登場⼈物
    • task definition
    • どのcontainerを⽴てるかやボリュームの追加などを⾏う

    docker-compose.ymlを作るイメージに近い
    • task
    • タスク定義のインスタンス化したもの
    • service
    • 指定した数のタスクを実⾏、管理する
    • cluster
    • taskを配置できるインスタンスの集まり

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. 更新されない

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  12. Fargate
    IUUQTBXTBNB[PODPNKQCMPHTOFXTBXTGBSHBUFBQSPEVDUPWFSWJFX
    • ユーザーが意識して管理するのはタスクの
    管理
    • クラスター管理や使⽤時の最適化も必要な

    • ⾃分の使いたいメモリ、vCPUの組み合わ
    せを指定するだけ
    • Fargate⾃体はECSに組み込まれているの
    で新しくAPIを覚えていくみたいな必要は
    ない

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  15. 価格は?
    • 1vCPUごとで1時間あたり0.0632 USD

    1GBごとでメモリは1時間あたり0.0158 USD
    • 1秒あたりの最低1分

    docker pullの開始からタスクの終了までが計算さ
    れる

    View full-size slide

  16. 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 単位)

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  19. タスク定義

    View full-size slide

  20. 最近のFargate

    View full-size slide

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

    View full-size slide