PostgreSQL、Redis、および Salt を最新バージョンにアップグレードしたら、次は RaaS ノードを以前のバージョンから最新バージョンにアップグレードする必要があります。
データベースのアップグレードにはデータの再インデックス化が必要であることに注意してください。データが複雑な場合、データベースのアップグレードに数時間かかる場合があります。アップグレードをいつ計画するかや、その他のヒントについては、アップグレードするときのベスト プラクティスを参照してください。
RaaS ノードをアップグレードする前に、データの損失を回避するために、[システム データをバックアップする必要があります]。アップグレード前にバックアップする必要があるファイルとディレクトリの説明については、データのバックアップを参照してください。
RaaS ノードをアップグレードするには、次の手順に従います。
- Customer Connect からアップグレード ファイルをダウンロードします。
- デフォルトのファイル システム、ピラー データ、およびジョブに加えた変更を、新しいファイルまたはジョブとして保存します。
- デフォルトのターゲットに対して行われたすべてのピラーの割り当てをメモします。これらはアップグレード後に再割り当てする必要があります。
- 次のコマンドを使用して、RaaS サービスを停止します。
sudo systemctl stop raas
/var/log/raas
ディレクトリのログ ファイルを削除します。ログ ファイルをクリアしておくと、トラブルシューティングが必要になった場合に、クリーンなログ ファイルを取得できます。- 次のコマンドを使用して、現在インストールされているバージョンの API (RaaS) を削除します。
sudo yum remove raas
- 最新の RPM をインストールして、RaaS ノードをアップグレードします。次のコマンド例を、RPM の実際のファイル名に置き換えて使用します。
sudo yum install raas-rpm-file-name.rpm
- [重要:]次のファイルのバックアップを復旧します。
/etc/raas/raas
/etc/raas/raas.secconf
/etc/raas/pki/
- 次のコマンドを使用して、
raas
ユーザーの権限を更新します。sudo chown -R raas:raas /etc/pki/raas/certs
- オプション:SaltStack SecOps ライセンスを持っていて、コンプライアンス ライブラリを追加する場合は、
/etc/raas/raas
ファイルに次の新しいセクションを追加します。sec: ingest_override: true locke_dir: locke post_ingest_cleanup: true username: 'secops' content_url: 'https://enterprise.saltstack.com/secops_downloads' download_enabled: true download_frequency: 86400 stats_snapshot_interval: 3600 compile_stats_interval: 10 ingest_on_boot: True content_lock_timeout: 60 content_lock_block_timeout: 120
注:この手順はオプションであり、有効な SaltStack SecOps ライセンスを持つ組織にのみ適用されます。このアドオン モジュールは、SaltStack Config バージョン 6.0 以降で使用できます。
/etc/raas/raas
構成ファイル内の以前の構成オプションは、これらのアドオン モジュールに固有です。 - オプション:SaltStack SecOps ライセンスを持っていて、脆弱性ライブラリを追加する場合は、
/etc/raas/raas
ファイルに次の新しいセクションを追加します。vman: vman_dir: vman download_enabled: true download_frequency: 86400 username: vman content_url: 'https://enterprise.saltstack.com/vman_downloads' ingest_on_boot: true compile_stats_interval: 60 stats_snapshot_interval: 3600 old_policy_file_lifespan: 2 delete_old_policy_files_interval: 86400 tenable_asset_import_enabled: True tenable_asset_import_grains: ['fqdn', 'ipv4', 'ipv6', 'hostname', 'mac_address', 'netbios_name', 'bios_uuid', 'manufacturer_tpm_id', 'ssh_fingerprint', 'mcafee_epo_guid', 'mcafee_epo_agent_guid', 'symantec_ep_hardware_key', 'qualys_asset_id', 'qualys_host_id', 'servicenow_sys_id', 'gcp_project_id', 'gcp_zone', 'gcp_instance_id', 'azure_vm_id', 'azure_resource_id', 'aws_availability_zone', 'aws_ec2_instance_ami_id', 'aws_ec2_instance_group_name', 'aws_ec2_instance_state_name', 'aws_ec2_instance_type', 'aws_ec2_name', 'aws_ec2_product_code', 'aws_owner_id', 'aws_region', 'aws_subnet_id', 'aws_vpc_id', 'installed_software', 'bigfix_asset_id' ]
注:この手順はオプションであり、有効な SaltStack SecOps ライセンスを持つ組織にのみ適用されます。このアドオン モジュールは、SaltStack Config バージョン 6.0 以降で使用できます。
/etc/raas/raas
構成ファイル内の以前の構成オプションは、これらのアドオン モジュールに固有です。 - 現在、RaaS には、古いジョブに関連する既知の問題があります。アップグレード時に、一部のユーザーが、保留中の状態でスタックされている古いジョブのキューに気づく場合があります。これらのジョブを先に消去しておかないと、RaaS ノードをアップグレードしたときに、これらのジョブが実行される可能性があります。
そうなることを回避するには、まず、古いコマンドがデータベースに格納されているかどうかを確認します。PostgreSQL ノードで、次のコマンドを使用して、保留中のジョブを調べます。
select count(1) from commands where state='new';
結果として、保留中のジョブの数が表示されます。ジョブの数が
0
である場合は、残りのアップグレード プロセスを続行します。ジョブの数が0
より大きい場合は、回避策をサポートに問い合わせてください。 - 次のコマンドを使用して、RaaS サービス データベースをアップグレードします。
sudo su - raas raas upgrade
注:データベースのサイズによっては、アップグレードに数分から 1 時間以上かかる場合があります。エラーが発生する場合は、
/var/log/raas/raas
ログ ファイルで詳細情報を確認してください。 - アップグレード後、次のコマンドを使用して、
raas
ユーザーのセッションを終了します。exit
- 次のコマンドを使用して、RaaS サービスを開始します。
sudo systemctl enable raas sudo systemctl start raas
SaltStack Config が正しく機能し、最新バージョンが実行されていることを確認します。次のセクションに進みます。
次の手順
RaaS ノードがアップグレードされたら、最後のタスクはマスター プラグインをアップグレードすることです。詳細については、マスター プラグインのアップグレードを参照してください。