クラウド導入Dockerコンテナ基盤(AWS Fargate/Amazon ECS)

DockerコンテナやAWS Fargate、Amazon ECSの使い方に習熟したMMMが、より俊敏なコンテナ基盤を構築します。

最先端の仮想化技術「Dockerコンテナ」とAWSで、ビジネスのスピードを加速させます

システムインフラの運用にあたって、オンプレミス(オンプレ)環境の管理や、仮想サーバーのセットアップ(プロビジョニング)、アプリケーションの配備(デプロイメント)の煩雑な作業、運用・保守コストの増加などにお悩みではありませんか?

Docker(読み方は「ドッカ―」です)コンテナ技術は、アプリケーションのプラットフォームとなる仮想的な「コンテナ」をOS上に構築することで、効率的で利便性の高いサービス提供を可能にします。

MMMは、様々なユースケースにDockerコンテナとAWSを採用してきた実績があります。AWSの様々なサービスを活用することで、Dockerコンテナ基盤を低コストで実現します。

AWS FargateとAmazon ECSを使いコンテナ基盤を導入

MMMはコンテナ基盤の導入にあたり、AWSでDockerコンテナを実行するためのサーバーレス技術として、AWS Fargate(読み方は「ファーゲート」です)や、Amazon ECS(読み方は「イーシーエス」です)などを組み合わせて利用します。

AWS FargateはAWSが提供するDockerコンテナ向けサーバーレスコンピューティング・エンジンで、Amazon ECSはAWS上でDockerコンテナを実行・管理するサービスです。

MMMは、AWS FargateやAmazon ECSの使い方に習熟しているため、どのようなビジネスにおいてもコンテナ技術の導入・活用が可能です。貴社のビジネスにフィットするDockerコンテナ基盤の導入を、ワンストップでサポートします。

「Dockerコンテナ基盤(AWS Fargate/Amazon ECS)」の特長

オートスケーリング速度・耐障害性の向上

AWS FargateやAmazon ECSをベースとしたコンテナ技術を活用することで、弾性の高いシステムインフラを実現し、オートスケーリング速度や耐障害性を向上させることが可能です。

インフラコストの最適化

自社保有システム(オンプレミス)や仮想サーバーと比較して、コンテナ技術はシステムリソースの利用が効率的です。使い捨てのできるインフラ(Immutable Infrastructured)であり、安価なスポットインスタンスも活用できるようになります。

機能開発・改修スピードの向上

AWS FargateやAmazon ECSは、環境構築・使い捨てが容易なサービスです。Dockerコンテナ自体の動作の高速性に加え、アプリケーションの配備(デプロイメント)も非常に高速になります。

AWSで構築するDockerコンテナ基盤のシステムアーキテクチャー

DockerコンテナをAWSで実行するAWS FargateとAmazon ECSを用いて、システムの一元管理を行います。AWS FargateとAmazon ECSを使うことで高い移植性と柔軟性を実現し、アプリケーション開発・テスト・運用のシステムライフサイクルを加速化させます。

1AWSでのコンテナ運用をサポート

AWS Fargateは、AWSのフルマネージドサービスです。フルマネージドサービスとは、機能を利用できるようにするだけでなく、運用・監視なども含めてAWSが一括で行ってくれるサービスを指します。煩雑な管理業務をAWSに任せることができ、非常に有用なサービスです。

AWS Fargateでは、システム運用上、欠かすことができないオートスケーリングやロードバランサーはもちろん、コンテナタスクや強力なスケジューラーも含めて、AWSが提供します。

2仮想サーバーの管理を不要に

AWS FargateとAmazon ECSを使うことで、難易度が高いコンテナ基盤技術の運用をAWSのマネージドサービスで実現できます。仮想サーバーのプロビジョニングや管理などの煩雑な作業をAWSがすべて行ってくれるため、エンジニアの負担を大きく減らすことができます。

3他のAWSサービス群と連携

AWS Fargateは、Amazon VPC(Amazon Virtual Private Cloud)や、Amazon CloudWatchに加え、コンテナ運用に欠かせない継続的インテグレーション(CI)/継続的デプロイメント(CD)サービスであるAWS CodePipeline(読み方は「コードパイプライン」です)など、様々なAWSサービスとの連携が容易です。使い方を工夫することで、多様なユースケースに対応できます。

Dockerコンテナ基盤(AWS Fargate/Amazon ECS)の導入の流れ

お客様とMMMが一つのチームとなり、AWS FargateとAmazon ECSを使ってコンテナ基盤技術の導入を推進します。

1現状の課題とゴールの定義

開発の枠組みやスピード、アプリケーションのデプロイや本番システムの運用などに関して現在の課題をヒアリングさせて頂き、コンテナ基盤を活用することで実現したいゴールを両社で確認します。

2コンテナ導入の方針検討とご提案

課題解決とゴールの実現に向け、AWSを活用したコンテナ基盤の導入をご提案します。コンテナ基盤だけではなく、必要に応じてアプリケーション開発の枠組みやデプロイメントフローの整備・支援も併せてのご提案も可能です。

3コンテナ基盤化支援

コンテナ導入の方針について両社で合意後、移行の対象となるインフラや、新規に導入するシステムのコンテナ化に向けて、事前準備を進めていきます。

4コンテナ基盤の構築・移行

コンテナ化の事前準備が完了したら、コンテナ基盤を構築して対象システムを移行させ、稼働を開始します。

5継続的改善

コンテナ基盤が稼働したタイミングで、適切な監視の実装やデータメトリクス化を実施し、継続的なモニタリングと改善を進めていきます。

対応するシステムの例

マイクロサービス・分散システム

コンテナ基盤を活用したシステムインフラの抽象化は、状態を保持しないステートレスなマイクロサービス・分散システムにマッチします。貴社のビジネスに合った、システムのデザインパターンを実現可能です。

Web-API

Webサービス(SaaS)や業務システム、モバイルアプリケーションのバックエンドなど、疎結合なWeb-API(Application programming interface)の基盤と、コンテナ技術の相性は抜群です。

横断的な開発・テスト基盤

コンテナ基盤は、環境の自由度や再現性が高く、いつどこで実行しても同じ環境が得られます。本番システムはもちろん、横断的な開発・テスト基盤にも活用できます。

開発者の声

取締役 技術責任者
佐々木 悠人

AWS FargateやAmazon ECSをはじめとしたAWSのコンテナ技術により、オートスケール速度やシステム可用性を向上させることができます。コンピューティングリソースの最適化と、開発フローの整備も行うことで、より事業にフォーカスできる環境を作り上げることが可能です。

AWS FargateやAmazon ECSの使い方に習熟したMMMのエンジニアリングチームが、AWSとコンテナ技術の活用によって、貴社ビジネスの俊敏性を高めます。

プロジェクト・マネージャー
下條 真嗣

AWS FargateやAmazon ECSなどのコンテナ技術を適切に用いることで、移植性・柔軟性・高速性が高まり、効率化を実現できます。アプリケーション開発のフローや、継続的インテグレーション・デプロイメントなど、システムのライフサイクル全体を見直せば、さらに効果を発揮できます。

MMMは、AWS FargateやAmazon ECSの使い方に加えて、システム全体のライフサイクル最適化のサポートが可能です。

事例紹介Case

よくあるご質問

QAWS Fargateとは何ですか?

A

AWS Fargate(読み方は「ファーゲート」です)とは、AWSが提供するDockerコンテナ向けサーバーレスコンピューティング・エンジンです。

AWS Fargateは、AWSにてDockerコンテナを実行・管理するサービスであるAmazon ECS(Amazon Elastic Container Service)と、Amazon EKS(Amazon Elastic Kubernetes Service)の両方をサポートしています。

AWSにおいて一般的な仮想サーバーであるAmazon EC2(Amazon Elastic Compute Cloud)もコンテナのエンジンとして利用することができますが、コンテナ向けに設計されているAWS Fargateは、インスタンス管理が不要になる等のメリットがあり、料金(費用)も無駄がありません。コンテナ技術のメリットをより発揮させ、アプリケーションの構築に専念する環境を作ることができます。

MMMは、AWS Fargateの使い方を熟知しており、経験も豊富です。興味のある方はぜひお問い合わせください。

QAmazon ECSとは何ですか?

A

Amazon ECS(読み方は「イーシーエス」です)とは、Amazon Elastic Container Serviceの略で、AWS上でDockerコンテナを実行・管理することができるサービスです。AWSによって開発されており、AWSの他サービスとの連携が容易です。AWS FargateやAmazon EC2などのDockerコンテナ向けサーバーレスコンピューティング・エンジンと組み合わせて使われることになります。

同様のサービスにはAmazon EKS(Amazon Elastic Kubernetes Service)というマネージドサービスがあります。こちらは、コンテナ管理のオープンソース・ソフトウェアとして普及しているKubernetes(読み方は「クバネティス」です)を、ほとんどそのままAWS上でも利用できるようにしたものです。Amazon EKSも、AWS FargateやAmazon EC2と組み合わせて利用することができます。

コンテナ技術の利用の際は、様々な関連サービスの特性や使い方を深く理解することが重要です。

QAWS Fargateと、AWS Lambdaとの違いは何ですか?

A

どちらもサーバーレスコンピューティングに分類されるサービスですが、根本的な仕組みは大きく異なっています。

AWS Lambda(読み方は「ラムダ」です)は、サーバーのプロビジョニング無しでAWSでコードを実行するためのサービスです。様々な言語のソースコードを直接実行しますが、Dockerコンテナの実行はサポートしていません。

AWS Fargateは、AWSでDockerコンテナを実行することに特化したサービスであり、Dockerコンテナを通じてのみ、アプリケーションを実行することができます。

また、料金(費用)の発生の仕方も大きく異なります。AWS Lambdaはコードが呼び出され実行されたときにのみ課金されます。金額はリクエスト数、メモリ、関数実行の秒数などから決まります。一般的にランニングコストは抑えられる傾向はありますが、用途によっては予測が難しいです。AWS Fargateでは、Dockerコンテナが常に実行されており、1時間ごとに使用されるCPUとメモリから金額が決まり、リクエスト数などは関係ありません。Lambdaとは逆に、一般的にランニングコストは高くなりますが、予測はしやすくなります。

用途や予算、希望する使い方、サービス特性などをふまえて、システムアーキテクチャを決定することが重要です。

なお、サーバーレスコンピューティングおよびAWS Lambdaについて、以下のぺージで詳しく解説しているのでご参考ください。

・「なぜサーバーレスが注目されているのか?ゼロから学ぶ「サーバーレスアーキテクチャ(AWS Lambda)」入門」

・「サーバーレスアーキテクチャ(AWS Lambda)」

Q仮想サーバーとコンテナの違いは何ですか?

A

仮想サーバーは、物理サーバーと同じように振る舞い、ハードウェア関連の機能もすべてソフトウェアで実装される仕組みです。

一方、コンテナ型の仮想化は、アプリケーションを実行するための一定のリソースを、”コンテナ”と呼ぶ仮想的なユーザー専用の空間としてOS上に提供する技術です。

コンテナ型の仮想化では、1つのOS上でコンテナを複数提供できます。仮想サーバーに比べると、とてもシンプルで効率的な仮想技術であり、高速で、すぐに使えるというメリットがあります。

Qコンテナ導入をどこまでサポートしてくれますか?

A

コンテナ基盤の導入を行う際は、コンテナの実行環境はもちろん、開発フローやアプリケーションの配備(デプロイメント)の仕組み・自動化をセットで実現することで、コンテナの持つ移植性・柔軟性、そして効率化を最大限享受できます。

MMMでは、これら周辺環境の導入支援もトータルでご提供しています。

関連するサービスOther Service

クラウドのスペシャリストが、新規事業に関わる疑問や課題を解決します。

クラウドコンサルティング

クラウド・AWSに関するあらゆる相談を受け付けています。

詳しく見る

システム総保有コスト(TCO)最適化

AWSの徹底活用によって、お客様の情報システムのコスト削減を実現します。

詳しく見る

クラウドの潜在力を発揮したシステム構築を行います。

AWS設計・導入支援

AWSのベストプラクティスに基づいた設計・導入支援を行います。

詳しく見る

お問い合わせ・AWS無料相談会

MMMへのお問い合わせや、AWS無料相談会の申し込みは以下よりお願いします。

お問合わせ・申し込みはこちら

※通常1営業日内にご回答いたします。