Prerequisites: Checking Setup and Logging in.
Making sure you have the basic elements prepared will make sure all steps here go smoothly. If you have not done so already, please go through the Resource Checklist.
Unless a certificate is installed, Burris Builder uses a self-signed certificate in order to secure communications. You will receive warnings from your browser about the security of the connection, and each browser has unique ways of handling this interaction. This connection is still encrypted, but since it is not signed by a third party, your browser will not proceed without warning you. In order to proceed you will need to follow prompts in order to continue to the website.
Your username and password are determined by your setup script. The username and password designated in this file determines username and password for every resource on the server.
Step 1: The Agreement
MUST READ: NOT JUST ANOTHER AGREEMENT
It is important to understand that Burris Builder simplifies the construction of infrastructure which may not be free. While the software is open source and free to use, it builds resources which cost money. Only certain infrastructure is free tier eligible, and free tier is only available to new customers. ILLUMINE DIGITAL IS NOT RESPONSIBLE FOR YOUR AMAZON WEB SERVICES BILL, it is up to the website owner to maintain costs.
The agreement on this page is to help ensure that you understand you may be building resources which have costs associated with them.
Step 2: Domain Setup
The Base Domain is what will be used to build website default addresses. For instance, if your base domain is example.com and you build a website called "Test," Burris Builder will create Nginx and WebDav configuration files for test.exapmle.com. Depending on additional options, it may also create an A record in Route 53 pointing back to the IP address of the server to simplify domain setup.
It is generally recommended to use the base of a domain as the value for this field, for instance example.com without the "www" prefix.
Route 53 Behavior
There are two options here: "Use catchall domain record" and "Create a subdomain record for each website created".
If use catchall, is selected Burris Builder will not make changes to Route 53, and instead depend on a single CNAME record to be used to send all subdomain traffic to a single address. For instance, a CNAME record of *.example.com pointing to the base domain example.com will send all traffic to the example.com address. This ensures every subdomain created by Burris Builder will point to the same server.
If "Create a subdomain record" is selected, Burris Builder will create a new A record in Route 53 pointing toward the IP of your current server, every time a new website is built.
Correct and Create Checkboxes
"Correct Route 53," if needed allows Burris Builder to correct the IP address of a domain record if has already been found. This only applies to A records, Burris Builder does not currently support updating CNAME records.
"Create Base Domain" refers to creating a new hosting zone in Route 53, if you want to host your website under a new domain. For instance, if your current server is hosted at example.com and you want to host your site under example.org, Burris Builder would create that zone record and any associated DNS records for that zone.
PLEASE NOTE: There are charges associated with creating a new hosting zone.
Step 3: Storage Setup
EBS Volumes Overview
The default behavior of Burris Builder is to build all critical components of website onto a separate drive. This has several advantages over the typical method of installing every resource onto a single drive.
- "Mobile" App data. Development can be performed on a drive isolated from all related OS data, keeping security of users and other data directly related to the server isolated from production or client environments. This means development is complete, the drive may be attached to a separate server, or even given permission to a separate AWS account. (The option to "Use existing" would plug in the drive. More below)
- Cleaner back-ups and AMI captures: When Application data needs to be backed-up only that information is capture, making snapshots more cost effective and quicker to capture and restore.
- Independent scaling: An application drive can be captured and moved into a larger drive if more space is needed, without having to shut down the server.
- Improved performance: The operations of your base OS drive will not interrupt the operations of your application data.
Use an Existing EBS Volume
Selecting this option will reveal all available drives available to your server. Selecting "attach" will begin the attachment process.
Creating a new volume does exactly that. Allocates new storage to your server to begin building web servers on.
Volume name: While optional, this label is recommended. It will show up in the "Name" column of your console for easy referencing.
Volume Name: There are two types to select, "SSD General Purpose" and "Magnetic". General Purpose SSDs drives are generally considered the better option, a brief outline is below. For detailed options, please visit the AWS EBS Details Page. EBS Provisioned IOPS volumes are currently not supported.
General Purpose SSD Considerations
- More expensive than magnetic per gigabyte, but there are no charges for IO requests.
- Higher max throughput performance than magnetic
- Higher baseline and higher burst performance than magnetic
- Higher max volume size than magnetic.
- More consistent performance than magnetic. Minimum IOPS scales directly to according to allocated drive size.
Magnetic Drive Considerations
- Cheaper per gigabyte.
- Recommend for infrequent storage access scenarios.
Burris Builder uses an encryption key located on each server to store and display passwords. If you would like to designate your encryption key, you may do it here. It is not necessary to change this key.
Step 4: Database
The Burris Builder RDS setup builds a MySQL RDS database, currently on the latest 5.6.x build. The database is where all of your content will be stored for Drupal, WordPress or any other database driven CMSs installed on the server. Optionally, you may specify a different database server be used for development, staging and production servers which is covered in their respective options below.
Use Existing RDS Server
If you already have an RDS server setup and accessible to the current server, you may select this option. The following screen will several options, though the easiest will be to use the default selected database, if available, and type in the password.
Update PhpMyAdmin Config: If selected, this option will rewrite PhpMyAdmin configuration to include the servers selected on this screen.
Development, Staging, Production Tabs: By default, one RDS server is used for each stage of development, so the development server will automatically be used Development, Staging and Production. If you would like to use separate servers, click the respective server and uncheck "Use development credentials" under that tab. Then, choose corresponding endpoint, master user and passwords for the selected tab.
Available RDS Instances: This section will list all available RDS servers in your account. If you do not see servers here, and you believe there should be, you may not have configured proper IAM Permissions, it may be located in a different zone, or separated by VPC settings. If you have not yet created an RDS server and you have arrived at this screen, you may proceed by clicking "Create RDS Instance" from here.
Endpoint and Master Username: These fields can be automatically filled in for you by clicking any of the items under "Available RDS Instances"
Master Password: The password used when setting up your RDS instance. If you have forgotten this password, it may be reset in your AWS console.
Create New RDS
Creating a new RDS server will add to your AWS bill if you do not qualify for free tier.
Instance Class: This describes the amount of computing power allocated to your database. For purposes of Burris Builder websites, this drop-down is limited to hand selected options, as needs which go above the options provided here likely require a more specialized setup.\
Name: The label for your instance. The name provided here will be converted to a machine readable format automatically.
Storage Size: The amount of storage allocated to your database. Although databases over a single gigabyte are considered quite large and are uncommon for standard websites, the performance of your hard drive, which will have a substantial impact on overall database performance, will be determined by the size of your hard drive. The larger the hard drive, the better the performance. If this will be your only RDS server, it is recommended you use the maximum allowed by the AWS free tier.
Multi-az: This creates a duplicate database in a physically separate zone at AWS. This is recommended for production servers to increase resilience in times of maintenance, updates, configuration changes or failure. If the primary server fails, a stand-by server will automatically fill in while the primary server is being bough back online. PLEASE NOTE: Since this duplicates all RDS resources, this will double the cost of your selected instance and storage costs.
Master User Credentials
NOTE: These credentials should only be used when dealing with top level RDS issues. They should never be used as credentials in your application.
Master User and Passwords: These will be the credentials used when logging in via PhpMyAdmin.
Parameter and Security Groups
VPC Subnet:Your RDS server requires two VPC subnets, one in a primary and one secondary zone. Burris Builder attempts to automatically detect the existence of usable subnets, and will select "Use Existing" if available. If more than one is available, you will have the option to select which one you would like to uses. If no subnets are available, "Create a new RDS subnet" is the only option available. With this option selected, a new usable subnet will be created automatically.
Security Group: RDS requires a security group which allows port 3306 from the security group used by the server. If an available security group is found, "Use existing" is already selected. If more than one is found, you are allowed to select from a drop-down of available security groups. Create a new security group is the only option if no suitable groups are found.
Parameter Groups:Since the default options group provided by AWS cannot be modified, Burris Builder creates an option group with settings more suitable for a CMS like Drupal or WordPress. Once live, you may alter these settings yourself to suit your needs.
Options Group:These options extend typical usage patterns of MySQL, such as the use of memcache to make certain queries more accessible. Many users never have to alter these settings. Still, Burris Builder creates a duplicate to the default settings to make changing settings simpler.
This section is used primarily for information related to how it will be built for you. The only changeable option, Engine, may be used in the event that the minor version has specific issues. Remaining options set to the most common required by a MySQL server.
This will assign the created RDS server to the respective dev, stage and production websites when they are created with Burris Builder. By default, they are all selected as this is the recommended setting.
Note: If you chose to create a new RDS server it may take up to 15 minutes to create. As soon as the RDS server is ready, you will be able to create database driven websites.
That's it! Click finish and you'll be ready to start building websites.