Upgrade the Virtual Appliance in AWS
Upgrade the Virtual Appliance in AWS by replacing virtual machines and restoring backed-up data.
Upgrading the Virtual Appliance involves:
- Backing up and deleting the hard disks of the existing virtual machines.
- Deploying new virtual machines by using AMI image.
- Restoring the backup to their hard disks.
- Attaching the new hard disks to the older virtual machines
Splunk AppDynamics On-Premises Virtual Appliance provides the reference script that helps in upgrading the Virtual Appliance.
- Standard Deployment
- Hybrid Deployment
-
Follow steps to upgrade the Virtual Appliance in AWS.
Back Up the Virtual Appliance Data
Back up Virtual Appliance data before upgrading virtual machines in AWS.
Before you begin the upgrade, complete the following steps:
Generate a Backup File
Generate a backup file and save it outside the Virtual Appliance cluster.
Prepare the AWS Environment for the Upgrade
Prepare the AWS environment and configuration scripts required to upgrade Virtual Appliance virtual machines.
To upgrade virtual machines in AWS, you must create the image and snapshot from the new AMI.
To use AWS CLI, you require reference scripts. Download these script from the Splunk AppDynamics GitHub repository. In config.cfg, ensure to update or verify the configuration details such as tags, deployment configuration, and IP addresses. Run the scripts in the given order. For more information about AWS CLI, see AWS CLI Documentation.
You must use the same AWS profile, VPC, S3 Bucket, and IAM role that you created at the time of deployment. See Deploy and Configure Virtual Machines in AWS.
| AWS Resources | Description | Reference Scripts | |
|---|---|---|---|
| 1 | Image |
Upload the Splunk AppDynamics image in the S3 bucket that generates the AMI for Virtual Appliance. See Uploading objects. |
05-aws-upload-image.sh |
| 2 | Snapshot |
Snapshots help in using the AMI that you have uploaded to S3 bucket. Complete the following steps to obtain an AMI ID:
Note: The AMI ID is used to create virtual machines.
|
06-aws-import-snapshot.sh 07-aws-register- snapshot.sh |
Upgrade the Virtual Appliance
Run the required upgrade scripts to upgrade the Virtual Appliance environment.
Run the upgrade scripts in the given order:
| Step | Filename | |
|---|---|---|
| 1 | Obtain the details of the virtual machine. | 01-aws-get-vm-details.sh |
| 2 | Shutdown the virtual machine. | 02-aws-terminate-vms.sh |
| 3 | Check status of the virtual machine.
Ensure that all three virtual machines are terminated. If any of the virtual machines are not terminated, run the script again until all virtual machines are terminated. |
03-aws-get-vm-status.sh |
| 4 | Create a virtual machine. | 04-aws-create-vms.sh |
Verify the Deployment Status
Verify the deployment status of Virtual Appliance virtual machines and services in VMware Esxi.
Verify the deployment of virtual machines:
Restore Data in the Virtual Appliance
Restore backed-up data to the Virtual Appliance after completing a VMware ESXi upgrade.
Generate the Hybrid Configuration File
Generate the hybrid configuration file when custom certificates are not used for Ingress and Kafka clusters.
Hybrid deployments only: Generate this file when custom certificates are not used for the Ingress and Kafka clusters
Ensure that you have the latest CA certificates obtained after installing services. If not, update the CA certificates and regenerate the hybrid configuration file after restarting the service.
Configure the Standalone Controller for Hybrid Connectivity
Complete these checks before running the script:
- Extract the generated hybrid-config archive on the Controller host.
- Run the script from inside the extracted hybrid-config directory.
-
Identify the actual Controller home: The directory containing db/, tools/, and appserver/.
Tip:/home/appdynamics/appdynamics/platform/controller. The suggested default is/opt/appdynamics/platform/product/controller, but the installation path can vary. - Obtain the DNS name configured as
hybrid.mysql.dbHostin the Virtual Appliance. - Use an account with permission to update the Controller and MySQL certificate files.
Controller home example: /home/appdynamics/appdynamics/platform/controller. The suggested default is /opt/appdynamics/platform/product/controller, but the installation path can vary.
Keystore password behavior: The script first tries the standard keystore password, changeit. If that password cannot open the existing Controller CA truststore, the script prompts securely for the configured password. Typed password characters are not displayed.
The selected password is used consistently for:
- The Kafka client truststore.
- The Schema Registry client truststore.
- The existing Controller CA truststore.
- The
truststore-passwordfields in the obfuscated producer and consumer configurations.
appserver/jetty/etc/cacerts.jks.
Changes made by the script:
| Item | Location relative to Controller home | Action |
|---|---|---|
| Kafka client truststore | pi-kafka-ssl-config/kafka.client.truststore.jks |
Created or replaced using kafka-ca.crt. |
| Schema Registry client truststore | pi-kafka-ssl-config/schema-registry.client.truststore.jks |
Created or replaced using schema-registry-ca.crt. |
| Controller CA truststore | appserver/jetty/etc/cacerts.jks |
Replaces the k8s-cluster alias with schema-registry-ca.crt. |
| Kafka client configurations | pi-kafka-ssl-config/AnomalyDetectionKafka* |
Writes obfuscated producer and consumer configuration. |
| MySQL server certificate | Database data directory from db/db.cnf |
Generates a 365-day certificate containing the supplied DNS SAN. |
If the configuration is successful, the following message will be displayed:
Hybrid Controller configuration completed successfully.
After the script completes successfully, restart the Controller and its MySQL service. The Controller truststore and MySQL certificate changes do not take effect until the affected services are restarted.
Restart the Standalone Controller
Restart the Standalone Controller and MySQL service after completing configuration changes.