プロセス

プロセス」ページには、アプリケーションのランタイムとビルドのプロセスが表示されます。ここで独自のランタイムコマンドを編集、定義することもできます。

ウェブプロセス

ウェブプロセスがアプリケーションを実行します。アプリケーション追加の際にstartコマンドを指定しないと、Kinstaのシステムにより最初のデプロイ時に自動での検出が試みられます。たとえば、Node.jsアプリケーションのstartコマンドはnpm startまたはyarn startです。

ウェブプロセスを削除することはできず、1つのアプリケーションにつき1つのウェブプロセスのみ保持することができます。

ウェブプロセスの編集

ウェブプロセスは、「プロセス」画面で横にある3つの点をクリックし、「プロセスの変更」で編集できます。

アプリケーションのウェブプロセスを編集
アプリケーションのウェブプロセスを編集

以下の各フィールドの設定を行います。

  • 名前:ウェブプロセスの名前を入力します。
  • カスタムstartコマンド:ウェブプロセスのstartコマンドを入力します。アプリケーションを追加する際にこのコマンドを空欄にした場合、アプリケーションを実行するために自動的に検出されたコマンドが表示されます。
  • ヘルスチェックパス:ヘルスチェックのパスを入力します。アプリケーションにヘルスチェックが含まれていると、デプロイ間もアプリが稼働した状態を維持することができます。アプリケーションがデプロイまたは再デプロイされると、新たなPodの準備が整うまで、古いPodが実行されます。10秒ごとにヘルスチェックパスを確認し、3回連続して応答しない場合はPodを再起動します。
  • 水平オートスケーリング:水平オートスケーリングを有効にする場合は、ウェブプロセスが使用できるインスタンスの最小数と最大数を定義します。現在のPodのCPU使用率がCPUリソース上限の80%に達すると、ウェブプロセスが自動的に1つ増加します。その後CPU使用率が低下し、現在のPod数が不要になると、ポッド数は必要な数に減らされます。インスタンス数が設定した最小数より少なくなることはありません。
  • インスタンス数:必要なインスタンスの数を設定します(最大20まで)。各インスタンスは1つのPodを意味し、インスタンスはすべて同じPodサイズを使用します。インスタンスごとに異なるPodサイズを定義することはできません。
  • インスタンスのサイズ:プロセス専用のCPUとRAMの上限を決定します。

バックグラウンドワーカー

バックグラウンドプロセスは、メインアプリケーションとは別にバックグラウンドで実行され、インターネットからはアクセスできません。大規模データの処理のような継続的なタスクにバックグラウンドプロセスを使用することで、このタスクをメインアプリケーションから切り離し、良好なユーザーエクスペリエンスを維持することができます。

この種のプロセスは、一定時間後に終了する一回限りのジョブとして実行するものではありません。バックグラウンドプロセスがジョブの完了を経て終了しても、Podはシャットダウン、再起動し、プロセスが繰り返されます。ジョブ完了後に終了するプロセスには、cronジョブプロセスを使用するようにしてください。

バックグラウンドワーカーの追加

バックグラウンドワーカーは、「プロセス」画面で追加可能です。追加できる数に上限はありませんが、各プロセスを実行するには少なくとも1つのPodが必要です。

プロセスを作成」>「バックグラウンドワーカー」をクリックします。

バックグラウンドワーカーを作成
バックグラウンドワーカーを作成
  • 名前:プロセス名を入力します。デフォルトでは、ランダムな名前が自動入力されます。
  • カスタムstartコマンド:プロセスの起動に必要なコマンドを入力します(例:npm run [process])。
  • 水平オートスケーリング:水平オートスケーリングを有効にする場合は、バックグラウンドワーカーが使用できるインスタンスの最小数と最大数を定義します。現在のPodのCPU使用率がCPUリソース上限の80%に達すると、バックグラウンドワーカーが自動的に1つ増加します。その後CPU使用率が低下し、現在のPod数が不要になると、ポッド数は必要な数に減らされます。インスタンス数が設定した最小数より少なくなることはありません。
  • インスタンス数:必要なインスタンスの数を設定します(最大20まで)。各インスタンスは1つのPodを意味し、インスタンスはすべて同じPodサイズを使用します。インスタンスごとに異なるPodサイズを定義することはできません。
  • インスタンスのサイズ:プロセス専用のCPUとRAMの上限を決定します。

インスタンスサイズ(垂直方向のスケーリング)や同時に実行するインスタンス数(水平方向のスケーリング)など、プロセスの詳細はいつでも変更できます。アプリケーションリソースのスケーリングの詳細はこちらをご覧ください。

cronジョブプロセス

cronジョブを使用すると、アプリケーションのプロセス実行を特定の間隔で設定することができます。これにより、継続的に実行されるPodなしで、レポートの送信やメンテナンスタスクの実行などの反復タスクを時間指定で自動化できます。

cronジョブプロセスはバックグラウンドワーカーに似ていますが、設定されたタイミングでのみ起動し、必要な処理を終えるとシャットダウンします。

cronジョブプロセスの追加

cronジョブは、「プロセス」画面で追加可能です。追加できる数に上限はありませんが、各プロセスを実行するには少なくとも1つのPodが必要です。

プロセスを作成」>「cron」をクリックします。

cronジョブを作成
cronジョブを作成
  • 名前:プロセス名を入力します。デフォルトでは、ランダムな名前が自動入力されます。
  • カスタムstartコマンド:プロセスを開始するために必要なコマンド(例えば、npm run [process])
  • cron式:The cron expression determines when and how often the cron job runs. It is made up of the following five fields:
    • * 分(0〜59)
    • * 時間(0〜23)
    • * 日(1〜31)
    • * 月(1〜12)
    • * 曜日(0〜6)

    Cronitorなど、cron式の書き方に関するリソースはオンラインで多数見つけることができます。以下は一般的な書式例です。

    • 1分毎に実行する場合:* * * * *
    • 30分毎に実行する場合:*/30 * * * *30*/なしで使用すると、30分(12:30、13:30など)にしか実行されないため、30分毎に実行する場合(12:00、12:30など)は*/30を使用します)
    • 1時間毎に実行する場合:0 * * * *
    • 毎日午前0時に実行する場合:0 0 * * *
    • 金曜日午前0時に実行する場合:0 0 * * 5
    • 毎月1日の午前0時に実行する場合:0 0 1 * *
  • タイムゾーンを設定する:デフォルトのタイムゾーンは協定世界時(UTC)です。お客様のタイムゾーンで特定の時間に実行したい場合は、チェックを入れてタイムゾーンを指定します。これはIANAのタイムゾーン識別子使用するため、タイムゾーンを東京(日本)に設定する場合は、「Asia/Tokyo」と入力してください。
  • インスタンスのサイズ:プロセス専用のCPUとRAMの上限を決定します。

設定を終えたら「作成する」をクリックします。追加したプロセスの料金は、プロセスが実行されている時間分のみ毎月のお支払い額に加算されます。例えば、S1インスタンス(0.5 CPU/1 GB RAM)でcronジョブを追加し、月に60分間実行した場合は、3,600秒 × 0.0000076104(秒単価) = 0.03ドルとなります。

インスタンスサイズ(垂直スケーリング)を含め、プロセスの詳細はいつでも変更可能です。永続ストレージ水平スケーリングをcronジョブに追加することはできません。

cronジョブの手動実行

手動でcronジョブを実行するには、「アプリケーション」>(アプリ名)>「プロセス」で実行したいcronジョブの横にある3つの点をクリックして、「実行」をクリックします。

cronジョブを手動で実行
cronジョブを手動で実行

ジョブプロセス

ジョブを使用すると、デプロイ前、デプロイ完了後、またはデプロイ失敗後のいずれかに、アプリケー ションに対して1回限りのプロセスを実行することができます。ウェブプロセスのstartコマンドに移行スクリプトを追加するのではなく、別のプロセスで警告を送信したり、データベースの移行を実行したりするのに便利です。

ジョブは、設定された開始ポリシーに基づいてのみ起動し、必要な処理を終えるとシャットダウンします。

ジョブプロセスの追加

cronジョブは、「プロセス」画面で追加可能です。追加できる数に上限はありませんが、各プロセスを実行するには少なくとも1つのPodが必要です。

プロセスを作成」>「ジョブ」をクリックします。

ジョブを作成
ジョブを作成
  • 名前:プロセス名を入力します。デフォルトでは、ランダムな名前が自動入力されます。
  • カスタムstartコマンド:プロセスの起動に必要なコマンドを入力します(例:npm run [process])。
  • 開始ポリシー:処理を開始するタイミングを「デプロイ前」「デプロイ成功後」「デプロイ失敗後」のいずれかから選択します。
  • インスタンスのサイズ:プロセス専用のCPUとRAMの上限を決定します。

設定を終えたら「作成する」をクリックします。追加したプロセスの料金は、プロセスが実行されている時間分のみ毎月のお支払い額に加算されます。例えば、S1インスタンス(0.5 CPU/1 GB RAM)でジョブを追加し、月に60分間実行した場合は、3,600秒 × 0.0000076104(秒単価) = 0.03ドルとなります。

インスタンスサイズ(垂直スケーリング)を含め、プロセスの詳細はいつでも変更可能です。永続ストレージ水平スケーリングをcronジョブに追加することはできません。

Procfileでのプロセスの定義

Procfileはアプリケーションのコードからプロセスを定義し、リポジトリにコミットする必要があります。Procfileには、以下の形式で1行に1つのプロセスが含まれます。

process_name: command

例えば、Laravelアプリケーションを実行するには、次のようにします。

web: php artisan serve --host 0.0.0.0 --port 8080

Procfileを使用するには、コンテナがウェブリクエストに対応するように「web」という名前のプロセスを定義する必要があります。

アプリケーションリソースのスケーリング

任意のプロセスのPodサイズを変更したり(垂直方向のスケーリング)、同時に実行するPod数を変更したり(水平方向のスケーリング)できます。名前の変更以外の処理に伴い、アプリケーションのロールアウトが自動でトリガーされます。

  • 垂直スケーリングは、リソース集約的なタスク向けにより多くのパワーをPodにもたらします。
  • 水平スケーリングは、多くのリクエストを処理するアプリケーションの柔軟性を高め負荷を分散するのに効果的です。たとえば、同じPodの3つのバージョンを実行できます。基礎となるテクノロジーがリクエストを3つのPodのいずれかにルーティングし、負荷を効果的に分散します。1つのPodが不安定になると、それが健全になるまでリクエストが他の2つにルーティングされます。

Podサイズ」を含め、プロセスの詳細情報はいつでも変更できます。アプリケーションがステートレス(永続ストレージなし)の場合、「ウェブプロセス」の水平オートスケーリングを有効にできます。これにより、プロセスが必要に応じてスケールできるインスタンスの最小数と最大数(最大10)を設定可能です。Podサイズの変更やその他のスケーリングオプションの詳細については、スケーラビリティをご参照ください。

ビルドプロセスリソースの更新

ビルドプロセスに使用するリソースを変更するには「ビルドプランの更新」を押し、必要な「ビルドリソース」を選択して「ビルドを更新」をクリックします。

この記事は役に立ちましたか?

© 2013 - 2025 Kinsta Inc. 著作権所有。Kinsta®、MyKinsta®、DevKinsta®はKinsta Inc.が所有する登録商標です。登録商標WordPress®はWordPress Foundationの知的財産であり、登録商標Woo®並びにWooCommerce®はWooCommerce, Inc.の知的財産です。WordPress®、Woo®、WooCommerce®の当ウェブサイトでの使用は識別のみを目的としておりWordPress FoundationまたはWooCommerce, Inc.による推奨や承認を意味するものではありません。KinstaはWordPress FoundationまたはWooCommerce, Inc.により認定、所有されておらず、関連会社でもありません。 法的事項はこちらをご覧ください。