Configuring Ops Manager Director on AWS Using Terraform

Page last updated:

This topic describes how to configure the Ops Manager Director for Pivotal Cloud Foundry (PCF) on Amazon Web Services (AWS) after Preparing to Deploy PCF on AWS Using Terraform.

Note: You can also perform the procedures in this topic using the Ops Manager API. For more information, see the Using the Ops Manager API topic.

Prerequisite

To complete the procedures in this topic, you must have access to the output from when you ran terraform apply to create resources for this deployment. You can view this output at any time by running terraform output. You use the values in your Terraform output to configure the Ops Manager Director tile.

Step 1: Access Ops Manager

Note: For security, Ops Manager v1.7 and later require that you log in using a fully qualified domain name.

  1. In a web browser, navigate to the fully qualified domain name (FQDN) of the Ops Manager director. Use the ops_manager_dns value from running terraform output.

  2. When Ops Manager starts for the first time, you must choose one of the following:

    Select authentication

Use an Identity Provider (IdP)

  1. Log in to your IdP console and download the IdP metadata XML. Optionally, if your IdP supports metadata URL, you can copy the metadata URL instead of the XML.

  2. Copy the IdP metadata XML or URL to the Ops Manager Use an Identity Provider log in page. Meta om

    Note: The same IdP metadata URL or XML is applied for the Ops Manager Director. If you use a separate IdP for BOSH, copy the metadata XML or URL from that IdP and enter it into the BOSH IdP Metadata text box in the Ops Manager log in page.

  3. Enter values for the fields listed below. Failure to provide values in these fields results in a 500 error.

    • SAML admin group: Enter the name of the SAML group that contains all Ops Manager administrators.
    • SAML groups attribute: Enter the groups attribute tag name with which you configured the SAML server.
  4. Enter your Decryption passphrase. Read the End User License Agreement, and select the checkbox to accept the terms.

  5. Your Ops Manager log in page appears. Enter your username and password. Click Login.

  6. Download your SAML Service Provider metadata (SAML Relying Party metadata) by navigating to the following URLs:

    • 5a. Ops Manager SAML service provider metadata: https://OPS-MAN-FQDN:443/uaa/saml/metadata
    • 5b. Ops Manager Director SAML service provider metadata: https://OPS-MANAGER-IP-ADDRESS:8443/saml/metadata

    Note: To retrieve your OPS-MANAGER-IP-ADDRESS, navigate to the Status tab in the Ops Manager Director tile. Record the Ops Manager Director IP address.

  7. Configure your IdP with your SAML Service Provider metadata. Import the Ops Manager SAML provider metadata from Step 5a above to your IdP. If your IdP does not support importing, provide the values below.

    • Single sign on URL: https://OPS-MAN-FQDN:443/uaa/saml/SSO/alias/OPS-MAN-FQDN
    • Audience URI (SP Entity ID): https://OP-MAN-FQDN:443/uaa
    • Name ID: Email Address
    • SAML authentication requests are always signed
  8. Import the Ops Manager Director SAML provider metadata from Step 5b to your IdP. If the IdP does not support an import, provide the values below.

    • Single sign on URL: https://OPS-MANAGER-IP-ADDRESS:8443/saml/SSO/alias/OPS-MANAGER-IP-ADDRESS
    • Audience URI (SP Entity ID): https://OPS-MANAGER-IP-ADDRESS:8443
    • Name ID: Email Address
    • SAML authentication requests are always signed
  9. Return to the Ops Manager Director tile and continue with the configuration steps below.

Note: For an example of how to configure SAML integration between Ops Manager and your IdP, see the Configuring Active Directory Federation Services as an Identity Provider topic.

Internal Authentication

  1. When redirected to the Internal Authentication page, you must complete the following steps:

    • Enter a Username, Password, and Password confirmation to create an Admin user.
    • Enter a Decryption passphrase and the Decryption passphrase confirmation. This passphrase encrypts the Ops Manager datastore, and is not recoverable if lost.
    • If you are using an HTTP proxy or HTTPS proxy, follow the instructions in the Configuring Proxy Settings for the BOSH CPI topic.
    • Read the End User License Agreement, and select the checkbox to accept the terms.
    • Click Setup Authentication.

    Om login

  2. Log in to Ops Manager with the Admin username and password that you created in the previous step.

    Cf login

Step 2: AWS Config Page

  1. Click the Ops Manager Director tile.

    Om tile

  2. Select AWS Config to open the AWS Management Console Config page.

    Aws config

  3. Select Use AWS Keys or Use AWS Instance Profile.

    • If you choose to use AWS keys, complete the following fields:
      • Access Key ID: Enter the value of ops_manager_iam_user_access_key from the Terraform output.
      • AWS Secret Key: Enter the value of ops_manager_iam_user_secret_access_key from the Terraform output.
    • If you choose to use an AWS instance profile, enter the name of your AWS Identity and Access Management (IAM) profile.
  4. Complete the remainder of the AWS Management Console Config page with the following information.

    • VPC ID: Enter the value of vpc_id from the Terraform output.
    • Security Group ID: Enter the value of vms_security_group_id from the Terraform output.
    • Key Pair Name: Enter the value of ops_manager_ssh_public_key_name from the Terraform output.
    • SSH Private Key: Run terraform output to view the value of ops_manager_ssh_private_key and enter it into this field. ops_manager_ssh_private_key is a sensitive value and does not display when you run terraform apply.
    • Region: Select the region where you deployed Ops Manager.
    • Encrypt EBS Volumes: Select this checkbox to enable full encryption on persistent disks of all BOSH-deployed virtual machines (VMs), except for the Ops Manager VM and Director VM. See the Configuring Amazon EBS Encryption topic for details about using Elastic Block Store (EBS) encryption.

      Note: Enabling EBS encryption only encrypts Linux VMs. The Windows VMs deployed with Pivotal Application Service (PAS) for Windows or PAS for Windows 2012R2 are not encrypted.

      • Custom Encryption Key (Optional) Once you enable EBS encryption, you may want to specify a custom Key Management Service (KMS) encryption key. If you don’t enter a value, your custom encryption key will default to the account key. For more information, see Configuring Amazon EBS Encryption.
  5. Click Save.

Step 3: Director Config Page

  1. Select Director Config to open the Director Config page.

    Director aws

  2. Enter at least two of the following NTP servers in the NTP Servers (comma delimited) field, separated by a comma: 0.amazon.pool.ntp.org,1.amazon.pool.ntp.org,2.amazon.pool.ntp.org,3.amazon.pool.ntp.org

    Note: The NTP server configuration only updates after VM recreation. Ensure that you select the Recreate all VMs checkbox if you modify the value of this field.

  3. Leave the JMX Provider IP Address field blank.

    Note: Starting from PCF v2.0, BOSH-reported component metrics are available in the Loggregator Firehose by default. Therefore, if you continue to use PCF JMX Bridge for consuming them outside of the Firehose, you may receive duplicate data. To prevent this, leave the JMX Provider IP Address field blank. For additional guidance, see BOSH System Metrics Available in Loggregator Firehose.

  4. Leave the Bosh HM Forwarder IP Address field blank.

    Note: Starting from PCF v2.0, BOSH-reported component metrics are available in the Loggregator Firehose by default. Therefore, if you continue to use the BOSH HM Forwarder for consuming them, you may receive duplicate data. To prevent this, leave the Bosh HM Forwarder IP Address field blank. For additional guidance, see BOSH System Metrics Available in Loggregator Firehose.

  5. Select the Enable VM Resurrector Plugin checkbox to enable the Ops Manager Resurrector functionality and increase Pivotal Application Service (PAS) availability.

  6. Select Enable Post Deploy Scripts to run a post-deploy script after deployment. This script allows the job to execute additional commands against a deployment.

  7. Select Recreate all VMs to force BOSH to recreate all VMs on the next deploy. This process does not destroy any persistent disk data.

  8. Select Enable bosh deploy retries if you want Ops Manager to retry failed BOSH operations up to five times.

  9. Select Keep Unreachable Director VMs if you want to preserve Ops Manager Director VMs after a failed deployment for troubleshooting purposes.

  10. Select HM Pager Duty Plugin to enable Health Monitor integration with PagerDuty.

    Director hm pager

    • Service Key: Enter your API service key from PagerDuty.
    • HTTP Proxy: Enter an HTTP proxy for use with PagerDuty.
  11. Select HM Email Plugin to enable Health Monitor integration with email.

    Director hm email

    • Host: Enter your email hostname.
    • Port: Enter your email port number.
    • Domain: Enter your domain.
    • From: Enter the address for the sender.
    • Recipients: Enter comma-separated addresses of intended recipients.
    • Username: Enter the username for your email server.
    • Password: Enter the password for your email server.
    • Enable TLS: Select this checkbox to enable Transport Layer Security.
  12. For Blobstore Location, select S3 Compatible Blobstore and complete the following steps: Director blobstore

    1. In a browser, reference the Amazon Simple Storage Service (Amazon S3) table, and find the region for your AWS account.
    2. Prepend https:// to the Endpoint for your region, and copy it into the Ops Manager S3 Endpoint field. For example, in the us-west-2 region, enter https://s3-us-west-2.amazonaws.com into the field.
    3. Complete the following fields:
      • Bucket Name: Enter the value of ops_manager_bucket from the Terraform output.
      • Access Key ID: Enter the value of ops_manager_iam_user_access_key from the Terraform output.
      • AWS Secret Key: Enter the value of ops_manager_iam_user_secret_access_key from the Terraform output.
    4. Select V2 Signature or V4 Signature. If you select V4 Signature, enter your Region.

      Note: AWS recommends using Signature Version 4 when possible. For more information about AWS S3 Signatures, see the AWS Authenticating Requests documentation.

  13. For Database Location, if you choose to configure an external MySQL database with Amazon Relational Database Service (RDS) or another service, select External MySQL Database and complete the fields below. Otherwise, select Internal. For more information about creating a RDS MySQL instance, see Creating a MySQL DB Instance in the AWS documentation.

    • Host: Enter the value of your host.
    • Port: Enter your port number. For example, 3306.
    • Username: Enter your username.
    • Password: Enter your password.
    • Database: Enter your database name.
  14. (Optional) Director Workers sets the number of workers available to execute Director tasks. This field defaults to 5.

  15. (Optional) Max Threads sets the maximum number of threads that the Ops Manager Director can run simultaneously. Pivotal recommends that you leave the field blank to use the default value, unless doing so results in rate limiting or errors on your IaaS.

  16. (Optional) To add a custom URL for your Ops Manager Director, enter a valid hostname in Director Hostname. You can also use this field to configure a load balancer in front of your Ops Manager Director. For more information, see How to set up a load balancer in front of Ops Manager Director in the Pivotal Knowledge Base.

    WARNING: In Ops Manager v2.0.25 and earlier, if you change the Director Hostname after your initial deployment, VMs become unavailable. This causes PCF downtime. To restore VM availability, enable Recreate All VMs and redeploy. This issue is resolved in Ops Manager v2.0.26 and later.

  17. (Optional) Enter your list of comma-separated Excluded Recursors to declare which IP addresses and ports should not be used by the DNS server.

  18. (Optional) To disable BOSH DNS, select the Disable BOSH DNS server for troubleshooting purposes checkbox. For more information about the BOSH DNS service discovery mechanism, see BOSH DNS Service Discovery for Application Containers in the PAS Release Notes.

    Breaking Change: Do not disable BOSH DNS without consulting Pivotal Support. For more information about disabling BOSH DNS, see Disabling or Opting Out of BOSH DNS in PCF in the Pivotal Knowledge Base.

  19. (Optional) To set a custom banner that users see when logging in to the Director using SSH, enter text in the Custom SSH Banner field. Disable bosh dns

  20. Click Save.

Note: For more information about AWS S3 Signatures, see the AWS Authenticating Requests documentation.

Step 4: Create Availability Zones Page

  1. Select Create Availability Zones.

    Create az

  2. Use the following steps to create three Availability Zones for your apps to use:

    1. Click Add three times.
    2. For Amazon Availability Zone, enter the values corresponding to the key management_subnet_availability_zones from the Terraform output.
    3. Click Save.

Step 5: Create Networks Page

  1. Select Create Networks. Create networks

  2. (Optional) Select Enable ICMP checks to enable ICMP on your networks. Ops Manager uses ICMP checks to confirm that components within your network are reachable.

  3. Perform the following steps to add the network configuration you created for your VPC:

    1. Click Add Network.
    2. For Name, enter pcf-management-network.
    3. Create a subnet for each availability zone by clicking Add Subnet. Refer to the table below for the information required to create all three subnets:
      VPC Subnet ID CIDR Reserved IP Ranges DNS Gateway Availability Zones
      The first value of management_subnet_ids from the Terraform output. 10.0.16.0/28 10.0.16.0-10.0.16.4 10.0.0.2* 10.0.16.1 The first value of management_subnet_availability_zones from the Terraform output.
      The second value of management_subnet_ids from the Terraform output. 10.0.16.16/28 10.0.16.16-10.0.16.20 10.0.0.2* 10.0.16.17 The second value of management_subnet_availability_zones from the Terraform output.
      The third value of management_subnet_ids from the Terraform output. 10.0.16.32/28 10.0.16.32-10.0.16.36 10.0.0.2* 10.0.16.33 The third value of management_subnet_availability_zones from the Terraform output.

      * If you set a VPC CIDR other than recommended, enter the second IP in your VPC CIDR. For example, for a 10.0.0.0/24 VPC CIDR, enter 10.0.0.2 in each subnet.



    4. Click Add Network.
    5. For Name, enter pcf-pas-network.
    6. Create a subnet for each availability zone by clicking Add Subnet. Refer to the table below for the information required to create all three subnets:
      VPC Subnet ID CIDR Reserved IP Ranges DNS Gateway Availability Zones
      The first value of pas_subnet_ids from the Terraform output. 10.0.4.0/24 10.0.4.0-10.0.4.4 10.0.0.2* 10.0.4.1 The first value of pas_subnet_availability_zones from the Terraform output.
      The second value of pas_subnet_ids from the Terraform output. 10.0.5.0/24 10.0.5.0-10.0.5.4 10.0.0.2* 10.0.5.1 The second value of pas_subnet_availability_zones from the Terraform output.
      The third value of pas_subnet_ids from the Terraform output. 10.0.6.0/24 10.0.6.0-10.0.6.4 10.0.0.2* 10.0.6.1 The third value of pas_subnet_availability_zones from the Terraform output.

      * If you set a VPC CIDR other than recommended, enter the second IP in your VPC CIDR. For example, for a 10.0.0.0/24 VPC CIDR, enter 10.0.0.2 in each subnet.



    7. Click Add Network.
    8. Check the Service Network box. This allows you to dynamically provision VMs in this network for use with on-demand services. Ops Manager does not provision VMs within the specified CIDR range.
    9. Enter pcf-services-network in Name field.
    10. Create a subnet for each availability zone by clicking Add Subnet. Refer to the table below for the information required to create all three subnets:
      VPC Subnet ID CIDR Reserved IP Ranges DNS Gateway Availability Zones
      The first value of services_subnet_ids from the Terraform output. 10.0.8.0/24 10.0.8.0-10.0.8.3 10.0.0.2* 10.0.8.1 The first value of services_subnet_availability_zones from the Terraform output.
      The second value of services_subnet_ids from the Terraform output. 10.0.9.0/24 10.0.9.0-10.0.9.3 10.0.0.2* 10.0.9.1 The second value of services_subnet_availability_zones from the Terraform output.
      The third value of services_subnet_ids from the Terraform output. 10.0.10.0/24 10.0.10.0-10.0.10.3 10.0.0.2* 10.0.10.1 The third value of services_subnet_availability_zones from the Terraform output.

      * If you set a VPC CIDR other than recommended, enter the second IP in your VPC CIDR. For example, for a 10.0.0.0/24 VPC CIDR, enter 10.0.0.2 in each subnet.

  4. Click Save.

Step 6: Assign AZs and Networks Page

  1. Select Assign AZs and Networks.

  2. Use the drop-down menu to select a Singleton Availability Zone. The Ops Manager Director installs in this Availability Zone.

  3. Use the drop-down menu to select pcf-management-network for your Ops Manager Director.

  4. Click Save.

Step 7: Security Page

  1. Select Security. Om security

  2. In Trusted Certificates, enter your custom certificate authority (CA) certificates to insert into your organization’s certificate trust chain. This feature enables all BOSH-deployed components in your deployment to trust custom root certificates.

    To enter multiple certificates, paste your certificates one after the other. For example, format your certificates like the following:

    -----BEGIN CERTIFICATE-----
    ABCDEFGH12345678ABCDEFGH12345678ABCDEFGH12345678AB
    EFGH12345678ABCDEFGH12345678ABCDEFGH12345678ABCDEF
    GH12345678ABCDEFGH12345678ABCDEFGH12345678...
    ------END CERTIFICATE------
    -----BEGIN CERTIFICATE-----
    BCDEFGH12345678ABCDEFGH12345678ABCDEFGH12345678ABB
    EFGH12345678ABCDEFGH12345678ABCDEFGH12345678ABCDEF
    GH12345678ABCDEFGH12345678ABCDEFGH12345678...
    ------END CERTIFICATE------
    -----BEGIN CERTIFICATE-----
    CDEFGH12345678ABCDEFGH12345678ABCDEFGH12345678ABBB
    EFGH12345678ABCDEFGH12345678ABCDEFGH12345678ABCDEF
    GH12345678ABCDEFGH12345678ABCDEFGH12345678...
    ------END CERTIFICATE------

    Note: If you want to use Docker Registries for running app instances in Docker containers, enter the certificate for your private Docker Registry in this field. See the Using Docker Registries topic for more information.

  3. Choose Generate passwords or Use default BOSH password. Pivotal recommends that you use the Generate passwords option for greater security.

  4. Click Save. To view your saved Director password, click the Credentials tab.

Step 8: Syslog Page

  1. Select Syslog. Syslog bosh

  2. (Optional) To send BOSH Director system logs to a remote server, select Yes.

  3. In the Address field, enter the IP address or DNS name for the remote server.

  4. In the Port field, enter the port number that the remote server listens on.

  5. In the Transport Protocol dropdown menu, select TCP, UDP, or RELP. This selection determines which transport protocol is used to send the logs to the remote server.

  6. (Optional) Pivotal strongly recommends that you enable TLS encryption when forwarding logs as they may contain sensitive information. For example, these logs may contain cloud provider credentials. To enable TLS, perform the following steps.

    • In the Permitted Peer field, enter either the name or SHA1 fingerprint of the remote peer.
    • In the SSL Certificate field, enter the SSL certificate for the remote server.
  7. Click Save.

Step 9: Resource Config Page

  1. Select Resource Config.

    Resource config aws

  2. Adjust any values as necessary for your deployment. Under the Instances, Persistent Disk Type, and VM Type fields, choose Automatic from the drop-down menu to allocate the recommended resources for the job. If the Persistent Disk Type field reads None, the job does not require persistent disk space.

    Note: If you set a field to Automatic and the recommended resource allocation changes in a future version, Ops Manager automatically uses the new recommended allocation.

Step 10: Complete the Ops Manager Director Installation

  1. Click the Installation Dashboard link to return to the Installation Dashboard.

  2. Click Apply Changes. If the following ICMP error message appears, click Ignore errors and start the install.

    Install error

  3. Ops Manager Director installs. This may take a few moments. When the installation process successfully completes, the Changes Applied window appears.

    Ops manager complete

  4. After you complete this procedure, follow the instructions in the Deploying PAS on AWS Using Terraform topic.

Create a pull request or raise an issue on the source for this page in GitHub