インスタンスの管理方法

インスタンスは、アプリケーションを自動的にスケーリングするために App Engine で使われるコンピューティング単位です。ある時点において、アプリケーションは 1 つのインスタンスで実行されていることもあれば、複数のインスタンスで実行されていることもあります(このときリクエストはすべてのインスタンス間で分散されます)。

手動および基本スケーリングのインスタンスは継続的に実行されますが、稼働率の保証はありません。ハードウェアやソフトウェアの障害のため、事前の警告なくインスタンスが途中で終了したり、頻繁に再起動したりする場合があり、このような障害の解決には長い時間がかかることがあります。

すべてのフレキシブル インスタンスが毎週再起動されます。再起動中には、下位互換性のある重要な更新が基盤オペレーティング システムに自動的に展開されます。アプリケーションのイメージは再起動後も同じままです。

ヘルスチェック

App Engine はヘルスチェック リクエストを定期的に送信することで、インスタンスが正常にデプロイされていること、および実行中のインスタンスが正常な状態であることを確認します。個々のヘルスチェックに対して、指定された時間内にレスポンスが返される必要があります。指定された回数にわたって、ヘルスチェック リクエストへの無応答が続く場合、そのインスタンスは異常です。異常なインスタンスはクライアント リクエストを受け取りませんが、ヘルスチェックは引き続き送られます。異常なインスタンスが、事前定義された回数にわたってヘルスチェックへの無応答を続ける場合、そのインスタンスは再起動されます。

ヘルスチェックには、更新されたヘルスチェックとレガシー ヘルスチェックの 2 種類があります。デフォルトでは、更新されたヘルスチェック リクエストが有効になっており、デフォルトのしきい値が使用されます。ヘルスチェックをカスタマイズするには、オプションのヘルスチェック セクションをアプリの app.yaml ファイルに追加します。ヘルスチェック全体を無効にすることもできます。

どちらのタイプのヘルスチェックを使用する場合でも、正常なアプリケーションであれば HTTP ステータス コード 200 で応答します。

リソース使用状況のモニタリング

GCP Console の [インスタンス] ページには、インスタンスのパフォーマンスが表示されます。各インスタンスのメモリと CPU の使用状況、稼働時間、リクエスト数と他の統計情報を確認できます。また、任意のインスタンスに対してシャットダウン プロセスを手動で開始できます。

インスタンスの場所

各インスタンスは、プロジェクトの設定に従って地理的なリージョンごとに自動的に配置されます。

インスタンスのスケーリング

アプリケーションの実行中、受信リクエストは適切なサービスやバージョンの既存または新規のインスタンスに転送されます。サービスやバージョンのスケーリング タイプにより、インスタンスの作成方法が制御されます。スケーリング設定は app.yaml ファイルで構成します。次の 2 つのスケーリング タイプがあります。

手動スケーリング
手動スケーリングが設定されているサービスでは、負荷レベルに関係なく指定された数のインスタンスを継続的に実行する常駐型インスタンスが使用されます。これにより、複雑な初期化などのタスクや、時間の経過に伴うメモリの状態に依存するアプリケーションを実行できます。
自動スケーリング
自動スケーリング サービスでは、リクエスト率、レスポンス レイテンシ、その他のアプリケーション指標に基づいて作成された動的なインスタンスが使用されます。ただし、アイドル インスタンスの最小数を指定した場合は、指定した数のインスタンスが常駐型インスタンスとして実行され、追加のインスタンスは動的に作成されます。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Go の App Engine フレキシブル環境