Automation Config インスタンスのセットアップと確認を実行するには、Salt マスターに Salt とマスター プラグインをインストールし、Cloud Services コンソールで API トークンを生成してから、Salt マスターを Automation Config に接続します。オンプレミスまたはクラウドにある Salt マスターを接続できます。

前提条件

Automation Config をセットアップする前に、次の前提条件を満たす必要があります。
  • VMware Cloud Services の以下のロールがあることを確認します。
    • [組織ロール]:組織の所有者または組織管理者
    • [サービス ロール]:Salt マスター
  • デフォルトの組織を、Automation Config サービスにアクセス可能な組織に設定します。

セットアップの概要

Automation Config のセットアップには、次のタスクが含まれます。

  1. Salt マスターと、Automation Config を使用して管理するノードに Salt をインストールします。詳細については、ステップ 1:Salt のインストールを参照してください。
  2. Automation Config と通信する必要がある Salt マスターにマスター プラグインをインストールまたはアップグレードします。詳細については、ステップ 2:マスター プラグインのインストールと構成を参照してください。
  3. API トークンを生成して、Salt マスターが Automation Config に接続できるようにします。詳細については、ステップ 3:API トークンの生成を参照してください。
  4. Salt マスターを Automation Config に接続します。詳細については、ステップ 4:Salt マスターの Automation Config への接続を参照してください。
  5. Automation Config ユーザー インターフェイスで Salt マスター キーを受け入れます。詳細については、ステップ 5:Salt マスター キーの受け入れを参照してください。

ステップ 1:Salt のインストール

Automation Config を使用する前に、Salt マスター ノードに Salt マスター サービスと Salt ミニオン サービスをインストールする必要があります。

Salt をインストールする前に、必要な依存関係をインストールします。詳細については、『Salt インストール ガイド』の 依存関係のインストールを参照してください。サポート対象の Salt オペレーティング システムのリストについては、「 Salt のサポート対象オペレーティング システム」を参照してください。
注: Salt Open Project のドキュメントは、VMware によって管理されています。

以下の手順では、RHEL 8 に最新の Salt リリースをインストールします。Salt を他のオペレーティング システムにインストールする方法については、Salt インストール ガイドを参照してください。

  1. オフラインまたはセキュアな環境で Salt をインストールする場合、Salt のインストールに必要な次の URL を許可するようにネットワーク プロキシを構成する必要があります。
    • https://repo.saltproject.io
    • https://pypi.org
    • https://python.org
    インストールを続行する前に、ネットワーク プロキシを介してネットワーク アクティビティを確認します。
  2. Salt マスターのターミナルで、次のコマンドを実行して Salt Project のリポジトリとキーをインストールします。
    sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/latest/SALTSTACK-GPG-KEY.pub
    curl -fsSL https://repo.saltproject.io/salt/py3/redhat/8/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
  3. sudo yum clean expire-cache を実行します。
  4. Salt マスターに salt-minion サービスと salt-master サービスをインストールします。
    sudo yum install salt-master
    sudo yum install salt-minion
  5. /etc/salt/minion.d ディレクトリ内に master.conf ファイルを作成します。
    touch master.conf
  6. master.conf ファイルで、自身を参照するように Salt マスターの IP アドレスを設定します。
    master: localhost
  7. Salt マスター サービスと Salt ミニオン サービスを開始します。
    sudo systemctl enable salt-master && sudo systemctl start salt-master
    sudo systemctl enable salt-minion && sudo systemctl start salt-minion
  8. ネットワーク プロキシを使用している場合は、ネットワーク設定に合うように変数 HTTP_PROXY および HTTPS_PROXY を設定します。
    1. systemd を使用して Salt マスター サービスを管理する場合は、salt-master.service ファイルに環境変数 HTTP_PROXY および HTTPS_PROXY を追加します。
    2. systemctl daemon-reload を実行します。
    3. systemctl restart salt-master を実行して、Salt マスター サービスを再起動します。

ステップ 2:マスター プラグインのインストールと構成

インフラストラクチャに Salt をインストールした後、マスター プラグインをインストールして構成する必要があります。これにより、Salt マスターが Automation Config と通信できるようになります。

既存の Salt マスターがある場合は、Salt マスターを Automation Config に接続する前に、入手可能な最新のバージョンにマスター プラグインをアップグレードします。詳細については、マスター プラグイン ワークスペースの使用を参照してください。

マスター プラグインのインストールと構成を実行するには、以下の手順を実行します。

  1. Salt マスターにログインします。
  2. [マスター プラグイン] ワークスペースから、マスター プラグインの最新バージョンをダウンロードします。マスター プラグインのバージョンは通常、8.12.1.2 のように 4 つの番号で構成されます。
    重要:

    マスター プラグインのバージョンは、Automation Config バージョンの始めの 3 つの番号と必ず一致します。たとえば、Automation Config バージョンが 8.12.1 の場合、マスター プラグインのバージョンは必ず 8.12.1.0 以降になります。Automation Config のバージョンは、[マスター プラグイン] ワークスペースで確認できます。

  3. Python wheel を手動でインストールすることにより、マスター プラグインをインストールします。コマンド例を、wheel ファイルの実際の名前に置き換えて使用してください。
    salt-call --local pip.install /path/to/SSEAPE-file-name.whl

    エアギャップ環境以外の環境では、このコマンドの実行時に依存関係がまだ存在しない場合、依存関係は自動的にインストールされます。エアギャップ環境の場合は、ナレッジベースの記事「Install the Salt Master Plugin on air-gapped systems」を参照してください。

  4. マスター構成設定を生成します。
    1. /etc/salt/master.d ディレクトリが存在することを確認し、ない場合は作成します。
    2. 次のコマンドを実行してマスター構成ファイルを生成します。
      sudo sseapi-config --all > /etc/salt/master.d/raas.conf

      このコマンドを実行するとエラーが発生する場合は、Automation Config のトラブルシューティングを参照してください。

  5. Salt マスター サービスを再起動します。
    sudo systemctl restart salt-master

ステップ 3:API トークンの生成

Salt マスターを Automation Config に接続するには、事前に Cloud Services コンソールを使用して API トークンを生成する必要があります。このトークンは、Salt マスターを VMware Cloud Services で認証する際に使用されます。

注: この手順を完了するには、組織の [組織管理者] ロールが必要です。組織ロールを表示するには、Cloud Services コンソールを開き、ユーザー名をクリックし、 [マイ アカウント] > [マイ ロール] を選択します。

[組織管理者] ロールが割り当てられていない場合は、組織の所有者に確認します。

API トークンを生成するには、次の手順に従います。

  1. Cloud Services コンソールでユーザー名をクリックし、[マイ アカウント] > [API トークン] の順に選択します。
  2. [トークンの生成] をクリックします。
  3. フォームに入力します。

    Cloud Services コンソールでのトークン フォームの生成

    1. トークンの名前を入力します。
    2. トークンの TTL 時間を選択します。デフォルトの期間は 6 か月です。
      注: 期限のないトークンは、侵害された場合にセキュリティ リスクになる可能性があります。そのような場合は、トークンを取り消す必要があります。
    3. トークンの範囲を定義します。
      範囲 説明
      組織ロール 組織ロールは、組織のリソースへのユーザーのアクセスを決定します。

      Automation Config サービスにアクセスするには、[組織管理者] または [組織所有者] ロールを選択する必要があります。

      サービス ロール サービス ロールは、VMware Cloud Services へのアクセスを許可する組み込みの事前定義された権限セットです。

      Automation Config サービスにアクセスするには、VMware Aria Automation サービスを検索します。

      [Config] サービスの横にあるドロップダウン矢印をクリックし、[Salt マスター] サービス ロールを選択します。

    4. (オプション)トークンの有効期限が近付いたときにリマインダを受信するように E メールを設定します。
    5. [生成] をクリックします。

      新しく生成された API トークンが [生成したトークン] ウィンドウに表示されます。

  4. トークンの認証情報を安全な場所に保存します。

    トークンの生成後は、[API トークン] 画面にトークンの名前のみが表示されます。認証情報は表示されません。トークンを再生成するには、[再生成] をクリックします。

ステップ 4:Salt マスターの Automation Config への接続

API トークンを生成したら、それを使用して Salt マスターを Automation Config に接続できます。

Salt マスターを接続するには、次の手順に従います。

  1. Salt マスターのターミナルで、API トークンを環境変数として保存します。
    export CSP_API_TOKEN=<api token value>
  2. sseapi-config join コマンドを実行して、Salt マスターを Automation Config に接続します。
    1. Salt マスターを Automation Config に初めて接続する場合は、次のコマンドを、ssc-urlcsp-url の値をリージョン固有の URL に置き換えて実行します。
      sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    2. sudo を使用する場合は、次のコマンドを実行します。
      sudo CSP_API_TOKEN=<api token value> sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
    3. 参加プロセスをやり直す必要がある場合は、sseapi-config join コマンドを再実行し、フラグ --override-oauth-app を渡します。
      sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL> --override-oauth-app

      --override-oauth-app フラグは、アクセス トークンの取得に使用される OAuth アプリケーションを削除し、再作成します。

    表 1. Automation Config のリージョン URL
    リージョン Automation Config URL Cloud Services の URL
    US https://ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    ドイツ https://de.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    インド https://in.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    カナダ https://ca.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    オーストラリア https://au.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com
    UK https://uk.ssc-mgmt.cloud.vmware.com https://console.cloud.vmware.com
    次のサンプル コードは、米国リージョンで応答に成功する例を示しています。
    2022-08-16 21:28:26 [INFO] SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    2022-08-16 21:28:26 [INFO] Retrieving CSP auth token.
    2022-08-16 21:28:27 [INFO] Creating new oauth app.
    2022-08-16 21:28:27 [INFO] Finished with oauth app [Salt Master App for master id:my-salt-master] in org [6bh70973-b1g2-716c-6i21-i9974a6gdc85].
    2022-08-16 21:28:29 [INFO] Added service role [saltstack:master] for oauth app [Salt Master App for master id:my-salt-master].
    2022-08-16 21:28:29 [INFO] Created pillar [CSP_AUTH_TOKEN].
    2022-08-16 21:28:29 [INFO] Updated master config. Please restart master for config changes to take effect.
    2022-08-16 21:28:29 [INFO] Updated master cloud.conf.
    2022-08-16 21:28:29 [INFO] Validating connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]
    2022-08-16 21:28:29 [INFO] Successfully validated connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]. Response: {'version': 'v8.9.0.5', 'vipVersion': '8.9.0'}
    2022-08-16 21:28:29 [INFO] Finished SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
    

    このコマンドを実行するとエラーが発生する場合は、Automation Config のトラブルシューティングを参照してください。

  3. Salt マスター サービスを再起動します。
    systemctl restart salt-master
  4. 各 Salt マスターに対してこのプロセスを繰り返します。
    注: 各 Salt マスターを Automation Config に接続した後で、API トークンを削除できます。API トークンは、Salt マスターを Automation Config に接続する場合のみ必要です。

sseapi-config コマンドを実行すると、各 Salt マスターの組織内に OAuth アプリケーションが作成されます。Salt マスターは OAuth アプリケーションを使用して、Automation Config へのすべての要求に追加されるアクセス トークンを取得します。OAuth アプリケーションの詳細を表示するには、[組織] > [OAuth アプリケーション] の順に選択します。

このコマンドは、Salt マスターに CSP_AUTH_TOKEN と呼ばれるピラー データも作成します。ピラーは、Salt マスターに格納され、そのデータへのアクセスが許可されている 1 つ以上のミニオンに渡されるデータの構造です。ピラー データは /srv/pillar/csp.sls に保存され、クライアント ID、シークレット、組織 ID、および CSP URL が含まれます。シークレットをローテーションする必要がある場合は、sseapi-config join コマンドを再実行できます。

ピラー データの例:

CSP_AUTH_TOKEN:
   csp_client_id: kH8wIvNxMJEGGmk7uCx4MBfPswEw7PpLaDh
   csp_client_secret: ebH9iuXnZqUOkuWKwfHXPjyYc5Umpa00mI9Wx3dpEMlrUWNy95
   csp_org_id: 6bh70973-b1g2-716c-6i21-i9974a6gdc85
   csp_url: https://console.cloud.vmware.com

ステップ 5:Salt マスター キーの受け入れ

Salt マスターを Automation Config に接続した後、Automation Config ユーザー インターフェイスで Salt マスターのキーを受け入れる必要があります。

Salt マスターのキーを受け入れるには、Automation Config[スーパーバイザー] ロールが必要です。ユーザー ロールを定義する方法を参照してください。

Salt マスターのキーを受け入れるには、次の手順に従います。

  1. Automation Config のユーザー インターフェイスにログインします。
  2. 左上のナビゲーション バーで、[メニュー] [メニュー] アイコン をクリックし、[管理] を選択して、[管理] ワークスペースにアクセスします。[マスター キー] タブをクリックします。

    マスター キーが表示されない場合は、Automation Config のトラブルシューティングを参照してください。

    注: キー フィンガープリントを確認することで、保留中のマスター キーが正しい Salt マスターから取得されていることを確認できます。Salt マスターで sseapi-config auth を実行してキー フィンガープリントを表示し、 [マスター キー] タブに表示されているフィンガープリントと同一であることを確認します。
  3. マスター キーの横にあるチェック ボックスをオンにして選択します。次に、[キーの受け入れ] をクリックします。
  4. Salt ミニオンを Salt マスターにすでに接続している場合は、受け入れが必要な保留中のミニオン キーがあることを示すアラートが表示されます。これらのミニオン キーを受け入れるには、[ミニオン キー] > [保留中] の順に選択します。
    1. ミニオンの横にあるチェック ボックスをオンにして選択します。次に、[キーの受け入れ] をクリックします。

    キーが受け入れられます。数秒後、ミニオンが [受け入れ済み] タブと [ターゲット] ワークスペースに表示されます。

Automation Config インターフェイスで test.ping コマンドを実行して、Salt マスターと Salt ミニオンが通信していることを確認できます。詳細については、[ターゲット] ワークスペースからのアドホック ジョブの実行を参照してください。

別のノードに Salt ミニオンを追加するには、この手順のステップ 1 に従い、salt-master をインストールまたは有効にするコマンドを消去して、Salt マスターのホスト名または IP アドレスを参照するように master.conf を編集します。詳細については、「Salt ミニオンの構成」を参照してください。

Salt マスターと Salt ミニオンが通信していない場合は、Automation Config のトラブルシューティングを参照してください。