Start Building for Free
CircleCI.comアカデミーブログコミュニティサポート

セルフホストランナーのスケーリング

1 month ago1 min read
クラウド
Server v4.x
Server v3.x
このページの内容

はじめに

CircleCI セルフホストランナー用に固定のコンピューティングフリートを保持するには、ジョブがキューに入る率に応じてワークロードが変動するため、不要なコストが発生する可能性があります。 このコストを削減するために、コンピューティングフリートを需要に応じてスケールすることができます。

CircleCI ブログ より、AWS AutoScaling グループを使ってセルフホストランナーをスケールするためのサンプルを使ったチュートリアルをご覧いただけます。

データのスケーリング

データをスケールするためのソリューションのセットアップに役立つ API エンドポイントは複数あります。

スケーリングソリューションにより、上記のエンドポイントを使って実行可能な待機タスクの合計数を計算することができます。 タスクデータエンドポイントのスコープは 1つのリソースクラスにスコープされるため、使用可能なすべてのリソースクラスを照会して、実行中のタスクの合計数を取得することが重要です。

そうすることで、新しいクレームエージェントを追加するリソースクラスを自由に決定できます。 リソースクラス間でのタスクの分配は、CircleCI が行う受信ワークロードと内部ディスパッチによって決まります。

注: 使用できないコンピューティングを開始してしまわないよう、プランの同時実行制限にも注意する必要があります。 これは CircleCI の 料金プランのページでご確認いただけます。 Scale プランのお客様は、サポートチームに連絡をしてこの情報を確認してください。

エージェントの設定

需要が減った際にリソースのクリーンアップをサポートするためにスケーリングソリューションが使用する launch-agent の設定はいくつかあります。

  • ランナーモード

    • single-task モードを選択すると、launch-agent は一つのタスクが終わるとシャットダウンします。 このモードは、launch-agent の終了時にリソースが自動的にリサイクルされるので、完全に一時的なコンピューティングを使用する場合に便利です。

    • continuous モードを選択すると、launch-agent はタスクの終了後に新しいタスクをポーリングします。 スケーリングソリューションはタスクのワークロードを監視し、使用していない launch-agents を積極的にシャットダウンする必要があります。

  • ランナーのアイドル状態のタイムアウト

    • 需要が低い期間のリソースの自動リサイクルに、妥当なタイムアウトを設定することができます。


ドキュメントの改善にご協力ください

このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。

サポートが必要ですか

CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。

または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。