bch

Manage Bitnami Cloud Hosting Servers from the AWS Console

Introduction

The Bitnami Cloud Hosting service will be deprecated by February 15th, 2022. After this deprecation date, you will have to use the Amazon Web Services (AWS) Console or the AWS API to manage those servers created using Bitnami Cloud Hosting.

This document provides information about different operations you may need to perform when moving to the AWS Console. Also, in the following section, you will find a list of Bitnami Cloud Hosting concepts and the equivalent terms on the AWS Console.

Concepts

  • Servers in Bitnami Cloud Hosting are EC2 Instances in AWS. They are listed on the AWS Console in the specific region where they are running. The instance Name label matches the server name in Bitnami Cloud Hosting.
  • Backups in Bitnami Cloud Hosting are EBS Snapshots in AWS. They are stored in the same region as the server. Their description matches their name in Bitnami Cloud Hosting.
  • Firewalls in Bitnami Cloud Hosting are Security Groups in AWS. Bitnami Cloud Hosting assigns two security groups per server: one shared across all servers (bch-shared-firewall-id) and another specific for each server (bch-server-firewall-id).
  • Static IPs in Bitnami Cloud Hosting are Elastic IPs in AWS.

Required actions

  • Passwords and SSH keys will be removed from Bitnami systems. Therefore, you must ensure that you fetch and store them securely before the deprecation date. Learn how to fetch secrets from Bitnami Cloud Hosting.
  • The *.bitnamiapp.com domains will stop working. If you are using a *.bitnamiapp.com domain to access your applications, you must configure a custom domain to prevent future access problems. Learn how to configure a custom domain.
  • Scheduled server backups will be disabled. Learn about alternatives.
  • Scheduled server stops / starts will be disabled. You will need to investigate possible alternatives if you depend on this feature. Learn more.

Common tasks

Create new servers

To create new Bitnami servers outside of Bitnami Cloud Hosting, you have different options:

Fetch secrets from BCH

Follow the steps below to fetch secrets from the Bitnami Cloud Hosting service. This includes SSH private keys and application credentials.

SSH keys

There is an SSH key for each cloud provider. Download these keys as explained below:

  • Navigate to the “Clouds” overview page.
  • For each cloud:
    • Select the cloud in the list.
    • Click the “Download Key” button.
    • Select the format (PEM or PPK).

The key will be downloaded to your local system. Store this key carefully as you will need it to access your servers over SSH.

SSH key download

Application passwords

If you haven’t changed the application passwords from their initial default values, retrieve them using these steps:

  • Navigate to the “Servers” page.
  • For each server:
    • Select the server in the list.
    • Select the application from the list of displayed applications.
    • Click the “Show” link next to the credentials.

The original credentials will be displayed. Note and store these carefully as you will need it to access your running applications.

Get app credentials

Access the AWS EC2 Console

To manage your servers, use the AWS EC2 Console as follows:

  • Log in to Amazon AWS Console with your AWS account credentials.

  • Navigate to the list of EC2 instances in the AWS EC2 Console.

    Main EC2 instances page

  • Make sure that the selected region in the upper right corner reflects the region where your servers are running.

    AWS region selector

Start, stop, delete a server

In order to manage the state of the server, you should:

  • Access the AWS EC2 Console.

  • Select the instance in the list.

  • Once selected, open the “Instance state” drop down, and choose the desired action.

    EC2 instances state selector

The operation will take a few minutes to complete.

NOTE: “Stop” will keep the instance shut down, allowing you to restart it later. “Terminate” will delete the instance completely.

NOTE: If the instance was created recently, it will typically be configured to use a Virtual Private Cloud (VPC) and the associated static IP will be maintained between stop and start operations. For older instances running in EC2-Classic, the associated IP address will be unassigned on stops. In these cases, re-assign it back to the instance in the “Elastic IPs” section whenever you restart the instance.

Resize a server

The process of resizing a server is slightly different, depending on whether you wish to change the CPU (instance type) or the disk capacity.

Change the instance type

To alter the CPU size:

NOTE: The process will require some minutes of downtime. You may want to perform the operation at a time when your end-users are less impacted.

Change the size of the root disk

To alter the disk capacity:

  • Access the AWS EC2 Console.

  • Select the instance in the list.

  • Stop the instance.

  • In the instance details shown below the list of instances, select the “Storage” tab.

  • Click the root EBS volume ID (in the format vol-XXXX…).

    EC2 instance root disk

  • Select the volume in the list.

  • Select the “Modify volume” option in the “Actions” drop-down list.

    Modify EBS volume

  • Set the new desired size.

    Modify EBS volume size

  • Click “Modify”.

  • Once the operation completes, start the instance again.

The partitions will be automatically resized to use the new space in the volume.

NOTE: The process will require some minutes of downtime. You may want to perform the operation at a time when your end-users are less impacted.

Manage backups

Create new backups manually

The easiest way to create new backups manually is to create Amazon Images (AMIs) from the running instance. This will allow you to launch new instances easily from the resulting image.

  • Access the AWS EC2 Console.

  • Select the instance in the list.

  • Select the “Image and templates -> Create image” option in the “Actions” drop-down list.

    AMI creation

  • Enter a name and description for the image.

    AMI creation form

  • Click the “Create image” button.

The image will be ready after a few minutes, once the associated EBS snapshots are complete. You can view the created images on the “AMIs” page.

AMI list

TIP: To quickly restore a backup using an AMI, select the image in the list and click the “Launch” button.

Restore a backup created by Bitnami Cloud Hosting

Bitnami Cloud Hosting backups are stored in your AWS account as EBS snapshots. In order to restore a backup, follow these steps:

  • Access the AWS EC2 Console.

  • Navigate to the “Snapshots” section.

  • Select the snapshot to be restored. By default the BCH snapshots follow the format timestamp server_name in their description, or the name provided as the backup name at creation.

  • Select “Create image from snapshot” in the “Actions” dropdown menu.

    Create image from snapshot

  • Set a name for the image.

  • Set the root device name to the same value as in the original instance (this is usually /dev/xvda but you can verify it in the “Storage” tab of the original instance details page).

  • Click “Create”.

    Image form from snapshot

  • Navigate to the “AMIs” page and wait for the imaging process to complete.

    AMI list

  • Select the image and click “Launch”.

  • Follow the steps to configure all the server properties and launch the new instance.

TIP: To maintain the same firewall rules as before, assign the same security groups used by the original server. The list of security groups is visible in the original instance details page under the “Security” tab.

Configure scheduled backups

In order to create scheduled backups of your running servers, use the Amazon Data Lifecycle Manager:

  • Access the AWS EC2 Console.

  • Navigate to the “Amazon Data Lifecycle Manager” section.

  • Click the “Create lifecycle policy” button.

  • Select the policy type “EBS-backed AMI policy”. Click “Next”.

    Lifecycle create step 1

  • Select the instance using the name tag or some other selector, define a name for the policy, and decide if you want to reboot the instance in the process to ensure data consistency. Click “Next”.

    Lifecycle create step 2

  • Select the periodicity and the number of backups to keep.

  • Click the “Review policy” button.

    Lifecycle create step 3

  • Review and confirm the details and click the “Create policy” button.

    Lifecycle create step 3

The new policy will appear in the list of policies.

Lifecycle policies

This process will create Amazon Machine Images (AMIs) periodically, making it possible to restore any of them by just selecting the image in the AMIs section and clicking “Launch”.

Lifecycle policy AMIs

Once the policy is created, you can modify it, or activate / deactivate it when needed from the Lifecycler Manager section. You will just need to select the policy, and choose the desired action.

Lifecycle actions

Configure scheduled server starts/stops

Amazon proposes a solution based on the AWS Instance Scheduler that can be used as a replacement of the Bitnami Cloud Hosting scheduled start/stop feature.

NOTE: Take into account that the AWS Instance Scheduler will imply additional computing costs and may not be economical unless you are stopping and starting many instances.

Configure a custom domain

IMPORTANT: The bitnamiapp.com domains and subdomains will stop working after Bitnami Cloud Hosting is deprecated. Users accessing their applications through these domains must reconfigure the application accordingly to remove this dependency. Users already using a custom domain, or accessing the application using its IP address, don’t need to make any changes.

You should follow the general procedure to configure a custom server domain for AWS.

NOTE: If you prefer not to buy a custom domain name to access the server, follow the steps above and access the application using a nip.io domain with the value of the static IP address. For example, if the static IP address is 1.2.3.4, use the domain 1.2.3.4.nip.io.

Manage static IP addresses

Static IP addresses are Elastic IP addresses in AWS. To allocate or remove IP addresses as well as associate them with different instances using the AWS EC2 console, follow the steps below:

  • Access the AWS EC2 Console.
  • Navigate to the “Elastic IPs” section.
  • Execute the actions you want to perform. For example, create new IP addresses by clicking the “Allocate Elastic IP address” button, or manage an IP address by selecting it and performing specific actions on it.

Assign an IP address to a server

In order to assign an existing IP address to an instance, you should:

  • Navigate to the “Elastic IPs” section.

  • Select the IP address.

  • Choose the action “Associate Elastic IP”.

    Instance ports

  • Select the instance and click “Associate”.

    Instance ports

The operation will take a few minutes. Once complete, the instance will be reachable through that IP address.

Manage firewall rules

The equivalent of firewall rules in AWS are Security Groups. Manage these rules from the instance details page as described below:

  • Access the AWS EC2 Console.

  • Select the instance in the list.

  • Select the “Security” tab in the instance details below the instance list. This will show the associated security groups and the active port rules.

    Instance ports

  • To alter the rules, click the security group ID in the details page and select “Edit inboud rules” from the “Actions” menu.

    Instance ports actions

  • Edit the rules or add new ones. Click “Save rules” to apply the changes.

    Instance ports edition

NOTE: Bitnami Cloud Hosting associates two security groups by default to every server, one shared across all servers in the same “cloud” (bch-shared-firewall-id) and another specific to each server (bch-server-firewall-id). Take this into account when you open new ports or alter the rules.

Last modification March 7, 2022