2024年8月21日

テクノロジー

AWS App Runnerとは?できることや利用が向いているシーンを解説

2024年現在、300以上存在しているというAWSのサービス。その中で、比較的新しいサービスであるAWS App Runnerをご存じでしょうか。AWS App Runnerはコンテナ化されたアプリケーションのデプロイと実行を、可能な限り簡単に、そして迅速におこなうことができるフルマネージドサービスです。

この記事では、AWS App Runnerの登場によって、これまでの作業がどのように簡略化されるのか、そしてどのような場面での利用が向いているのかを解説していきます。AWS App Runnerと調べると、エンジニア向けの記事ばかりでてきて「いまいち理解出来ない!」という方のために、非エンジニアでも理解できるよう、なるべく分かりやすく解説しています。ぜひご参考ください!

AWS App Runnerとは?

公式のサービスページ

手間のかかるインフラ構築作業をまるっとお任せ

AWS App Runnerは、2021年5月に一般提供が開始されたAWSのサービスです。WebアプリケーションやAPIのデプロイをとにかく簡単にできることがAWS App Runnerの特徴と言えます。

そもそもアプリケーションをデプロイする際、AWSの他のサービスを組み合わせてインフラを構築する必要があります。例えば、Amazon VPC(Virtual Private Cloud)で仮想ネットワークを構築したり、AWS Fargateでコンテナを実行したり、Amazon ECSでコンテナ化されたアプリケーションのデプロイ、管理、スケーリングをしたり、AWS CodeBuildでCI/CDの設定をしたり…。それぞれのサービスを利用して、一つ一つの設定をしていくため、カスタマイズの柔軟性がある一方で、工数がかかってしまいます。

※以下はAWS日本法人の方が、AWS App Runnerについて説明したセミナーから抜粋した資料です。公式の方が作っているということもあり、非常に分かりやすいのですが、エンジニア向けの資料になっています。この記事では、非エンジニアの方にも分かりやすいよう、より噛み砕いて説明しています。

もうすぐローンチ 3 周年! AWS App Runner の魅力と進化の歴史の資料より抜粋)

この一つ一つの作業をまとめて簡略化してくれるのが、AWS App Runnerです。

AWS App RunnerはAWSの各サービスを組み合わせることで、構築済みのインフラにすぐにデプロイすることができます。手間がかかるインフラ構築の作業をAWS App Runnerが引き受け、裏で管理も行ってくれる、いわゆるフルマネージドサービスというものです。

もうすぐローンチ 3 周年! AWS App Runner の魅力と進化の歴史の資料より抜粋)

女性ならではの例えかもしれませんが、結婚式に参列するときの準備で例えてみようと思います。通常であれば、ドレスや靴、バッグなどの小物類をそれぞれ買い揃え、美容室を予約してヘアセットもしてもらわないといけません。(結構手間がかかるんですよね…笑)この状態がApp Runnerを使わない場合のアプリ構築だと考えてください。

一方で、App Runnerは、当日のヘアセットやスタイリングまでしてくれるレンタルドレスサービスです。ドレスから小物類まで一式レンタルすることができるため、管理の手間がありません。さらにスタイリングまでお任せすることもできるため、さまざまな工程をスキップできます。どうでしょう、男性の方でもなんとなく想像はできたでしょうか?

リリースから約3年間の進化

このようにApp Runnerはインフラ構築に関わる作業をまるっとお任せできるため、インフラやAWSの知識がない人にとって、非常に便利なサービスです。一方で、インフラ構成は基本的なものに限られるため、複雑なセキュリティ要件や細かい設定が必要な場合には、あまり向いていません。

とにかく簡単にアプリケーションのデプロイや実行ができることがコアバリューであるため、リリース当初は適応できる環境の範囲が狭く、使いどころが限られるという声も一定数ありました。しかし、リリースからの3年ちょっとで機能が追加されたり、統合できるサービスが増えたりと、どんどんサービスが進化しています。具体的には、これまでに以下のようなアップデートが発表されてきました。

カスタマーVPCへの接続が可能に (2022年2月8日)

VPCコネクタ対応により、DynamoDBなどのグローバルなリソースだけでなく、RDSなどVPC内のリソースも使えるようになりました。これにより、App Runnerの利用範囲が大幅に拡大しました。

マネージドランタイムの言語対応追加 (2022年10月28日)

GitHubからの自動デプロイで利用できる言語が、JavaとNode.jsのみだったところにPHP、Go、.NET、Rubyが追加されました。これにより、より多くの開発者がApp Runnerを利用しやすくなりました。

プライベートアクセスが可能に (2022年10月31日)

インターネット経由の公開アクセスに限定されていたものが、VPC内からのアクセスに限定できるようになりました。これにより、セキュリティが向上し、VPC内のマイクロサービスをApp Runnerで作成することも可能になりました。

これらのアップデートにより、App Runnerの機能性、柔軟性、セキュリティが大幅に向上し、より幅広いユースケースに対応できるようになりました。定期的なアップデートで、今後もどんどん使い勝手が良くなっていくことが期待されます。

AWS App RunnerとAWS Fargateの違い

AWS App Runnerとよく比較されるサービスとして、AWS Fargateがあります。どちらもコンテナ※1ベースのアプリケーション実行環境を提供するサーバーレスサービスであるため、混同されやすくなっています。

※1 コンテナとは?

アプリケーションとその実行に必要な構成要素(ライブラリや設定ファイルなど)をパッケージ化したものを指します。コンテナ化することによる最大のメリットは、開発環境・テスト環境・本番環境など、どの環境でも全く同じ状態でアプリケーションを実行できることです。これにより、環境の違いによる問題が発生しにくくなります。

両者の違いを端的に説明すると、アプリケーション構築に必要な構成要素を内包しており、より簡単に実行可能なのがAWS App Runner、インフラ管理の負担を減らしつつ、より細かな制御が可能なのがAWS Fargateとなります。具体的には、Fargateの場合、ロードバランシング※2やオートスケーリング※3などコンテナ以外の設定も制御できるというのが特徴です。

※2 ロードバランシングとは?

「負荷分散」とも呼ばれ、ネットワークトラフィックを複数のサーバーやリソースに分散させる仕組みです。大量のユーザーリクエストやデータトラフィックを複数のサーバーに効率的に振り分けることで、システム全体のパフォーマンスと可用性を向上させる効果があります。

※3 オートスケーリングとは?

事前に設定された条件に基づいて、サーバーの数やスペックを自動的に増減させる仕組みです。システムの負荷に応じて柔軟にリソースを調整することができるという効果があります。

このような特徴から、構築・デプロイ・実行のプロセスを最小限にできるApp Runnerは細かい設定が不要なアプリケーションに向いていると言えます。続いて、具体的にどんな利用シーンが想定できるのか見ていきましょう。

AWS App Runnerの利用が向いているシーン

App Runnerの最大の特徴はやはり、AWSやインフラの知識がなくても最小工数でアプリケーションをデプロイできる点です。一方でカスタマイズ性が弱点であるため、この弱点を考慮しなくていい環境、つまり基本的なインフラ設定で事足りる、カスタマイズ性が不要なシチュエーションで最大限強みを発揮することができます。以下に利用が向いているシーンとその理由をまとめてみます。

プロトタイピングや機能テスト

  • 迅速な立ち上げ:最小限の設定で環境を構築でき、アイデアを素早く形にすることが可能
  • 自動スケーリング:テスト時の負荷変動に自動で対応でき、パフォーマンステストが容易
  • 環境の複製の容易さ:異なるバージョンや設定のテスト環境を簡単に作成可能
  • コスト管理:使用していない時間帯のコストを抑えられ、実験的なプロジェクトに最適

社内向けサイト

  • セキュリティ:VPCとの接続が可能で、社内ネットワークからのみアクセス可能な環境も簡単に構築可能
  • 管理の容易さ:インフラ管理の手間が少なく、小規模なIT部門での運用が容易
  • コスト効率:使用量に応じた課金体系により、社内利用の変動に柔軟に対応可能
  • 迅速なデプロイ:コード変更を素早く反映でき、社内ツールの頻繁な更新に対応できます。

AWSの知識が少ないチームでの開発

  • 最小限の設定:複雑なインフラ知識がなくても、ウェブアプリケーションをデプロイ可能
  • 自動化された管理:スケーリングやセキュリティパッチの適用が自動化されており、深いAWS知識が不要
  • サービス連携:他のAWSサービスとの連携が容易で、段階的に学習しながら機能を拡張可能
  • 直感的なインターフェース:コンソールが分かりやすく設計されており、簡単に操作の習得が可能

このようなシーンでは、App Runnerの簡便さ、自動化された管理、柔軟性が特に活きてきます。インフラ管理の複雑さを軽減しつつ、効率的にアプリケーションを展開・運用できる点が、App Runnerの大きな利点となっています。

AWS App Runnerの料金体系について

AWS App Runnerの料金体系について簡単に触れておきます…が、非エンジニアにとっては、少し分かりづらい内容になっております。噛み砕いて説明することが難しいため、詳細を知りたい方は公式サイトをご確認いただくことをおすすめします。

  • 使用したリソース(CPU、メモリ)と時間に基づいて課金
  • 最小1分から課金され、1秒単位で計算

App Runnerは小規模なアプリケーションや変動の大きいワークロードに適しています。また、アプリケーションが稼働していなくても、アプリケーションの迅速な応答性を確保するために常時稼働している基本的なリソースには料金が発生するため、業務時間中だけ稼働するようなアプリケーションに向いています。一方で、常時高負荷な大規模アプリケーションの場合は、他のサービスの方がコスト効率が良い可能性があります。

App Runnerは現在11の地域で提供されており、地域ごとに料金が異なる場合があるため、この点も詳しくは公式サイトをご確認ください。

さいごに

今回はAWSのフルマネージドサービスであるAWS App Runnerについてご紹介しました。アプリケーション構築のプロセスを最小限にできるサービスのため、複雑な設定が不要で、最小限の工数でスタートさせる必要があるプロジェクトには最適なサービスと言えるでしょう。ローンチから今までの軌跡を見てみると、今後より使いやすくなるようなアップデートが見込まれるため、利用できるシーンも増えていくかもしれません。この記事では、App Runnerの概要を分かりやすく解説しました。もしまだAWS App Runnerを使ったことがないという方は、この機会にぜひ導入を検討してみてください。


アイスリーデザインではソフトウェア開発におけるツールの導入支援をおこなっております。豊富な経験と専門知識を活かし、お客様のニーズに最適なツール選定から導入、運用までをトータルでサポートいたします。さらに、効率的な開発体制の構築と、チームの生産性の向上を実現します。AWS App Runnerの導入支援サービスについて詳しく知りたい方は、こちらをご覧ください。

in-Pocket編集部

i3DESIGN

デザインとテクノロジーに関する情報を発信するアイスリーデザインのオウンドメディア、"in-Pocket"の編集部です。テクノロジー・デザイン関連の解説記事やビジネス戦略にまつわるインタビュー記事などを投稿しています。日々の業務における知識のインプットとしてぜひお役立てください!

おすすめの記事

Recruit

アイスリーデザインでは

一緒に働くメンバーを募集しています

採用情報はこちら矢印