I'll be installing the Drupal instance prepared by Bitnami onto Lightsail.
Amazon Lightsail.
I'll log into the AWS console using the execution account created in IAM and install Drupal on Lightsail.
The process involves creating a Drupal instance on Lightsail. This instance is a Drupal package that Bitnami has optimized for Lightsail. I didn't fully understand what Lightsail was at first, but simply put, it's the equivalent of a VPS as offered by domestic hosting services.
Lightsail offers two approaches: an [OS only] plan where you install just the OS and build your environment yourself, and a plan where [OS and application are packaged together], ready to use as soon as installation is complete.
- The [OS only plan] works like a typical VPS — you select and install the OS, then install any applications you need and build the environment yourself.
- The [OS + application package plan] installs the OS and an application like WordPress or Drupal simultaneously, making it well-suited for dedicated use of WordPress or Drupal.
Either option can run Drupal, but since this was my first time using AWS, I chose the OS + Drupal package to keep the setup as simple as possible and get Drupal up and running quickly. This Drupal package is the one prepared by Bitnami.
Bitnami.
Bitnami distributes a large number of CMSes and frameworks optimized for cloud services. Well-known examples include versions optimized for AWS as well as Google Cloud and Azure.
One advantage of Bitnami packages is that they come with the basic Apache and DB configuration needed for installation, pre-optimized and tested against the OS, PHP, DB, and other environments provided by each cloud service. This means installation is as simple as selecting the CMS or framework you want from the AWS console.
1. Lightsail.
One of Lightsail's strong points is how easy it makes setting up a ready-to-use environment. This is aimed at learners and general users like me — anyone who wants to use a CMS or development environment can simply specify server specs and choose an OS and application, with no installation or configuration overhead.
The plan I selected was Lightsail's OS + application option, with Linux and Drupal as the choices.
- The process involves installing Drupal onto the Lightsail virtual server.
- The Bitnami Drupal instance comes as a package with Apache and MariaDB already configured.
- The Lightsail virtual server is set up and installed simultaneously with the pre-configured Drupal package instance on Lightsail.
The OS and required applications are installed at the same time as the virtual server with your chosen CPU and memory configuration, making the entire installation process very straightforward. It's similar to the WordPress plans offered by domestic VPS providers.
1-1. Selecting Lightsail.
Log into the AWS console using the execution account created in IAM.
After logging in, type "Lightsail" into the search bar at the top left. Search results will appear — under Services, click Lightsail to open the Lightsail management console.
When the Lightsail management console opens, the left menu bar shows:
- [Instances] — Shows instances installed on the virtual server. 『Drupal instance displayed』
- [Containers] — Shows container services. 『Not in use』
- [Databases] — Shows databases. 『Not in use』
- [Networking] — Shows static IPs, load balancers, and CDN. 『Static IP only in use』
- [Storage] — Shows additional disks. 『Not in use』
- [Domains and DNS] — Shows DNS zones and registered domains. 『Both DNS and domain in use』
- [Snapshots] — Shows snapshots/backups. 『Not in use』
- [Export] — Allows exporting data from instances or snapshots to a new EC2.
- [Documentation] — Lightsail documentation
These menus are displayed, with the selected menu's items appearing in the main area. In the initial state, since nothing has been installed, the menu items will likely not display any content.
1-2. Installing Drupal.
Creating an Instance to Install Drupal.
Install Drupal from the Lightsail management console. The virtual server specs are specified here at the same time.
Select Instances from the menu > click Create instance.
The Create an instance screen appears.
- [Select an instance location] → 『Displays Virginia - Zone A』 This may vary depending on your login settings. Click "Change AWS Region and Availability Zone" and select 『Tokyo』 from the displayed regions.
- [Select a platform]
- [Select an instance image] → Choose Linux/Unix or Microsoft. Select 『Linux/Unix』.
- [Select a blueprint] → Apps + OS / OS Only. Select 『Apps + OS』.
- [From the CMS options displayed] → Select 『Drupal』.
- [Optional settings] → Launch script. 『Not configured.』 ※ Allows adding additional installation scripts.
- [Change SSH key pair] → 『SSH keys can be configured here. Fine to set up later — not configured here.』
- [Enable automatic snapshots] → 『Can be configured later — not selected here.』
Creating an Instance Plan
- [Select a network type] → Select 『Dual-stack』.
- [Choose your instance plan] → // Select from options ranging from $5 to $384. Select 『$12 - 2 GB RAM - 2 vCPUs - 60 GB SSD - 3 TB transfer』.
- [Identify your instance] → 『1 Drupal instance』
- [Tagging options] → Optional. Example: 『Drupal』
- [Add key-value tags] → Optional. Example: 『Bootstrap / Blog』
Click Create instance.
Clicking "Create instance" with these settings will create the Drupal instance.
Verifying the Created Instance.
Once the instance is successfully created, the Drupal instance will appear under Instances in the Lightsail management console.
Information such as Instance name [ Drupal ], Region [ Tokyo ], Public IP address [ XXX.XX.XXX.XX ], Instance status [ Running ], Networking type [ Dual-stack ], Private IP address [ XXX.XXX.XX.XX ], and Public IPv6 [ 2224:rs53:772g:... ] is displayed. Scrolling down shows messages like "Hello! Welcome to your Drupal instance!" and connection instructions.
At this point, the static IP, Drupal initial setup, domain assignment, and SSL configuration are not yet complete, so we continue with the setup.
1-3. Configuring the Created Instance.
Following the Lightsail official documentation, I'll complete the following steps.
- Read the Bitnami documentation
- Obtain the Drupal admin login credentials
- The instance IP address is dynamic by default, so assign a static IP address
- The Drupal admin panel is up — log in and complete the initial setup
- Assign a domain
- Configure SSL
- Build the website from the Drupal admin panel
- Create a snapshot of the instance
Lightsail Official Documentation: Set up and customize your Drupal website on Lightsail
The official documentation provides detailed explanations of the configuration steps, so I'll leave the walkthrough to that. Following the guide will get Drupal running on Lightsail and have your website up.
As supplementary steps:
- SSH connection can be done through the web console, but since I also want to use it from the Mac terminal or apps like VS Code, I'll generate an SSH private key and configure the Mac.
- I'll register a domain with AWS and assign it to the Drupal instance I've just installed.
I'll cover both of these below.
2. SSH Private Key Generation.
I'll generate the SSH private key for accessing the Drupal instance I created.
- Select your account name in the upper right of the Lightsail management console.
- Select "Account" from the dropdown menu.
- The Account screen appears — select "SSH keys."
- Under custom keys, select "Create key pair."
- A region selection screen appears — select the Tokyo region where you installed the Drupal instance.
- Enter a name and generate the key — for example, "drupal."
- Download the generated key. A key file called drupal.pem will be downloaded.
- For Mac setup, move the SSH key to MacintoshHD > Users > [username] > .ssh folder.
- Since it's a hidden file, move it either using the mv command in Terminal or by using the Finder method below.
- The easiest way is to show hidden files in Finder and drag the file. Command + Shift + . (period)
- Once the key is in the .ssh folder, enter the following command in Terminal to SSH into Lightsail.
- ssh -i ~/.ssh/drupal.pem bitnami@<instance static IP>
- This completes the SSH login to the Bitnami instance.
After logging in, you'll see bitnami@ip-XXX-XXX-XXX-XXX:~$
Running $ drush core:status to check the Drupal root directory shows: Drupal root : /opt/bitnami/drupal
This directory is where you'll handle Drupal core updates and install themes and modules going forward. If SSH from the Mac terminal doesn't work, you can also connect via the instance console.
3. Domain Registration.
I'll register a domain for the Drupal installation.
Domain registration is done through AWS Route 53.
- Select "Domains and DNS" from the left menu of the Lightsail management console.
- Click "Register domain" to open the Route 53 domain registration screen.
- Fill in the required fields: [Domain name], [Auto-renew], [Contact information], [Privacy protection], and [DNS zone].
- Click [Register domain].
- A confirmation email will be sent to the address entered in the contact information. When it arrives, click the link in the email.
- A "verified" message appears, completing the Route 53 contact verification.
- The registered domain is now ready to use.
- Enable domain transfer lock in Route 53.
Reference: Route 53: Registering a New Domain
3-1. DNS Configuration.
With the domain registered, I'll assign it to the Drupal instance. Since I'm using Lightsail, I'll use Lightsail's DNS. If you haven't set up a static IP at this point, do that first.
- For static IP setup, select "Networking" from the left menu of the Lightsail management console.
- Since the public IPv4 address is dynamic, [attach] a [static address].
- Once the static IP is active, it will appear in the Drupal instance screen as something like [StaticIP-1].
With the static IP active, proceed to assign the registered domain to the Drupal instance.
Since I'm using Lightsail's DNS, the following steps are needed.
- For DNS setup, select "Domains and DNS" from the left menu of the Lightsail management console.
- Select "Create DNS zone."
- The DNS zone settings screen for the domain name opens.
- The domain tab shows nameserver information. Since the domain was registered with Route 53, nameservers are automatically assigned.
- Select "Assign" and assign the domain and static IP. Add the root domain, the www-prefixed domain, and any subdomains as needed. For each, choose from root domain, subdomain, or all subdomains, and select either the static IP or IPv6.
- Once the assignment is complete, configure DNS records. Click "Add record," select A record as the record type, and add the root domain, www-prefixed domain, and subdomains as needed. [Record type: A record], [Record name: domain], [Resolves to: static IP].
- Enter the subdomain portion in the record name field. For the root domain, since a blank entry is not allowed, enter @ so it becomes @.example.com.
This completes the DNS setup, allowing access via the domain.
Reference: Understanding DNS in Lightsail
4. SSL Configuration.
With the domain assigned, proceed to configure SSL.
For SSL configuration, refer to:
Lightsail Official Documentation: Setting Up and Customizing Drupal on Lightsail
The guide provides clear and detailed instructions — please refer to it directly.
SSH login is required, so log in either from the local terminal client configured when generating the SSH private key, or from CloudShell. The configuration uses bncert-tool — simply follow the official documentation step by step, copying and pasting the specified commands in order.
5. Publication Preparation Complete.
With Lightsail and Drupal installed, and the domain assignment and SSL configuration complete, the website built with Drupal is ready to publish. The next steps include setting up an email account and, from a security standpoint, configuring reCAPTCHA.
Below is a collection of the official AWS and Bitnami guides I referenced during installation and setup.
AWS Official Guide.
Official User Guide
The comprehensive Lightsail guide.
Set up and customize your Drupal website on Lightsail
Covers installation and configuration for the Drupal instance installed here.
Official User Guide / English
The official Bitnami guide for the Drupal package installed here.
Lightsail Domains and DNS Guide
Official User Guide
Covers domain registration and DNS management through the Lightsail interface.
Route 53: Registering a New Domain
Domain registration and management are both handled through Route 53.
6. What I Did.
- Installing Lightsail and the Drupal instance
- Configuring a static IP for the Drupal instance
- Configuring SSH for the Drupal instance
- Registering a domain with Route 53
- Configuring DNS on the Drupal instance
- Configuring SSL on the Drupal instance
With all of the above complete, the website built with Drupal is ready to publish.
Conclude.
I installed Lightsail and Drupal. From the Lightsail management console, the installation is completed simply by specifying the specs and initial setup items through the GUI. After installation, I attached a static IP to the instance, registered a new domain, assigned it, and configured SSL — leaving the Drupal-built website ready to publish over https://.
Going in with the preconception that AWS is complex and hard to understand, actually using it showed me that while there is a learning curve, the process is logical, and it's a system that lets you run exactly what you need in a very efficient and straightforward way.
Written out, it looks like a long and complex process, but in practice it's not as difficult as the text makes it seem — installation and setup went more smoothly than I'd expected.
The next article covers setting up an email account for the registered domain.