vRealize Automation SaltStack Config を使用して、任意のクラウド またはオンプレミス ネットワーク上に仮想マシン、サーバ、コンテナ、およびネットワーク デバイスをすばやく展開および構成できる、自動化されたイベントベース構成管理システムを作成する方法について説明します。

ビデオ ウォークスルーについては、vRealize Automation SaltStack Configを参照してください。

SaltStack Config とは

IT システム管理者と DevOps チーム メンバーは、自分の役割にサーバの設定やサービスの実行以外の作業が含まれていることを認識しています。SaltStack Config を使用することで、チームは一般的なインフラストラクチャ管理タスクを自動化し、インフラストラクチャのすべてのコンポーネントが整合性のある目的の状態で動作するようにできます。

SaltStack Config はプラグ可能で、多くの既存のテクノロジーと適切に連携します。SaltStack Config を使用するために、既存のすべての構成管理システムのリファクタリングを行う必要はありません。サードパーティ製ツールの出力コードと情報に応答して、マシンのライフサイクル全体を管理することができます。

必要な作業 使用するサービス 併用するサービス

プロビジョニング

Idem と salt-cloud

Terraform

構成

SaltStack Config と Salt

Ansible または Puppet

展開

SaltStack Config と Salt

Drone または Bamboo

管理

SaltStack Config と Salt

Splunk または CloudHealth

セキュア

SaltStack SecOps

Tenable または Rapid7

SaltStack SecOps とは

SaltStack Config には、SaltStack SecOps アドオンを購入するオプションも用意されています。SaltStack SecOps は、SaltStack Config のイベントベース自動化テクノロジーを利用して、2 つの追加のセキュリティ サービスを提供します。

  • セキュリティ準拠

    セキュリティ ポリシーを作成し、システムをスキャンして、業界で認知されたサポート対象のセキュリティ ベンチマークに準拠しているかどうかを判断します。SaltStack SecOps は、アップデートまたはパッチを即座に展開して、システムを準拠させることができます。現在 SaltStack SecOps で使用可能なセキュリティ ベンチマークの包括的なリストについては、サポートされるセキュリティおよびコンプライアンスのベンチマークを参照してください。

  • 脆弱性の修正

    セキュリティ ポリシーを作成し、システムをスキャンして Common Vulnerabilities and Exposures (CVE) を検出したら、すぐにアップデートまたはパッチを適用してアドバイザリを修正します。Tenable や Rapid7 などの他のサードパーティ製スキャン サービスからセキュリティ スキャンをインポートして、これらのアドバイザリを直ちに修正することもできます。

詳細については、SaltStack SecOps の使用と管理を参照してください。

SaltStack Config の機能

SaltStack Config は、VMware が資金を提供しているオープンソースの自動化および構成管理エンジンであるSaltを利用しています。Salt は Salt プロジェクト コミュニティによって構築され、コミュニティ内の 3,000 人を超える協力者がユーザーと同じような役割を果たしています。知名度と信頼度の高いこのコミュニティでは、一般的なタスクを実行するさまざまな実行モジュールと状態モジュールを作成し、ロール内のユーザーが直面する可能性のある最も重要な問題を解決することによって、基盤となるテクノロジーの改善および Salt の拡張を共同で行っています。

Salt モジュールを使用すると、次のような一般的なインフラストラクチャ管理タスクをすばやく、かつ一貫した方法で自動化できます。

  • オペレーティング システムの展開と構成の管理
  • ソフトウェア アプリケーションおよびサービスのインストールと構成
  • サーバ、仮想マシン、コンテナ、データベース、Web サーバ、ネットワーク デバイスなどの管理

つまり、SaltStack Config には事前にパッケージ化された Salt モジュールが多数付属し、環境に SaltStack Config をインストールした後すぐに使用することができます。

VMware は、Salt プロジェクトの公式のスポンサーおよびマネージャとして機能することにより、Salt モジュールのコードの整合性と品質を維持します。Salt プロジェクトの主要な協力者の多くは、VMware 従業員でもあります。このチームは Salt モジュールを慎重に確認し、速度、品質、およびセキュリティを維持できるよう強化します。

SaltStack Config は、ユーザーが以下の操作を実行できるように Salt のテクノロジーを拡張します。

  • 各種ベンダーのスイッチやルーターなど、さまざまなタイプのネットワーク デバイスを含む任意のクラウド環境またはオンプレミス環境で、任意のオペレーティング システムで実行される技術スタックを使用するアプリケーションを展開および管理します。
  • サーバを一貫した方法で迅速に構築し、これらのサーバ上でサービスを構成するチームの能力を高めます。
  • システム停止、一般的な管理上の問題、またはその他の重要なイベントに自動的に対応できる、自己対応型の自己修復システムを作成します。
  • ネットワーク上で実行可能な特定のリソースおよびジョブ タイプに適したアクセス レベルを提供し、インフラストラクチャのセキュリティを確保するとともに、従業員が環境内で基本的な業務に必要なジョブを実行する権限も付与します。

SaltStack Config を構成管理に使用する理由

IT システム管理者と DevOps チーム メンバーのロールの大部分は、多くの場合サーバの設定やサービスの実行に関係しています。システム内のほとんどのノードおよびアプリケーションで、必要なロールまたは目的に基づくカスタム構成が必要になる場合があります。また、時間の経過に伴って構成が変化した場合や、一度に数百または数千のノードの構成を更新する必要が生じて構成を変更した場合は、構成の更新が非常に複雑になる可能性があります。

各ノードまたはアプリケーションを 1 つずつ手動で構成する代わりに、SaltStack Config 状態管理システムを使用して、複数のノードに同時に適用できる状態ファイルを作成することができます。これらの状態ファイルには、ノードで実行する必要がある操作、適用する必要がある構成ファイルまたは設定、およびこれらを適用する順序を SaltStack Config に指示する一連の命令を含めることができます。

状態ファイルを作成または変更した後に、これらの状態ファイルを自動的に実行して、一度に多くのノードに適用することができます。各ノードの固有のプロパティ(オペレーティング システムなど)に基づいてノードをターゲットにすることも、定義したカスタム ラベル(インフラストラクチャ内のノードのロールやデータセンター内の物理的な場所など)に基づいてノードをターゲットにすることもできます。SaltStack Config はこのシステム(Salt システムでは「グレイン」と呼ばれる)を使用して状態ファイルを迅速に展開し、1 台から 100,000 台までの任意の規模のノードを構成できます。また、これらの状態ファイルを、クラウド環境とオンプレミス環境内で水平方向および垂直方向に同時に展開することもできます。

また、状態管理システムによって各ノードが適切に、かつ可能な限り効率的に構築されます。構成ドリフトが発生した場合、SaltStack Config はノードとアプリケーションを準拠した構成状態に戻すことができます。構成を変更する必要がある場合、SaltStack Config は影響を受けるノードに変更を迅速に展開できます。

SaltStack Config 状態管理システムは、infrastructure-as-code システムでも適切に機能します。状態ファイルをコード形式で保存すると、チームはシステムについての読み取り、記述、および理解を簡単に行うことができます。ステートフル システムによってシステムの構成は簡素化され、新しいチーム メンバーのオンボーディングが容易になり、把握しづらい複雑なシステムは防止されます。また、チームは、時間の経過に伴うインフラストラクチャの変更履歴を制御および監視し、必要に応じて古い構成状態にロールバックできるようになります。状態ファイルは、SaltStack Config ファイル サーバにローカルに保存することも、コードを保存する場合と同じように、安全かつプライベートなバージョン管理リポジトリ(GitHub や GitLab など)に接続して保存することもできます。

イベントベースの自動化に SaltStack Config を使用する理由

IT システム管理者および DevOps チーム メンバーには、サーバの構築やアプリケーションの展開以外にも重要な役割があります。環境内で発生する多数のイベントでは、多くの場合チームによる個別の対応が必要になります。イベントに応答するために必要なアクションは通常、定期的かつ反復的であるため、自動化することが可能です。

SaltStack Config のイベントベース自動化機能を使用すると、特定のイベントに応答できる一連のアクションを開始することで、これらのイベントに応答可能なシステムを設計できます。

イベントベースの自動化には、多くの実用的な用途があります。たとえば、SaltStack Config を使用して次の処理を行うことができます。

  • システムがダウンしたとき(サーバやアプリケーションを再起動した場合)に関係者に通知し、自身の修復プロセスを開始できる自己修復システムを作成します。
  • サーバ データのバックアップと保存を定期的に行うスケジュールを実行します。
  • システムの更新を確認して、自動的に通知するか、オペレーティング システムとアプリケーションを最新バージョンにすばやく、スムーズにアップグレードします。

セキュリティに準拠して脆弱性を修正するために SaltStack SecOps を使用する理由

インフラストラクチャが信頼できるセキュリティ ベンチマークに準拠していない場合、またはインフラストラクチャが既知の CVE (Common Vulnerabilities and Exposures) の影響を受けやすい場合は、できるだけ早く問題を修正するパッチまたはアップグレードを展開する必要があります。SaltStack SecOps を使用すると、これらの問題を修正するパッチまたはアップグレードを自動的に展開するか、直ちに展開することができます。

SaltStack SecOps が他のセキュリティ コンプライアンス ツールや脆弱性スキャン ツールと異なる点は、SaltStack SecOpsSaltStack Config の構成管理機能を使用して検出された問題を直ちに修正できることです。

システム管理者は、SaltStack SecOps のロールベースのアクセス制御 (RBAC) システムを使用して、セキュリティ チームに、ポリシーを作成する機能、スキャンを実行する機能、およびコンプライアンス問題やセキュリティの問題を自分の責任の範囲内で修正する機能を提供することができます。管理者は、システム リソースまたはシステム操作へのアクセスを監視および制御すると同時に、セキュリティ チームにシステムのセキュリティとコンプライアンスを維持する権限を付与することもできます。