Automation Config インスタンスのセットアップと確認を実行するには、Salt マスターに Salt とマスター プラグインをインストールし、Cloud Services コンソールで API トークンを生成してから、Salt マスターを Automation Config に接続します。オンプレミスまたはクラウドにある Salt マスターを接続できます。
前提条件
- VMware Cloud Services の以下のロールがあることを確認します。
- [組織ロール]:組織の所有者または組織管理者
- [サービス ロール]:Salt マスター
- デフォルトの組織を、Automation Config サービスにアクセス可能な組織に設定します。
セットアップの概要
Automation Config のセットアップには、次のタスクが含まれます。
- Salt マスターと、Automation Config を使用して管理するノードに Salt をインストールします。詳細については、ステップ 1:Salt のインストールを参照してください。
- Automation Config と通信する必要がある Salt マスターにマスター プラグインをインストールまたはアップグレードします。詳細については、ステップ 2:マスター プラグインのインストールと構成を参照してください。
- API トークンを生成して、Salt マスターが Automation Config に接続できるようにします。詳細については、ステップ 3:API トークンの生成を参照してください。
- Salt マスターを Automation Config に接続します。詳細については、ステップ 4:Salt マスターの Automation Config への接続を参照してください。
- Automation Config ユーザー インターフェイスで Salt マスター キーを受け入れます。詳細については、ステップ 5:Salt マスター キーの受け入れを参照してください。
ステップ 1:Salt のインストール
Automation Config を使用する前に、Salt マスター ノードに Salt マスター サービスと Salt ミニオン サービスをインストールする必要があります。
以下の手順では、RHEL 8 に最新の Salt リリースをインストールします。Salt を他のオペレーティング システムにインストールする方法については、Salt インストール ガイドを参照してください。
- オフラインまたはセキュアな環境で Salt をインストールする場合、Salt のインストールに必要な次の URL を許可するようにネットワーク プロキシを構成する必要があります。
- https://repo.saltproject.io
- https://pypi.org
- https://python.org
- 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
sudo yum clean expire-cache
を実行します。- Salt マスターに salt-minion サービスと salt-master サービスをインストールします。
sudo yum install salt-master sudo yum install salt-minion
/etc/salt/minion.d
ディレクトリ内にmaster.conf
ファイルを作成します。touch master.conf
master.conf
ファイルで、自身を参照するように Salt マスターの IP アドレスを設定します。master: localhost
- Salt マスター サービスと Salt ミニオン サービスを開始します。
sudo systemctl enable salt-master && sudo systemctl start salt-master sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- ネットワーク プロキシを使用している場合は、ネットワーク設定に合うように変数
HTTP_PROXY
およびHTTPS_PROXY
を設定します。systemd
を使用して Salt マスター サービスを管理する場合は、salt-master.service
ファイルに環境変数HTTP_PROXY
およびHTTPS_PROXY
を追加します。systemctl daemon-reload
を実行します。systemctl restart salt-master
を実行して、Salt マスター サービスを再起動します。
ステップ 2:マスター プラグインのインストールと構成
インフラストラクチャに Salt をインストールした後、マスター プラグインをインストールして構成する必要があります。これにより、Salt マスターが Automation Config と通信できるようになります。
既存の Salt マスターがある場合は、Salt マスターを Automation Config に接続する前に、入手可能な最新のバージョンにマスター プラグインをアップグレードします。詳細については、マスター プラグイン ワークスペースの使用を参照してください。
マスター プラグインのインストールと構成を実行するには、以下の手順を実行します。
- Salt マスターにログインします。
- [マスター プラグイン] ワークスペースから、マスター プラグインの最新バージョンをダウンロードします。マスター プラグインのバージョンは通常、8.12.1.2 のように 4 つの番号で構成されます。
重要:
マスター プラグインのバージョンは、Automation Config バージョンの始めの 3 つの番号と必ず一致します。たとえば、Automation Config バージョンが 8.12.1 の場合、マスター プラグインのバージョンは必ず 8.12.1.0 以降になります。Automation Config のバージョンは、[マスター プラグイン] ワークスペースで確認できます。
- Python wheel を手動でインストールすることにより、マスター プラグインをインストールします。コマンド例を、wheel ファイルの実際の名前に置き換えて使用してください。
salt-call --local pip.install /path/to/SSEAPE-file-name.whl
エアギャップ環境以外の環境では、このコマンドの実行時に依存関係がまだ存在しない場合、依存関係は自動的にインストールされます。エアギャップ環境の場合は、ナレッジベースの記事「Install the Salt Master Plugin on air-gapped systems」を参照してください。
- マスター構成設定を生成します。
/etc/salt/master.d
ディレクトリが存在することを確認し、ない場合は作成します。- 次のコマンドを実行してマスター構成ファイルを生成します。
sudo sseapi-config --all > /etc/salt/master.d/raas.conf
このコマンドを実行するとエラーが発生する場合は、Automation Config のトラブルシューティングを参照してください。
- Salt マスター サービスを再起動します。
sudo systemctl restart salt-master
ステップ 3:API トークンの生成
Salt マスターを Automation Config に接続するには、事前に Cloud Services コンソールを使用して API トークンを生成する必要があります。このトークンは、Salt マスターを VMware Cloud Services で認証する際に使用されます。
[組織管理者] ロールが割り当てられていない場合は、組織の所有者に確認します。
API トークンを生成するには、次の手順に従います。
- Cloud Services コンソールでユーザー名をクリックし、 の順に選択します。
- [トークンの生成] をクリックします。
- フォームに入力します。
- トークンの名前を入力します。
- トークンの TTL 時間を選択します。デフォルトの期間は 6 か月です。
注: 期限のないトークンは、侵害された場合にセキュリティ リスクになる可能性があります。そのような場合は、トークンを取り消す必要があります。
- トークンの範囲を定義します。
範囲 説明 組織ロール 組織ロールは、組織のリソースへのユーザーのアクセスを決定します。 Automation Config サービスにアクセスするには、[組織管理者] または [組織所有者] ロールを選択する必要があります。
サービス ロール サービス ロールは、VMware Cloud Services へのアクセスを許可する組み込みの事前定義された権限セットです。 Automation Config サービスにアクセスするには、VMware Aria Automation サービスを検索します。
[Config] サービスの横にあるドロップダウン矢印をクリックし、[Salt マスター] サービス ロールを選択します。
- (オプション)トークンの有効期限が近付いたときにリマインダを受信するように E メールを設定します。
- [生成] をクリックします。
新しく生成された API トークンが [生成したトークン] ウィンドウに表示されます。
- トークンの認証情報を安全な場所に保存します。
トークンの生成後は、[API トークン] 画面にトークンの名前のみが表示されます。認証情報は表示されません。トークンを再生成するには、[再生成] をクリックします。
ステップ 4:Salt マスターの Automation Config への接続
API トークンを生成したら、それを使用して Salt マスターを Automation Config に接続できます。
Salt マスターを接続するには、次の手順に従います。
- Salt マスターのターミナルで、API トークンを環境変数として保存します。
export CSP_API_TOKEN=<api token value>
sseapi-config join
コマンドを実行して、Salt マスターを Automation Config に接続します。- Salt マスターを Automation Config に初めて接続する場合は、次のコマンドを、
ssc-url
とcsp-url
の値をリージョン固有の URL に置き換えて実行します。sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
sudo
を使用する場合は、次のコマンドを実行します。sudo CSP_API_TOKEN=<api token value> sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
- 参加プロセスをやり直す必要がある場合は、
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 のトラブルシューティングを参照してください。
- Salt マスターを Automation Config に初めて接続する場合は、次のコマンドを、
- Salt マスター サービスを再起動します。
systemctl restart salt-master
- 各 Salt マスターに対してこのプロセスを繰り返します。
注: 各 Salt マスターを Automation Config に接続した後で、API トークンを削除できます。API トークンは、Salt マスターを Automation Config に接続する場合のみ必要です。
sseapi-config
コマンドを実行すると、各 Salt マスターの組織内に OAuth アプリケーションが作成されます。Salt マスターは OAuth アプリケーションを使用して、Automation Config へのすべての要求に追加されるアクセス トークンを取得します。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 マスターのキーを受け入れるには、次の手順に従います。
- Automation Config のユーザー インターフェイスにログインします。
- 左上のナビゲーション バーで、[メニュー] をクリックし、[管理] を選択して、[管理] ワークスペースにアクセスします。[マスター キー] タブをクリックします。
マスター キーが表示されない場合は、Automation Config のトラブルシューティングを参照してください。
注: キー フィンガープリントを確認することで、保留中のマスター キーが正しい Salt マスターから取得されていることを確認できます。Salt マスターでsseapi-config auth
を実行してキー フィンガープリントを表示し、 [マスター キー] タブに表示されているフィンガープリントと同一であることを確認します。 - マスター キーの横にあるチェック ボックスをオンにして選択します。次に、[キーの受け入れ] をクリックします。
- Salt ミニオンを Salt マスターにすでに接続している場合は、受け入れが必要な保留中のミニオン キーがあることを示すアラートが表示されます。これらのミニオン キーを受け入れるには、
- ミニオンの横にあるチェック ボックスをオンにして選択します。次に、[キーの受け入れ] をクリックします。
キーが受け入れられます。数秒後、ミニオンが [受け入れ済み] タブと [ターゲット] ワークスペースに表示されます。
の順に選択します。
Automation Config インターフェイスで test.ping コマンドを実行して、Salt マスターと Salt ミニオンが通信していることを確認できます。詳細については、[ターゲット] ワークスペースからのアドホック ジョブの実行を参照してください。
別のノードに Salt ミニオンを追加するには、この手順のステップ 1 に従い、salt-master
をインストールまたは有効にするコマンドを消去して、Salt マスターのホスト名または IP アドレスを参照するように master.conf
を編集します。詳細については、「Salt ミニオンの構成」を参照してください。
Salt マスターと Salt ミニオンが通信していない場合は、Automation Config のトラブルシューティングを参照してください。