技術概要

[更新日:2025年2月4日]

概念とアーキテクチャ

AppRunは、コンテナイメージを用いてアプリケーションを簡単に構築・運用できるフルマネージドサービスです。シンプルな操作でアプリケーションをデプロイし、自動的なスケーリングと高可用性を実現します。

アプリケーションのバージョン管理やトラフィック管理機能を備え、段階的なデプロイやロールバックなど、本番環境に必要な機能を提供します。さらに、パケットフィルターによるアクセス制御やヘルスチェックによる死活監視など、セキュアで安定した運用を実現します。

AppRunの構成図

用語説明

アプリケーション

AppRunの基本的なデプロイ単位です。以下の要素で構成されます。

  • 基本情報

    • アプリケーションID - 自動的に採番される一意の識別子

    • アプリケーション名 - ユーザーが指定する識別名

    • 公開URL - 作成時にアプリケーションにアクセスするための固有のエンドポイントを発行

    • ステータス - 最新バージョンの状態を反映

  • アプリケーション設定

    • リクエストタイムアウト - サービスの応答待ち時間制限

    • ポート番号 - アプリケーションが待ち受けるポート

    • スケーリング設定 - インスタンス数の自動調整範囲

    • パケットフィルター - アクセス制限の設定

コンポーネント

コンテナの実行に必要な構成情報を定義する単位です。

  • デプロイソース設定

    • コンテナイメージの指定(現在はコンテナレジストリの指定のみ)

    • 認証情報の設定

  • リソース設定

    • vCPU使用量の上限(0.1~1 コア)

    • メモリー使用量の上限(256MiB~2GiB)

  • 実行環境設定

    • 環境変数の定義

    • ヘルスチェックの設定(10秒ごとの監視)

バージョン

アプリケーションの構成情報を管理する仕組みです。

  • 特徴

    • アプリケーションの構成情報の変更時に自動的に作成

    • 最大5世代まで保持

    • 各バージョンは独立して管理(編集不可)

    • 上限を超えると古いバージョンから順に削除

    • ヘルスチェックの結果でバージョンステータスを更新

    • バージョンステータスでインスタンスの状態を確認可能

トラフィック管理

複数のバージョン間でアクセスを制御する機能です。

  • 特徴

    • 各バージョンに対して割合(%)を指定

    • 最大4バージョンまで分散可能

    • 複数バージョンの同時運用が可能

    • A/Bテストなどの段階的なデプロイに活用可能

インスタンス

コンポーネントの設定に基づいて作成される実行環境です。

  • 動作

    • トラフィックが割り当てられたバージョンをもとに作成

    • エンドユーザーからのリクエストを処理

    • トラフィック量に応じた自動スケーリング

    • バージョン単位での管理

    • 公開URLでアクセス可能

制限事項

β版における主な制限事項について記載します。

アプリケーション制限

項目

制限内容

スコープ

アプリケーション数

最大5

クラウドアカウントごと

アプリケーション名の長さ

1~255文字

アプリケーションごと

バージョン数

最大5

アプリケーションごと

コンポーネント数

1

アプリケーションごと

自動スケーリング

1~10インスタンス

アプリケーションごと

トラフィック分散ターゲット数

最大4

アプリケーションごと

パケットフィルタのIP制限

最大5

アプリケーションごと

使用ポート

使用可能範囲:1~65535
※以下のポート番号は使用できません。
8008, 8012, 8013, 8022, 8443, 9090, 9091

アプリケーションごと

コンポーネント制限

項目

制限内容

スコープ

環境変数

予約済みの環境変数があります。(例:PORT)
※指定した場合、実行時にエラーとなります。

コンポーネントごと

環境変数の数

最大50

コンポーネントごと

環境変数のキーの長さ

1~128バイト

変数ごと

環境変数の値の長さ

0~512バイト

変数ごと

インスタンス制限

項目

制限内容

スコープ

vCPU

0.1~1 コア

インスタンスごと

メモリー

256MiB~2GiB

インスタンスごと

リクエストタイムアウト

1~300秒

インスタンスごと

起動タイムアウト

4分

インスタンスごと

同時リクエスト数(ハード)

1000

インスタンスごと

同時リクエスト数(ソフト)

100(デフォルト)

インスタンスごと

名前の一意性と削除制限

項目

制限内容

スコープ

アプリケーション名の一意性

アプリケーション名の重複不可

同一ユーザー内

コンポーネント名の一意性

コンポーネント名の重複不可

同一アプリケーション内

バージョンの削除制限

・トラフィック向き先に指定中のバージョン削除不可
・最新バージョンの削除不可
・バージョン数が1つの場合は削除不可

アプリケーションごと

注釈

  • これらの制限値はβ版のものです。正式リリース後に緩和される予定のものも含みます。

  • システム予約のポートや環境変数は、サービスの内部処理のために確保されています。

  • アプリケーションの設定時には、これらの値を使用しないようご注意ください。