※この記事は公式ドキュメント「Chef 360 Platform service overview」の和訳です。

Chef 360 Platform サービス概要

Chef 360 Platformは、DevSecOps、フリート管理、ジョブ管理、およびその他のサポートサービスを提供する、統合されたサーバーサービス群です。

  • フリート管理 (Fleet management) は、パブリッククラウドやオンプレミスのデータセンターを含む、お客様のIT環境内のノードを登録および管理します。これらのサービスは「Node Management」によって提供されます。
  • ジョブ管理 (Job management) は、特定のスキルを持つCourierエージェントがインストールされたノードのフリート全体に対して、アドホックまたはスケジュールされた操作を計画および実行することを可能にします。これらのサービスは「Chef Courier」によって提供されます。
  • 宣言的状態管理 (Declarative State Management) は、インフラストラクチャ管理サービスを提供し、Chefの実証済みの構成管理機能をChef 360 Platformにもたらします。エンタープライズ規模と複雑さに特化して設計されており、パフォーマンス、信頼性、運用効率がかつてないほど向上しています。これらのサービスは「Chef DSM」によって提供されます。
  • サポートサービス (Supporting services) は、IDおよび組織の管理、アプリケーションプログラミングインターフェース(API)ルーティングゲートウェイ、シークレット管理、および他のサービスとの統合を提供します。これらのサービスは「Chef Platform services」によって提供されます。
  • Webアプリケーション (Web application) は、組織単位(OU)管理やロール管理などの機能へのアクセスを可能にします。パスワードの設定やCLIデバイスの登録承認を行うことができます。ログインしたユーザーのUIは、フリート管理およびジョブ管理によって維持されるデータへのアクセスを可能にします。これらのサービスは「Chef 360 Platform web UI services」によって提供されます。

Chef Node Management サービス

Chef Node Managementサービスは連携して以下のタスクを実行します:

  • ノードおよびノードグループの管理
  • Chef 360 Platformで管理するための新規ノードの登録

Node Management サービス

Node Managementサービスは、ノードおよびノードグループの管理を可能にします。各ノードにエンドポイントを提供し、ノード識別子、登録ステータス、属性、タグ、インストールされたスキル、スキル設定、チェックイン(ハートビート)、ノード証明書などの更新と監視に使用できます。 Node Managementサービスは、プラットフォームノードアカウント管理(登録時)およびChefデータベース(インフラストラクチャ)サービスと連携します。

Node Enrollment サービス

Node Enrollmentサービスは以下の目的で使用します:

  • 管理対象としての新規ノードの登録
  • ステータスの取得
  • ステータスの更新

ノード登録により、マシンリソース上にChef Node ManagementおよびChef Courierエージェントが追加され、それらのノードにスキルがインストールされ、ノード上のジョブやチェックインの監視が開始されます。登録には、プラットフォームの認証情報とWinRMやSSHなどのメカニズムを含む、ノードと通信するための手段が必要です。Node Enrollmentサービスは、Chefデータベース(インフラストラクチャ)サービスと連携します。

Chef Courier サービス

Chef Courierは、以下のタスクを連携して実行する6つのサービスを持っています:

  • ジョブリクエストの受け付け
  • ノード間でのジョブのスケジュールと計画
  • 適切なノードセットへのジョブの配信
  • 可視化のためのジョブステータスと生成物(アーティファクト)の中央保存

Courier Scheduler

Courier Schedulerは、新規ジョブの作成、将来のジョブスケジュールの見積もり、実行中の既存ジョブのキャンセル、保留中および完了したジョブのリスト表示を行うためのエンドポイントを提供します。また、スケジュール例外(ジョブの実行が許可されない時間帯、つまり除外またはブラックアウトウィンドウ)も管理します。 ジョブは作業の基本単位であり、タイミング、ステップ、関与するスキルやノード、エラー補正などを表します。ジョブはJSONドキュメントとして記述され、スケジューラに送信されるとファイルとして保存され、Courier Chronosによってピックアップされます。Chefファイルシステム(インフラストラクチャ)サービスと連携します。

Courier Scheduler Worker サービス

Courier Scheduler Workerは、Courier Schedulerによって送信された新規ジョブを監視するワーカーサービスです。新規ジョブが送信されると、ジョブ仕様を解析し、処理のためにOrchestrator Workerにジョブをプッシュします(即時実行予定、または将来実行予定のジョブを含みます)。ChefファイルシステムおよびChefメッセージキューイングサービスと連携します。

Courier Orchestrator Worker サービス

即時実行予定のジョブの受け入れ、ジョブのステップとノードの検証、ジョブ状態のアクティブへの移行、個々のノードに送信するための個別のステップへの分割を処理します。個別のステップはCourier Deliveryサービスに送信され、目的のノードの受信メッセージキューに配置されます。Courier Deliveryサービス、Chefデータベース、Chefメッセージキューイングと連携します。

Courier Delivery サービス

特定のノードにサブジョブを送信するエンドポイントを提供します。サブジョブは、ノードの受信メッセージキューに返す前に実行される1つ以上のステップで構成されます。また、特定のノードのチャネル(キュー)を作成する機能や、チャネルに対するノードの関連付けをリスト表示する機能も提供します。 ゼロトラストソリューションとして設計されており、サービスがエージェントにジョブを「プッシュ」するのではなく、エージェントがチャネルから「プル」します。特定ノード上のエージェントはチャネルをリッスンし、別のプラットフォームサービスを通じて送信されたジョブを認証できます。Chefメッセージキューイングと連携します。

Courier State サービス

ジョブのライフサイクル全体にわたる永続的な状態管理、ジョブ内のステップと属性のリスト表示、全体的なジョブステータスの報告、特定のジョブ実行からの結果取得を行います。Chefエージェントは個別のサブジョブを完了したときにこのサービスに報告し、全体的なジョブステータスに集約されます。結果には、ステップやノード別の詳細なステータスに加え、実行時のアーティファクト(特定のステップの出力ログなど)が含まれます。Chefデータベースと連携します。

Courier Orchestration Sentry サービス

Orchestrator Workerが処理しているジョブとワーカーのステータスを監視します。ワーカーがダウンした場合、関連するジョブを再試行します。Courier Orchestrator Worker、Chefデータベース、Chefメッセージキューイングと連携します。

Chef Declarative State Management (DSM) サービス

構成データのハブとして機能し、Chef Infra Clientによって管理される各ノードを記述するクックブック、Policyfile、およびメタデータを保存します。Chef Infra Clientは、ノードを設定するためにChef DSMからクックブック、レシピ、テンプレート、およびファイルディストリビューションを取得します。このスケーラブルなアプローチは、DSMサービスではなくノード自体でほとんどのタスクを実行することにより、組織全体に構成作業を分散させます。

Chef Platform Licensing

ユーザーライセンスの使用データを管理します。

License Management サービス

ライセンスの管理操作を実行するエンドポイントを提供します。新しいライセンスの読み込み、データの表示やダウンロード、エンタイトルメントの評価が可能です。Chefデータベース、Progress Licenseサービスと連携します。

License Proxy サービス

Chef InSpecなどの他のChef製品からのLicense Managementサービスの利用をサポートするエンドポイントを提供します。プロキシレイヤーとして機能し、正しいフォーマットでリクエストを転送し、レスポンスを期待されるフォーマットに変換します。System Managementサービス、License Managementサービスと連携します。

License Consumption Collector サービス

Chefライセンスの使用データを収集します。メッセージキューからノードのチェックインデータを読み取り、日次・月次の使用回数を更新します。新しい日のデータを受信すると、License Consumption Auditorサービスに通知して前日の監査を作成させます。Chefメッセージキューイング、Chefデータベースと連携します。

License Consumption Auditor サービス

組織単位ごとのライセンス使用データを集計および監査します。非エアギャップ環境では、追加されたライセンスのリストを取得して監査データに追加し、Progress Telemetryサービスに送信します。Chefメッセージキューイング、Chefデータベース、License Managementサービス、Progress Telemetryサービスと連携します。

License Usage サービス

特定の日またはサービスに対して作成されたすべての監査をリスト表示および表示するエンドポイントを提供します。Chefデータベースと連携します。

Chef Platform サービス

以下を提供します:

  • ロールベースのユーザーおよびサービスアクセスモデルに基づく、すべてのChefサービスへのリアルタイムでセキュアなゲートウェイ。
  • 通知などの非Chefサービスとの統合ポイント。

API Gateway サービス

ユーザー、ノード上のエージェント、サードパーティのサービスからのNode ManagementやCourierのエンドポイントへのリクエストを許可します。要求元のユーザー、組織単位、テナント、発信者のシークレットに基づく署名を含むAPIトークンでリクエストを検証します。呼び出し元に付与されたロールと特定のポリシーを、要求されたエンドポイントで必要なポリシーと比較してアクセスを制御します。Authorization、System、User Accounts、Node Accountsサービスと連携します。

Authorization サービス

APIゲートウェイの呼び出し元に対する「ロールとポリシー」の作成、変更、割り当てを管理します。ロールはユーザー、組織単位(OU)、またはエージェントに割り当てられ、1つ以上の特定のポリシーへのマッピングとなります。これらは属性ベース(ABAC)ではなく、ロールベースのアクセス制御(RBAC)です。APIゲートウェイ、Chefデータベースと連携します。

User Account サービス

全ユーザーの管理操作やセルフサービス操作を管理し、APIゲートウェイトークンを検証します。ユーザーをOAuthユーザーまたはローカルユーザーとして認証します。管理者は、テナント/OUへのユーザー割り当て、パスワード管理、APIトークン管理、ロールの追加などが可能です。APIゲートウェイ、Authorization、System Management、Notification、Chefデータベースと連携します。

Node Account サービス

ノードとそのロールマッピングを管理します。ノードの登録、検索、有効化、無効化のエンドポイントを提供し、関連する資格情報のローテーションを自動またはカスタムで行います。APIゲートウェイ、Authorization、Node Management、Chefデータベースと連携します。

System Management サービス

APIゲートウェイの呼び出し元に対して、テナントと組織単位(OU)を作成、変更、割り当てます。テナントはシステムユーザー間の基本的なセキュリティ境界であり、FQDN、スラッグ、テナントシークレットの属性を持ちます。APIゲートウェイ、User Account、Chefデータベースと連携します。

Notifications サービス

メール連携を管理し、テナントごとのSMTPゲートウェイ設定や外部アドレスへのメッセージ送信を行います。お客様提供のSMTPゲートウェイ、Chefデータベースと連携します。

Bundled Tools サービス

Chef 360 Platform CLIや関連ツールのダウンロードを提供します。Linux、Windows、macOSと互換性があり、386、arm64、amd64アーキテクチャをサポートします。

SSO サービス

シングルサインオン(SSO)プロバイダーを設定し、OpenID Connect(OIDC)およびSAMLプロバイダーを利用したシームレスな認証統合を実現します。既存のIDプロバイダーを統合し、Chef 360 Platform内のセキュリティやアクセス制御ポリシーを維持しながら認証が可能になります。User Account、外部IDプロバイダー、Chefデータベースと連携します。

Chef web UI サービス

Chef 360 Platform機能へのセキュアなマイクロフロントエンドベースのインターフェースを提供し、組織管理者がこのWebアプリケーションを使用してユーザーやロールを管理できるようにします。

おわりに:技術サポート・移行支援のご案内

弊社では、今回のようなChef Infra Serverからの移行に不安を抱えるお客様に対し、現在の環境の構成やInSpecの活用状況を詳細にアセスメントし、最適な移行ロードマップをご提案するサポートを実施しております。

  • 「自社環境ではSaaS版とSelf-Managed版のどちらが最適か」
  • 「具体的な移行手順や必要な期間を知りたい」

といったご相談がございましたら、お客様のDevOps推進を支援する弊社の専門チームまで、ぜひお気軽にお問い合わせください。

お問い合わせ

カテゴリー: ChefChef 360