Amazon ECS および Amazon EFS を使用したステートフル Docker コンテナのデプロイ

Aws ecs efs

Dockerでは、直接またはパートナーと協力して、開発者の生活を楽にする方法を常に模索しています。 開発者の生産性の向上は、Docker 製品を使用する主な利点であり、最近、パートナーの 1 つがクラウドネイティブ アプリの開発を容易にする発表を行いました。

AWS は、Amazon Elastic File Storage (EFS) ファイルシステムにアクセスするために、Amazon Elastic Compute Cloud (EC2) モードでデプロイされた Amazon Elastic Container Service (ECS) アプリケーションをお客様が設定できるようになったことを発表しました。 これは、Amazon ECS を使用する Docker 開発者にとって朗報です。 つまり、Amazon ECS は Amazon EFS とネイティブに統合され、共有ファイルシステムを Docker コンテナに自動的にマウントできるようになりました。 これにより、機械学習ワークロード、レガシー アプリのコンテナー化、GitLab、Jenkins、Elasticsearch などの内部 DevOps ワークロードなど、共有ストレージへのアクセスを必要とするワークロードをデプロイできます。 

アプリケーションをコンテナー化することの利点は、予測可能で管理しやすい方法で、さまざまなコンピューティング環境間でソフトウェアを作成、パッケージ化、およびデプロイするためのより良い方法を提供することです。 コンテナはもともと、ステートレスで一時的な(一時的)になるように設計されていました。 ステートレス アプリケーションとは、ある実行時から次の実行時までの状態に関する情報を読み取ったり格納したりしないアプリケーションです。 一方、ステートフル アプリケーションは、実行するたびにその状態についていくつかのことを記憶できます。

アプリで状態を維持するということは、コンテナーをステートフル ストレージに接続する方法を見つけることを意味します。 たとえば、モバイルデバイスで天気アプリを開くと、天気アプリが状態を維持するため、故郷の都市が記憶されます。 状態を必要とするアプリケーションをコンテナー化する唯一の方法は、コンテナーをステートフルな永続ストレージに接続することです。

「DockerとAWSは、適切なワークロードをステートフルなコンテナ化されたアプリケーションとしてより簡単にデプロイできるように協力しています。 Docker Desktop や Docker Hub など、業界をリードする Docker のコンテナー テクノロジは、最新のアプリの開発者ワークフローを推進するために不可欠です。 当社のお客様は、Amazon ECS と Amazon EFS に Docker コンテナをシームレスにデプロイして実行できるようになり、開発チームはアプリケーションをより迅速にリリースできるようになりました」と、Docker の製品担当バイスプレジデントである Justin Graham 氏は述べています。

共有外部ストレージ、高可用性リージョンストレージ、または高スループットストレージへのアクセスを必要とするワークロードをデプロイする開発者は、Amazon ECS と Amazon EFS の組み合わせが最適です。 Amazon ECS に精通している開発者は、ECS タスク定義を使用して、タスク内の 1 つ以上のコンテナにマウントするファイルシステム ID と特定のディレクトリを指定できるようになりました。 ECSはコンテナへのファイルシステムのマウントを処理するため、インフラストラクチャの構成を気にすることなくアプリケーションに集中できます。 

ステートフルなコンテナベースのアプリケーションを実際にデプロイする方法に興味がある場合は、AWS の Martin Beeby が、Amazon ECS で実行されているコンテナに状態を追加するように Amazon EFS を設定する方法を説明する優れた ブログ投稿 を提供しています。 Docker の使用を開始する方法について詳しく知りたい開発者は、Docker Desktop と Docker Hub の追加リソースを使用して理解を深めることができます。

フィードバック

「Amazon ECSとAmazon EFSを使用してステートフルなDockerコンテナをデプロイする」に関する0の考え