COLUMN
スケーラブルで高速なコンテナ管理サービス「Amazon ECS」の主な機能と使い方
Amazon ECS(Amazon Elastic Container Service)は、Amazon EC2インスタンスを用いてクラスター構成を行うことで、Dockerコンテナ(ホストOS上で設定やファイルを独立して作成できる箱のようなもの)をラッピングして実行、停止を簡単に行ってくれる、拡張性とパフォーマンスに優れた管理サービスです。今回はAmazon ECSのメリットや主要機能、料金体系について紹介します。
Amazon ECSとは何か
Amazon ECS は、AWSのAmazon EC2インスタンスを用いて仮想サーバー構築によく用いられるDockerコンテナを簡単に実行、停止、管理できる非常にスケーラブルで高速な管理サービスです。Dockerコンテナに対応しており、Amazon EC2インスタンスのマネージドクラスターでアプリケーションを簡単に実行することができます。
Amazon ECSを使用すると、自社でクラスターインフラストラクチャのインストール、運用、スケールを行う必要性から解放されます。簡単なAPI呼び出しを使用することで、コンテナ対応アプリケーションの起動と終了、クラスターの完了状態のクエリ、多くの使い慣れた機能(セキュリティグループ、Elastic Load Balancing(ELB)、Elastic Block Store (EBS)ボリューム、IAMロールなど)へのアクセスを実行することができます。
Amazon ECSの主な機能とメリット
Amazon ECSの主な機能とメリットについて解説します。
主な機能
Amazon ECSはAWSのほかのサービスと連携してさまざまな機能を実現します。
単一または複数のコンテナを「Task」で管理する機能
Amazon ECSは単一または複数のコンテナをTaskと呼ばれる形で管理しています。コンテナ・インスタンスのリソースに余裕がある場合には、同一のTaskを複数動作させることが可能です。
「Scheduler」によるTaskの自動配備/自動復旧機能(Cluster)
ClusterはSchedulerによってTaskの自動配備/自動復旧を行う機能を持っています。Amazon ECSのSchedulerはService定義に従いあらかじめ設定された数のTaskをコンテナ・インスタンスに自動配備します。
Taskが異常な状態(ELBのヘルスチェックが失敗したなど)になった場合は自動で削除し、再作成してくれます。
「Elastic Load Balancing」と連携したTaskのロードバランシング機能(AWS機能連携)
Amazon ECSは、Elastic Load Balancingと連携してTaskのロードバランシングを行うことが可能です。
「Amazon CloudWatch」でコンテナ・インスタンスの増減管理機能(AWS機能連携)
「Auto Scaling」でコンテナ・インスタンスの管理が実行されており、Amazon CloudWatchのアラートに連携してインスタンスの増減が可能です。
さまざまなセキュリティ管理機能
Amazon ECSのクラスター構成を行う場合は、自動でAmazon VPCを構築し、ネットワークACL(アクセスコントロールリスト)やセキュリティグループで管理を行うことにより、AWSのセキュリティ管理がそのまま適用できます。
「AWS CloudTrail」で操作ログ管理機能
Amazon ECSに対するAPIの実行はAWS CloudTrailにログが残るので、API証跡を取得することが可能です。
Amazon ECSでできること
Amazon ECSによって、主に以下のようなことが実現できます。
あらゆるアプリケーションを簡単にコンテナ化
長時間実行されるアプリケーションやマイクロサービスからバッチジョブや機械学習のアプリケーションなど、あらゆる種類のコンテナ化されたアプリケーションを簡単に作成することができます。
コンテナのデプロイ管理の効率化
Amazon ECSは、Docker コンテナをサポートする拡張性とパフォーマンスに優れたコンテナオーケストレーションサービスです。これにより、コンテナ化されたアプリケーションを AWS で簡単に実行およびスケールできます。Amazon ECS では、独自のコンテナオーケストレーションソフトウェアをインストールおよび操作したり、仮想マシンのクラスターを管理およびスケールしたり、それらの仮想マシン上のコンテナをスケールしたりする必要はありません。
バッチ処理(ScheduleTask)によるアプリケーションの効率化
Amazon EC2のオンデマンドインスタンス、リザーブドインスタンス、スポットインスタンスでマネージドスケジューラーまたはカスタムスケジューラーを使用してバッチワークロードを実行できますので、アプリケーションの効率的なリソース配分とコストパフォーマンスの効率化につながります。
スピーディーなサービス操作
AWSのサービスを管理するための統合ツールである、AWS Command Line Interface(CLI)を使用して、コマンドラインから複数のAWSサービスを制御し、スクリプトを使用して自動化することが可能です。AWS CLIを利用することでサービスのスピーディーな操作が可能になります。
セキュアな環境構築
個々のユーザー独自のAmazon VPCでコンテナが起動されるため、それぞれ独自のAmazon VPCセキュリティグループなどを使用できます。ほかのユーザーとリソースを共有することがないため、セキュアな環境を構築できます。
AWSとの統合によるパフォーマンスの実現
AWSは、長年にわたってスケーラビリティの高いサービスを運用してきた経験から培った技術で構築されています。Amazon ECSは、ほかのAWSサービスと密接に統合されています。そのため、コンテナ化した幅広いアプリケーションを構築および実行するための、最適かつ包括的なソリューションを実現できます。
Amazon ECSの料金体系と活用例
Amazon ECSの料金体系と活用例について解説します。
Amazon ECSの料金体系
Amazon ECSには、2つの料金モデルがあります。
Fargate起動タイプモデル
コンテナ化されたアプリケーションに必要なvCPUとメモリリソースに対する料金が発生します。vCPUとメモリリソースは、コンテナイメージを取得した時点からAmazon ECSタスクが終了するまでを対象として計算され、最も近い秒に切り上げられます。この場合1分間の料金が最低料金として適用されます。試験的な運用のように、コンテナ化されたアプリケーションを利用する時間が限定されている場合等には、こちらの料金モデルが向いています。
Amazon EC2起動タイプモデル
追加料金は発生しません。アプリケーションの保存や実行のために作成した AWSリソース(Amazon EC2インスタンス、EBSボリュームなど)に対してのみ料金が発生します。支払いは実際に使用した分だけで、最低料金や初期費用は不要です。コンテナ化されたアプリケーションを常時稼働させておく必要がある場合等には、こちらの料金モデルが適しています。
AWS ECSの活用例
Amazon ECSは、以下のように活用することができます。
最適化されたAMI(Amazon マシンイメージ)の利用
Amazon ECSコンソールで、Amazon ECS向けに最適化されたAmazon ECS-optimized AMIが利用できます。すでにAmazon ECSが設定されている環境が、サーバー構築の段階で一気に、また敏速に構築できますので、短時間でのAmazonECS環境構築が可能です。
マイクロサービスへの応用
Amazon ECSのAWSサービスへのネイティブ統合の活用例としては、マイクロサービスアプリケーションの実行が挙げられます。
マイクロサービスは、小さな独立した複数のサービスでソフトウエアを構成する、ソフトウエア開発に対するアプローチです。複雑なアプリケーションを小型で独立したサービスに分解する、ソフトウェアアーキテクチャ手法により構築されています。マイクロサービスアーキテクチャはアプリケーションのスケーリングを容易にし、開発期間を短縮するため、ユーザーにとっては、イノベーションの実現と新機能の市場投入の加速化につながります。Amazon ECSによるコンテナの導入は、このような小さな分離型サービスを実行するのに最適で、継続的インテグレーションおよび継続的デプロイ(CICD)パイプラインが可能です。
クラウドへのアプリケーション移行
コードを変更することなく、従来のエンタープライズアプリケーションをコンテナ化してAmazon ECS に簡単に移行できます。例えば、起動タイプのAmazon ECSでWordPressを動かすといったことも可能ですので、コンテナアプリケーションを一から作り直す必要がありません。
機械学習の構築
トレーニングおよび推論の両方のMLモデルを簡単にコンテナ化できますので、最小限の機械学習のシステムを簡単に構築できます。さまざまなプラットフォームに配置可能な結合度の低い分散サービスで構成されるMLモデルを作成したり、アプリケーションが分析中のデータにアクセスしたりできます。
まとめ
Amazon ECSはコンテナ化されたアプリケーションをAWSで簡単に実行およびスケールできます。AWSのほかのサービスと連携して、さまざまな機能を実現できます。コスト最適化の環境のもとでコンテナに関して幅広いスケーリングとインフラストラクチャー管理がサーバーレスで可能になります。
24時間365日対応可能なクラウド監視・運用代行で、あなたをシステム運用から解放します!
アクセス状況に応じたWEBシステムスケーリングの自動化を検討しましょう!
クラウド運用に興味がある人に読んで欲しいコラム:
RECOMMEND
その他のコラム
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。