Deploying Ops Manager on AWS
Page last updated:
This topic describes how to deploy VMware Tanzu Operations Manager (Ops Manager) on Amazon Web Services (AWS).
Before you deploy Ops Manager, see the preparation steps in Preparing to Deploy Ops Manager on AWS.
After you complete this procedure, follow the instructions in Configuring BOSH Director on AWS.
Step 1: Launch an Ops Manager AMI
To launch an Amazon Machine Image (AMI) for Ops Manager:
Navigate to the Ops Manager section of VMware Tanzu Network.
Select the version of Ops Manager you want to install from the Releases dropdown.
In the Release Download Files, click the file named Ops Manager for AWS to download a PDF.
Open the PDF and identify the AMI ID for your region.
Return to the EC2 Dashboard.
Click AMIs from the Images menu.
Select Public images from the dropdown filter that says Owned by me.
Paste the AMI ID for your region into the search bar and press enter.
Note: There is a different AMI for each region. If you cannot locate the AMI for your region, verify that you have set your AWS Management Console to your desired region. If you still cannot locate the AMI, log in to the VMware Tanzu Network and file a Support ticket.
(Optional) If you want to encrypt the VM that runs Ops Manager with AWS Key Management Service (KMS), perform the following additional steps:
- Right click the row that lists your AMI and click Copy AMI.
- Select your Destination region.
- Select Encryption. For more information about AMI encryption, see Encryption and AMI Copy from the Copying an AMI topic in the AWS documentation.
- Select your Master Key. To create a new custom key, see Creating Keys in the AWS documentation.
- Click Copy AMI. You can use the new AMI you copied for the following steps.
Select the row that lists your Ops Manager AMI and click Launch instance from AMI.
On the Launch an instance page, for Name, enter a name for the Ops Manager VM. For example, enter
pcf-ops-manager
.Select m5.large for your instance type.
Select the
pcf-ops-manager-key
key pair, and confirm that you have access to the private key file. You use this key pair to access the Ops Manager VM.In the Network settings section, click Edit and configure the following for your instance:
- Network: Select the VPC that you created.
- Subnet: Select
pcf-public-subnet-az0
to allow traffic from public IP addresses, orpcf-management-subnet-az0
to allow traffic only from private IP addresses. - Auto-assign for Public IP: Select Enable to allow traffic from public IP addresses, or Disable to allow traffic only from private IP addresses.
- Firewall (security groups): Click Select an existing security group and select the
pcf-ops-manager-security-group
that you created in Configure a Security Group for Ops Manager in Preparing to Deploy Ops Manager on AWS. - For all other fields, accept the default values.
In the Configure storage section, adjust the Size (GiB) value. The default persistent disk value is 8 GB. VMware recommends increasing this value to a minimum of 100 GB.
(Optional) If you are using IAM roles, perform the following additional steps:
- Click Advanced details to expand the section.
- Select the IAM role associated with the role created in Create an IAM Role or User for Ops Manager in Preparing to Deploy Ops Manager.
- For all other fields, accept the default values.
In the Summary section, ensure that the number of instances is 1.
Click Launch instance.
Click View all instances to access the Instances page on the EC2 Dashboard.
Step 2: Create Web Load Balancer
On the EC2 Dashboard, click Load Balancers.
Click Create Load Balancer.
Under Application Load Balancer, click Create.
For Step 1: Configure Load Balancer:
- Under Basic Configuration:
- For Name, enter
pcf-web-elb
. - For Scheme, select internet-facing to allow traffic from public IP addresses, or internal to allow traffic only from private IP addresses.
- For IP address type, select the type of IP addresses that you want to allow.
- For Name, enter
- Under Listeners, click Add listener. For Load Balancer Protocol, select HTTPS.
- Under Availability Zones, select your VPC.
- Check all availability zones. For each availability zone, select
pcf-public-subnet-az0
to allow traffic from public IP addresses, orpcf-management-subnet-az0
to allow traffic only from private IP addresses. - Click Next: Configure Security Settings.
- Under Basic Configuration:
For Step 2: Configure Security Settings, do the following:
- Under Select default certificate, do one of the following:
- If you already have a certificate from AWS Certificate Manager (ACM), select Choose a certificate from ACM.
- If you do not have a certificate from ACM, select Upload a certificate to ACM. For more information, see Importing Certificates into AWS Certificate Manager in the AWS documentation.
Note: For a production or production-like environment, use a certificate from a Certificate Authority (CA). This can be an internal certificate or a purchased certificate. For a sandbox environment, you can use a self-signed certificate, leaving the Certificate chain entry blank.
2. Click Next: Configure Security Groups.- Under Select default certificate, do one of the following:
For Step 3: Configure Security Groups, do the following:
- Under Assign a security group, select Select an existing security group.
- From the list of security groups, select the
pcf-web-elb-security-group
security group that you configured in Configure a Security Group for the Web ELB in Preparing to Deploy Ops Manager on AWS. - Click Next: Configure Routing.
For Step 4: Configure Routing, do the following:
- Under Target Group, enter the following values:
- Name: Enter
pcf-web-elb-target-group
. - Target type: Select Instance.
- Protocol: Select HTTP.
- Port: Enter
80
.
- Name: Enter
- Under Health checks, enter the following values:
- Protocol: Select HTTP.
- Path: Enter
/health
.
- Under Advanced health check settings, enter the following values:
- Port: Select override and enter
8080
. - Healthy threshold: Enter
6
. - Unhealthy threshold: Enter
3
. - Timeout: Enter
3
. - Interval: Enter
5
. - Success codes: Enter
200
.
- Port: Select override and enter
- Click Next: Register Targets.
- Under Target Group, enter the following values:
For Step 5: Register Targets, accept the default values and click Next: Review.
For Step 6: Review, review the load balancer details and then click Create. A message appears to confirm that AWS has successfully created the load balancer.
Step 3: Create SSH Load Balancer
From the Load Balancers page, click Create Load Balancer.
Select Network Load Balancer.
For Step 1: Configure Load Balancer, do the following:
- Under Basic Configuration, do the following:
- For Name, enter
pcf-ssh-elb
. - For Scheme, select internet-facing to allow traffic from public IP addresses, or internal to allow traffic only from private IP addresses.
- For IP address type, select the type of IP addresses that you want to allow.
- For Name, enter
- Under Listeners, edit the existing listener. For Load Balancer Protocol, select TCP, for Load Balancer Port, enter
2222
. - Under Availability Zones, select your VPC.
- Check all availability zones. For each availability zone, select
pcf-public-subnet-az0
to allow traffic from public IP addresses, orpcf-management-subnet-az0
to allow traffic only from private IP addresses. - Click Next: Configure Security Settings.
- Under Basic Configuration, do the following:
On the Configure Security Settings page, ignore the Improve your load balancer’s security error message and click Next: Configure Routing.
For Step 3: Configure Routing, do the following:
- Under Target Group, enter the following values:
- Name: Enter
pcf-ssh-elb-target-group
. - Target type: Select Instance.
- Protocol: Select TCP.
- Port: Enter
2222
.
- Name: Enter
- Under Health checks, enter the following values:
- Protocol: Select TCP.
- Under Advanced health check settings, enter the following values:
- Port: Select traffic port.
- Healthy threshold: Enter
6
. - Interval: Select
10 seconds
.
- Click Next: Register Targets.
- Under Target Group, enter the following values:
For Step 4: Register Targets, accept the default values and click Next: Review.
For Step 5: Review, review the load balancer details and then click Create. A message appears to confirm that AWS has successfully created the load balancer.
Step 4: Create TCP Load Balancer
On the Load Balancers page, click Create Load Balancer.
Select Classic Load Balancer.
Configure the load balancer with the following information:
- Load Balancer name: Enter
pcf-tcp-elb
. - Create LB Inside: Select the
pcf-vpc
VPC that you created in Create a VPC in Preparing to Deploy Ops Manager on AWS. - If you want to allow traffic from public IP addresses, ensure that the Create an internal load balancer check box is not selected. If you want to allow traffic only from private IP addresses, select this check box.
- Load Balancer name: Enter
Under Listener Configuration, add the following rules:
Load Balancer Protocol Load Balancer Port Instance Protocol Instance Port TCP 1024 TCP 1024 TCP 1025 TCP 1025 TCP 1026 TCP 1026 … … … … TCP 1123 TCP 1123
The...
entry above indicates that you must add listening rules for each port between 1026 and 1123.Under Select Subnets, select either the public or private subnets you configured in Create a VPC in Preparing to Deploy Ops Manager on AWS, and click Next: Assign Security Groups.
On the Assign Security Groups page, select the security group
pcf-tcp-elb-security-group
you configured in Configure a Security Group for the TCP ELB in Preparing to Deploy Ops Manager on AWS, and click Next: Configure Security Settings.On the Configure Security Settings page, ignore the Improve your load balancer’s security error message and click Next: Configure Health Check.
On the Configure Health Check page, enter the following values:
- Ping Protocol: Select
TCP
. - Ping Port: Set to
80
. - Response Timeout: Set to
3
seconds. - Interval: Set to
5
seconds. - Unhealthy threshold: Set to
3
. - Health threshold: Set to
6
.
- Ping Protocol: Select
Click Next: Add EC2 Instances.
Accept the defaults on the Add EC2 Instances page and click Next: Add Tags.
Accept the defaults on the Add Tags page and click Review and Create.
Review and confirm the load balancer details, and click Create.
Step 5: Configure DNS Records
Perform the following steps for all three of the load balancers you created in previous steps, named
pcf-web-elb
,pcf-ssh-elb
, andpcf-tcp-elb
:- From the Load Balancers page, select the load balancer.
- On the Description tab, locate the Basic Configuration section and record the DNS name of the load balancer.
Click Instances on the left navigation menu to view your EC2 instances.
Select the
pcf-ops-manager
instance created in Step 1: Launch an Ops Manager AMI.On the Description tab, record the value for IPv4 Public IP.
Navigate to your DNS provider and create the following CNAME and A records:
- CNAME:
*.apps.DOMAIN.com
and*.system.DOMAIN.com
points to the DNS name of thepcf-web-elb
load balancer. - CNAME:
ssh.system.DOMAIN.com
points to the DNS name of thepcf-ssh-elb
load balancer. - CNAME:
tcp.system.DOMAIN.com
points to the DNS name of thepcf-tcp-elb
load balancer. - A:
pcf.DOMAIN.com
points to the public IP address of thepcf-ops-manager
EC2 instance.
- CNAME:
Where DOMAIN
is a domain name. VMware recommends that you use the same domain name for each record.
Step 6: Create RDS Subnet Group
Navigate to the RDS Dashboard.
Perform the following steps to create a RDS Subnet Group for the two RDS subnets:
- Click Subnet Groups>Create DB Subnet Group.
- Enter the following values:
- Name: Enter
pcf-rds-subnet-group
. - Description: Enter a description to identify this subnet group.
- VPC ID: Select
pcf-vpc
. - Availability Zone and Subnet ID: Choose the AZ and subnet for
pcf-rds-subnet-az0
and click Add.
- Name: Enter
- Repeat the steps above to add
pcf-rds-subnet-az1
andpcf-rds-subnet-az2
to the group. Click Create.
Note: On the Subnet Group page, you may need to refresh the page to view the new group.
Step 7: Create a MySQL Database Using AWS RDS
Note: You must have an empty MySQL database when you install or reinstall Ops Manager on AWS.
Navigate to the RDS Dashboard.
Click Create database to launch the wizard.
Under Engine type, select MySQL.
Under Templates, select Production to create a database for production environments.
Specify the following database details:
- DB Instance Identifier: Enter
pcf-ops-manager-director
. - Enter a secure Master Username and Master Password.
Note: Record the username and password. You need these credentials later when configuring the Director Config page in the BOSH Director tile.
- DB Instance Class: Select db.m5.large - 2 vCPU, 7.5 GiB RAM.
- Storage Type: Select
Provisioned IOPS SSD
. - Allocated Storage: Enter 100 GB.
- Multi-AZ Deployment: Select Create a standby instance.
- DB Instance Identifier: Enter
In the Connectivity section, enter the following values:
- VPC: Select
pcf-vpc
. - Subnet Group: Select the
pcf-rds-subnet-group
you created in Step 6: Create RDS Subnet Group. - Publicly Accessible: Select No.
- VPC Security Groups: Select the
pcf-mysql-security-group
that you created in Configure a Security Group for MySQL in Preparing to Deploy Ops Manager on AWS. - Accept the default values for the remaining fields.
- VPC: Select
In the Additional configuration section, enter the following values:
- Initial Database Name: Enter
bosh
. - Accept the default values for the remaining fields.
- Initial Database Name: Enter
Click Launch DB Instance. Launching the instance may take several minutes.
Next Steps
When the instance has launched, you the following:
- Review Required AWS Objects to verify that you created the correct resources in AWS.
- Proceed to Configuring BOSH Director on AWS to continue deploying Ops Manager.