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

Fargateのプロダクション導入で得られた経験と知見

k-masatany
September 06, 2018

 Fargateのプロダクション導入で得られた経験と知見

Developers Summit 2018 FUKUOKA 登壇資料

k-masatany

September 06, 2018
Tweet

More Decks by k-masatany

Other Decks in Technology

Transcript

  1. Fargate のプロダクション導入で
    Fargate のプロダクション導入で
    得られた経験と知見
    得られた経験と知見
    Developers Summit 2018 FUKUOKA
    Developers Summit 2018 FUKUOKA
    政谷 賢祐(@k_masatany)
    2018.09.06

    View Slide

  2. whoami
    whoami
    株式会社Fusic
    政谷 賢祐 @k_masatany
    Kensuke Masatani
    技術開発部 エンジニア
    https://k‑masatany.hatenablog.com/

    View Slide

  3. whoami
    whoami
    株式会社Fusic
    政谷 賢祐 @k_masatany
    Kensuke Masatani
    技術開発部 エンジニア
    https://k‑masatany.hatenablog.com/

    View Slide

  4. View Slide

  5. 色々サービスも展開しています

    View Slide

  6. 今回発表する内容は
    今回発表する内容は
    Fusic が AWS の技術支援をする案件の中で
    Fusic が AWS の技術支援をする案件の中で
    得られた知見をまとめたものです
    得られた知見をまとめたものです

    View Slide

  7. 支援先
    支援先

    View Slide

  8. 株式会社YAMAP さん
    https://yamap.co.jp/

    View Slide

  9. YAMAP さんもエンジニアを募集しています。
    https://yamap.co.jp/

    View Slide

  10. 宣伝終わり
    宣伝終わり

    View Slide

  11. お詫び
    お詫び
    7分という短い時間なので、
    AWSやECSの基本的な知識についての
    説明や補足はほとんどありません。

    View Slide

  12. Fargate
    Fargate

    View Slide

  13. AWS Fargate
    AWS Fargate
    Amazon ECS や EKS 上でコンテナを実行するためのサービス
    今年の 7 月に東京リージョンで利用可能に
    正確に言うとFargate 起動タイプと言う
    コンテナの実行に(自分たちが管理する)EC2が不要

    View Slide

  14. これまでの EC2 起動タイプ
    これまでの EC2 起動タイプ

    View Slide

  15. この EC2 はユーザーの管理下にある
    この EC2 はユーザーの管理下にある

    View Slide

  16. コンテナだけ使いたいけどサーバー管理が必要
    コンテナだけ使いたいけどサーバー管理が必要

    View Slide

  17. Fargate
    Fargate
    でどうなったか
    でどうなったか

    View Slide

  18. Fargate 起動タイプ
    Fargate 起動タイプ

    View Slide

  19. 管理する EC2 がなくなった(EC2 自体は存在する)
    管理する EC2 がなくなった(EC2 自体は存在する)

    View Slide

  20. いいことばかりではないです
    いいことばかりではないです

    View Slide

  21. 運用する中で見えてきた
    運用する中で見えてきた
    メリット/デメリット
    メリット/デメリット

    View Slide

  22. メリット
    メリット
    クラスタマネジメントが不要になる(可能性がある)
    ブルー/グリーンデプロイ用の冗長リソースが不要
    すでに ECS 環境がある場合の移行コストはかなり低い
    デメリット
    デメリット
    ハイスペックなインスタンスが必要な要件の場合は使えない
    EFS や S3 のマウントができない(2018 年 9 月 6 日現在)
    単純な比較をするとコストが高い
    問題発生時の切り分けが難しい

    View Slide

  23. メリット
    メリット

    View Slide

  24. クラスタマネジメントが不要になる
    クラスタマネジメントが不要になる
    (可能性がある)
    これまではEC2の状況も管理する必要があった
    これまではEC2の状況も管理する必要があった
    クラスタインスタンスの空きリソースの確認
    各インスタンスへのタスクの分散
    インスタンスのスケールとタスクのスケールの調整

    View Slide

  25. クラスタマネジメントが不要になる
    クラスタマネジメントが不要になる
    (可能性がある)
    Fagateの場合は
    Fagateの場合は
    そもそも管理するインスタンスが無い
    1タスク1インスタンスなので分散は考えなくてよい
    アプリケーションオートスケーリングで
    比較的簡単にスケールイン/アウトできる

    View Slide

  26. ブルー/グリーンデプロイ用の
    ブルー/グリーンデプロイ用の
    冗長リソースが不要
    冗長リソースが不要
    EC2起動タイプ
    ブルー/グリーンデプロイを実行するためには
    一時的に2倍の容量が必要だった
    Fargate起動タイプ
    新しいコンテナイメージでタスクを起動するだけでOK

    View Slide

  27. すでに ECS 環境がある場合の
    すでに ECS 環境がある場合の
    移行コストはかなり低い
    移行コストはかなり低い
    既に ECS を使っている環境があれば、
    ほぼノーコストでFargateへの移行ができると思う
    実際にEC2起動タイプからFargate起動タイプへ
    移行した際の検証~移行までの実働時間は2 ~ 3日程度

    View Slide

  28. デメリット
    デメリット

    View Slide

  29. ハイスペックなインスタンスが
    ハイスペックなインスタンスが
    必要な要件の場合は使えない
    必要な要件の場合は使えない
    Fargate で用意されているリソースは今の所下記の通り
    CPU メモリ
    0.25 vCPU 0.5 GB、1 GB、および 2 GB
    0.5 vCPU 最低1 GB および最大4 GB (1 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 Slide

  30. ハイスペックなインスタンスが
    ハイスペックなインスタンスが
    必要な要件の場合は使えない
    必要な要件の場合は使えない
    CPU自体もC系に比べ貧弱なので、数値以上に処理能力が落ちる
    CPU メモリ
    0.25 vCPU 0.5 GB、1 GB、および 2 GB
    0.5 vCPU 最低1 GB および最大4 GB (1 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 Slide

  31. EFS や S3 のマウントができない
    EFS や S3 のマウントができない
    (2018 年 9 月 6 日現在)
    (2018 年 9 月 6 日現在)
    永続化データを保持する為に EFS や S3 を使いたい
    EC2起動タイプであれば、ベースのインスタンスに
    手を加えることで実現できる
    Fargate起動タイプではベースのインスタンスに
    手を加えることができないため、
    EFS等をマウントすることができない。
    将来的には起動オプションに付いてくると思っている

    View Slide

  32. 単純な比較をするとコストが高い
    単純な比較をするとコストが高い
    単純に同じスペックのEC2に比べ、
    時間当たりの単価が高い(1.5倍くらい)
    RIも無いため、さらに価格差が開く
    ただ、時間の経過と共にコストは下がっていくと思う
    RIも来ると思う(願望)

    View Slide

  33. 問題発生時の切り分けが難しい
    問題発生時の切り分けが難しい
    開発者がログインできるサーバーがないので、
    検証中に SSH ‑> dockerᅠexec ができない
    踏み台コンテナを用意するなどの細工が必要
    安定するまでは中々しんどいと思う

    View Slide

  34. 他にも制約がちらほら
    他にも制約がちらほら
    awsvpcモードなのでsubnet内のIPの数以上の
    タスクを起動できない
    ENIがtask一つ一つにアタッチされる
    タスクの起動時間はそれほど早くない

    View Slide

  35. 考えることは多いですが
    考えることは多いですが
    きちんと考えて構築すれば
    きちんと考えて構築すれば
    運用はぐっと楽になります
    運用はぐっと楽になります

    View Slide

  36. まとめ
    まとめ
    Fargate は「銀の弾丸」ではない
    今の所、制約は色々と付いているが、
    要件が噛み合えば、運用を意識しなくて良い環境を作れる
    サービスの成熟が非常に待ち遠しいサービスだと思った

    View Slide

  37. 謝辞
    謝辞

    View Slide

  38. 株式会社 YAMAP 様
    株式会社 YAMAP 様
    支援業務で得られた内容を発表することを
    支援業務で得られた内容を発表することを
    許可していただきありがとうございます
    許可していただきありがとうございます

    View Slide

  39. Fusic CO.,LTD.
    ご静聴ありがとうございました
    ご静聴ありがとうございました
    株式会社 Fusic はテクノロジーが大好きな
    エンジニアを募集しています
    https://fusic.github.io
    https://fusic.github.io

    View Slide