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

今からでも遅くない。ECSで始めるコンテナ運用 #devio2020

今からでも遅くない。ECSで始めるコンテナ運用 #devio2020

コンテナをまだ使ったことない方に向けて、ECSを活用したコンテナの始め方、運用についてお伝えいたします。

■Developers.IO 2020 CONNECTのイベントページ
https://classmethod.jp/m/devio_2020_connect/

jukiya330

July 03, 2020
Tweet

More Decks by jukiya330

Other Decks in Technology

Transcript

  1. 8 そもそもコンテナとは サーバー ホストOS 仮想化ソフトウェア ゲスト OS ゲスト OS ゲスト

    OS アプリC アプリB アプリA 仮想マシン(VM) サーバー ホストOS コンテナ Runtime アプリC アプリB アプリA コンテナ 仮想マシン(VM)とコンテナを比較してみる
  2. 16 ECSとは Amazon Elastic Container Service (Amazon ECS) https://aws.amazon.com/jp/ecs/ -

    AWSのコンテナオーケストレーションサービス - 数千個のコンテナでも迅速に起動 - 負荷に応じた自動スケーリング - 各AWSサービスとの連携 - 高い可用性
  3. 17 ECSとは Amazon Elastic Container Service (Amazon ECS) https://aws.amazon.com/jp/ecs/ -

    AWSのコンテナオーケストレーションサービス - 数千個のコンテナでも迅速に起動 - 負荷に応じた自動スケーリング - 各AWSサービスとの連携 - 高い可用性 Dockerコマンドの細かいオプションを知らなくても大丈夫。 ECSが解決してくれる。
  4. 18 ECSで登場する用語、サービス - AWSのコンテナイメージレジストリ - コンテナに関する情報を記載したもの(複数のコンテナの指定も可能) - dockerコマンドで行う操作をGUIでできる。 - タスク定義に基づいて起動されたタスク群のこと

    - 維持するタスクの数、起動タイプ(EC2/Fargate)、各AWSサービスとの 連携を設定したもの - 環境の境目、タスクの実行を制御 Amazon Elastic Container Registry タスク定義 サービス タスク クラスター
  5. 19 ECSで登場する用語、サービス Amazon Elastic Container Registry タスク定義 サービス クラスター -

    イメージの場所 - ネットワーク設定 - CPU/Memory - IAMロール - ログドライバ - などなど 参照 - タスクの起動数 - ELBへの登録 - 起動タイプの選択 - などなど EC2 / Fargate タスク(群) コンテナ
  6. 20 起動タイプの違い(EC2とFargate) Amazon EC2 AWS Fargate - ECS用に事前構成されたAMIからEC2を起動する - ECSコンテナエージェントが中で動いていて、エージェント

    がECSと通信してコンテナを管理する。 - AWSマネージドサービス - サーバの管理不要 - コンテナの管理に集中できる
  7. 21 EC2起動タイプを使用する際の考慮点 Amazon EC2 - EC2とコンテナ両方のスケーリングを意識する必要がある。 - AutoScalingとサービスの管理 - ※Capacity

    Providerで解決できる場合がある。 - OS、ECSコンテナエージェント等の更新作業 - リリース時にサーバ停止のタイミングを考慮する必要がある。
  8. 22 Fargate起動タイプを使用する際の考慮点 - 一時ローカルボリュームが約20GB制限 - (プラットフォームバージョン 1.4の場合) - EC2に比べざっくり20%ほどコストが高い -

    (リソースの単純比較) - Fargate Spotの利用でコストは下げられる AWS Fargate https://dev.classmethod.jp/articles/compare-fees-for-fargat- and-ec2-2019-1/