In this blog using terraform, we will launch WordPress application in an Amazon EC2 instance and connect it to Amazon RDS (database instance).
WordPress is a free, open-source website creation platform which requires access to database to store information. Therefore we need database to make WordPress accessible.
Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud.
Here we will use Amazon RDS as database for WordPress application.
Terraform is used for writing infrastructure as Code to provision and manage any cloud, infrastructure, or service. In this blog we will provision different services provided by Amazon Web Services (AWS).
- Configure AWS CLI, because terraform uses these credentials to authenticate with AWS.
$ aws configure
Give correct access_key and secret_key.
Note: If you are using aws student account give session token, by pasting it in .aws/credentials file
$ git clone https://github.com/abhivaidya07/wordpress_rds $ cd wordpress_rds
- Repository contains two files:
- script.sh: Contains commands which install WordPress application.
- main.tf: Terraform file which creates EC2 instance with WordPress installed in it (using script.sh) and also creates RDS database instance.
- RDS database instance is of db.t2.micro type and contains username and password as root and redhat123 respectively.
You can change it by updating username and password parameter under aws_db_instance resource.
- Initialize Terraform to install required providers.
$ terraform init
- Run the terraform file.
$ terraform apply
- RDS instance takes sometime to get created...
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
- Creates EC2 instance with WordPress application installed in it and also creates RDS instance with mysql 5.7 engine, wordpress database and 20 GiB storage.
- EC2 instance name - wordpress
- RDS instance name - sample
- Browse to public ip of EC2 instance i.e. wordpress
- Give Database Name - wordpress (Created in RDS instance)
- Give Username - root (If you have not changed)
- Give Password - redhat123 (If you have not changed)
- Give Database Host - Endpoint of RDS instance
Note: To access Endpoint refer this link
- Click on Submit button.
- Then click Run the installation button.
- Fill the required details and click on Install WordPress button.
- Login using credentials just created.
- Hurray !! Your WordPress application is working.
- Now your WordPress application is using Amazon RDS as a backend !!