コンテナ運用をシンプルにする「AppRun」とは?共用型・専有型の魅力を解説

コンテナ化を進めたいものの、Kubernetesの運用負荷は高い。一方で、一般的なPaaSではネットワークやセキュリティ要件を満たせない。AppRunは、そうした「コンテナを使いたいが、運用は極力したくない」システム向けに設計された、アプリケーション実行環境です。コンテナを手軽にデプロイできて、負荷に応じて自動的にスケールさせることが可能になります。

AppRunには、「共用型」と「専有型」という2種類のサービスがあります。

  • AppRun共用型:複数ユーザーでアプリケーション実行基盤を共有し、低コストかつ手軽にアプリを実行できる
  • AppRun専有型:ユーザー専用の実行基盤を持ち、性能の安定性やセキュリティ要件に対応できる

この記事では、サービスの特長やコンテナ実行環境を利用する利点をAppRun専有型を中心に解説していきます。Dockerなどのコンテナ技術に興味があり、インフラ運用の負荷を下げたいと考えているエンジニアを対象としています。

AppRunの共用型と専有型を比較する

アプリケーション実行環境であるAppRunは、Dockerベースのコンテナイメージを用いて、アプリケーションを簡単に構築・運用できるフルマネージドサービスです。サーバーの構築やOS管理、スケーリング設定といった作業を意識することなく、開発者がアプリケーションの実装とデプロイに集中できる点が大きな特徴です。

AppRun共用型は「まずは手軽に試したい」ケースに向いており、AppRun専有型は「性能・セキュリティ・ネットワーク要件を重視したい」プロダクション用途に向いています。

共用型と専有型を比較すると次のようになります。

AppRun共用型は、マルチテナントサービスとして提供されており、複数のユーザーとアプリケーション実行環境を共有しています。そのため、低コストで手軽にアプリを実行できます。

特長的な機能に「ゼロスケール対応」があります。これは、最小スケールを「0」に設定しておくことで、アクセスがない場合にコンテナを起動しない機能です。AppRun共用型は、コンテナが起動していない期間は課金対象にならないので、サーバーレスのように、アクセスがない場合のコストを抑えることができます。

一方、AppRun専有型は、シングルテナントサービスとして提供されており、ユーザー専用のVM上でアプリケーションを実行します。そのため、性能の安定性やセキュリティ要件を重視するシステムに向いています。また「さくらのクラウド」のスイッチに接続できるので、閉域利用が可能になっています。

AppRun専有型は、自分たち専用の実行基盤を利用したいが、インフラ管理を任せたいユーザーに応えるサービスです。

AppRunの仕組み

AppRunでは、コンテナの起動・停止やスケーリングといった制御をすべてサービス側が担います。利用者は、どのVMでどのコンテナが動いているかを意識する必要はありません。

マルチテナントサービスであるAppRun共用型は、Kubernetes + Knative Servingを共通基盤として動作します。これに対して、シングルテナントサービスであるAppRun専有型では、新規開発したコントロールプレーンでノードを制御しています。

次図に、AppRun専有型のシステム概略図を示します。

AppRun専有型の動作を制御するために、サービス側でコントロールプレーンが動作しており、これがお客様ごとにVMを払い出します。

ユーザーアプリケーション用コンテナが実際に動作するワーカーノードVMには、ワーカーエージェントがインストールされています。このワーカーエージェントが、コントロールプレーンから必要な情報を取得して、自身が動作するVM上で、どのコンテナを起動・停止するかを制御します。

起動するコンテナは、「さくらのクラウド」のコンテナレジストリのほか、Docker HubやGitHub Container Registry(ghcr.io)など一般的なコンテナレジストリサービスに登録されているコンテナイメージが利用可能です。

ロードバランサー(LB)を動作させるロードバランサーノードVMには、LBエージェントがインストールしてあります。この他に、L7のロードバランサープロセスが動作しており、このプロセスを通じてワーカーノードVMのコンテナにアクセスします。また、keepalivedが動作しており、VRRPを利用してアクティブ/スタンバイ形式の冗長化構成を組めます。

ロードバランサーノードは、TCP/HTTP/HTTPSに対応しています。Let's Encryptや証明書の持ち込みにも対応しています。

なお、ワーカーノードVMもロードバランサーノードVMも、基本的にはVMなので「さくらのクラウド」のパケットフィルタ機能でアクセスを制御できるようになっています。

AppRun専有型によるシステム構成例

AppRun専有型は、高い安定性やセキュリティを求める幅広いシーンで活用できます。

  • 冗長構成が必要な中規模システムの構築
  • 災害対策などの高い可用性が求められるシステムの構築
  • 小規模なWebサービスやAPIの運用

そこで、AppRun専有型によるシステム構成を2つ紹介します。

まずは、AppRun専有型によるクラスタ構成です。

AppRun専有型にはクラスタ(Cluster)という単位があり、クラスタの下に複数の「ASG」(オートスケーリンググループ)を配置できるようになっています。このASGに、ワーカーノードVMとロードバランサーノードVMが含まれます。

このとき、石狩第2(is1b)や東京第2(tk1b)のように、ゾーンごとにASGを設置できます。AppRun専有型のコントロールプレーンは、ひとつのクラスタでN個のコンテナがある状態を自動的に維持します。そのため、ゾーンごとにASGを設置しておくことで、特定のゾーンでサービスが提供できなくなった場合に自動的に他のゾーンにあるASGのコンテナに実行を切り替えできます。複数のゾーンをまたぐクラスタ構成では、ロードバランサーの上流にGSLBを設置します。

もうひとつは、「さくらのクラウド」上の既存システムにAppRun専有型を追加していく構成です。

AppRun専有型は、ワーカーノードやロードバランサーノードから「さくらのクラウド」上で構築済みのネットワークに直接接続できるところが大きな特徴です。すでにVMベースで構築されたシステムの「スイッチ」や「スイッチ+ルータ」に接続して、AppRun専有型のノードを簡単に追加できます。なお、NFSアプライアンスのマウントは今後対応する予定です。

AppRunを利用する3つの利点

最後に、AppRunを利用する3つの利点を紹介しましょう。

まずは、コンテナ実行環境を利用することで、システムを一貫した環境で再現性高くデプロイできる点です。アプリケーションを構成するコンテナをあらかじめ用意しておけば、それを繰り返し自動的に配備できます。エンジニアは、インフラ構築や運用の手間を減らして、アプリケーション開発に集中できるようになるでしょう。もちろん、まだまだVMベースのほうが向いている用途もありますが、コンテナで対応できる用途にAppRun共用型や専有型を利用することで、開発スピードを上げられます。

2番目のメリットは、ログ・メトリクス管理の効率化です。AppRunは、多様な環境を一元的に管理できるモニタリングスイートと連携できます。

例えば、ログに関して、VM上にAnsibleなどを自分でプロビジョニングして設定していく場合、ログ転送やメトリクス収集の設定を個別に行うには、多くの手間がかかります。

モニタリングスイートを連携させれば、ロードバランサーのアクセスログやコンテナ実行時の標準出力やエラー出力からのメッセージまで自動的に転送できます。AppRunの内部で動作しているエージェントが出力したログなども、コントロールパネルで設定するだけで転送できます。メトリクスについても、コンテナごとのメトリクスやVMホストのメトリクス、ロードバランサープロセスのメトリクスを簡単な設定だけで取得できます。

3番目のメリットは、プライベート領域での利用です。AppRun専有型は、サービスエンドポイントゲートウェイと連携できます。

サービスエンドポイントゲートウェイは、さくらのクラウドの「スイッチ」を用いて作成したプライベートネットワーク内から、「さくらのクラウド」のマネージドサービスに安全に接続できる「スイッチ」の拡張機能です。外部ネットワークから隔離された通信環境にあるサーバーであっても、オブジェクトストレージやコンテナレジストリなどのインターネット経由での利用を前提としたマネージドサービスへ安全にアクセスできます。

AppRun専有型では、使用するスイッチに対して、サービスエンドポイントゲートウェイを有効化することで、プライベートネットワークからAppRun専有型のコントロールプレーンやコンテナレジストリに接続できるようになります。そのため、プライベート領域に配置しても快適にサービスを開発できます。

まとめ

ここまで、AppRun専有型を中心に、サービスの特長やコンテナ実行環境を利用する利点を解説してきました。

AppRunでは、「さくらのクラウド」のさまざまなサービスと連携して動作することを目指しています。2025年12月の正式リリース以降も、サービス開発を継続しており、次のような機能強化を進めています。以下は開発中・検討中の機能です。

AppRun専有型の機能強化予定 (2026年6月現在)

  • シークレットマネージャ連携
  • 永続ボリュームサポート(NFS)
  • ロードバランサーノードのPROXY Protocolサポート
  • Bridge network modeサポート

AppRun共用型の機能強化予定 (2026年6月現在)

  • Docker Hubなど、「さくらのクラウド」のコンテナレジストリ以外への対応
  • シークレットマネージャ連携
  • マルチコンテナ対応

今後も、AppRunをさらに使いやすいサービスに進化させていきます。

ぜひ、AppRunをご活用ください。

関連記事

リリース当時、AppRun専有型の開発を担当していた松野がAppRunについて解説している動画を公開しています。

クラウド活用セミナー vol.05:AppRun

こちらの記事で、実際にAppRunを使う手順を解説しています。

サービス紹介/マニュアル

技術ブログ

外部の解説記事でも取り上げていただいています。