はじめに
AWSサービスの中で、コンテナを動かすサービスとして何を思い浮かべるでしょうか。私が第一に思い浮かべるのは、Amazon ECSです。ECSは、2015年頃から一般提供が開始され、AWSのデプロイサービスとの連携や、ログ管理サービスとの連携などが実現でき、コンテナを動かすサービスの主流になっています。
そんな中、コンテナを動かすサービスとして、2021年に新たにApp Runnerが一般提供されました。本記事では、App Runnerの特徴やアップデートを紹介します。
App Runnerの特徴やECSとの比較
コンテナを管理するECSとApp Runnerについて、デプロイの観点とアーキテクチャの観点で、特徴を整理します。
デプロイの観点
ECSとApp Runnerでどのようにコンテナを自動的にデプロイできるかを比較します。それぞれのデプロイの流れについて以下の図に示します。
ECSへのコンテナデプロイの自動化
ECSへコンテナをデプロイするには、CodePipeline等を用いてデプロイするための仕組みをユーザ側で用意する必要があります。
ソースコード管理にはCodeCommit、ビルド環境にはCodeBuild、デプロイにはCodeDeployを利用し、ソースコードをCodeCommitにプッシュすることを契機に、ECSへのデプロイを自動化することが可能です。
App Runnerへのコンテナデプロイの自動化
一方、App Runnerは自動デプロイが容易です。App RunnerはユーザがAmazon ECRへコンテナイメージをプッシュするか、GitHubにソースコードをプッシュすることで、 AWSがアクションを検知してApp Runnerへのデプロイまで行います。
ビルドやデプロイの細かい制御はCodePipelineの方が適していますが、App Runnerでは簡易に自動デプロイを実現することができます。