Upload
others
View
24
Download
0
Embed Size (px)
Citation preview
Page 1 of 18
Solodev DCX Enterprise Edition for Docker on the AWS Cloud
Quick Start Reference Deployment
October 2019
Shawn Moore, Matt Garrepy, Scott Madara, Danielle Cuccaro, Solodev
Shivansh Singh, Tony Bulding, AWS Quick Start team
Visit our GitHub repository for source files and to post feedback,
report bugs, or submit feature ideas for this Quick Start.
Contents
Overview .................................................................................................................................... 2
Solodev DCX Enterprise Edition for Docker on AWS ........................................................... 2
Cost and licenses .................................................................................................................... 3
Architecture ............................................................................................................................... 4
Planning the deployment .......................................................................................................... 5
Specialized knowledge ........................................................................................................... 5
AWS account .......................................................................................................................... 5
Technical requirements ......................................................................................................... 5
Deployment options ............................................................................................................... 6
Deployment steps ...................................................................................................................... 7
Step 1. Prepare your AWS account ........................................................................................ 7
Step 2. Subscribe to the Solodev DCX Enterprise Edition for Docker container ................. 7
Step 3. Launch the Quick Start ..............................................................................................8
Parameters for deploying Solodev DCX Enterprise Edition for Docker into a new VPC.. 9
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 2 of 18
Parameters for deploying Solodev DCX Enterprise Edition for Docker into an existing
VPC..................................................................................................................................... 11
Step 4. Test the deployment ................................................................................................ 14
Step 5. Configure DNS for Application ................................................................................ 15
Troubleshooting ...................................................................................................................... 16
Solodev support for AWS ........................................................................................................ 16
Send us feedback ..................................................................................................................... 17
Additional resources ............................................................................................................... 17
Document revisions ................................................................................................................. 18
This Quick Start was created by Solodev in collaboration with Amazon Web Services (AWS).
Quick Starts are automated reference deployments that use AWS CloudFormation
templates to deploy key technologies on AWS, following AWS best practices.
Overview
This Quick Start reference deployment guide provides step-by-step instructions for
deploying Solodev DCX Enterprise Edition for Docker on the AWS Cloud.
This Quick Start is for users who want to deploy Solodev DCX Enterprise Edition for Docker
within their AWS Cloud accounts, including IT administrators, DevOps professionals, and
similar system architects.
Solodev is a cloud-first content management and customer experience platform. It allows
users to deploy a variety of web solutions, including websites, headless APIs, mobile
applications, and more.
Solodev DCX Enterprise Edition for Docker on AWS
Solodev DCX Enterprise Edition for Docker is built exclusively for AWS with fully
containerized orchestration. With containers, you can reach new levels of productivity and
management, allowing you to run and scale at will.
Solodev DCX Enterprise Edition for Docker on AWS uses a set of AWS CloudFormation
templates to set up a virtual private cloud (VPC) and the following AWS services.
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 3 of 18
Amazon Elastic Compute Cloud (Amazon EC2)
Elastic Load Balancing (Application Load Balancer)
Amazon Relational Database Service (Amazon RDS)
Amazon Elastic File System (Amazon EFS)
Amazon Simple Storage Service (Amazon S3)
Amazon CloudWatch
Amazon CloudFront
Amazon Route 53
AWS Certificate Manager (ACM)
AWS WAF, which is managed by Amazon Elastic Container Service (Amazon ECS)
Cost and licenses
You are responsible for the cost of the AWS services used while running this Quick Start
reference deployment. There is no additional cost for using the Quick Start.
The AWS CloudFormation template for this Quick Start includes configuration parameters
that you can customize. Some of these settings, such as instance type, will affect the cost of
deployment. For cost estimates, see the pricing pages for each AWS service you will be
using. Prices are subject to change.
Tip After you deploy the Quick Start, we recommend that you enable the AWS
Cost and Usage Report to track costs associated with the Quick Start. This report
delivers billing metrics to an S3 bucket in your account. It provides cost estimates
based on usage throughout each month and finalizes the data at the end of the
month. For more information about the report, see the AWS documentation.
The Quick Start requires a subscription to the Solodev DCX Enterprise Edition for Docker
container, which is available from AWS Marketplace. Additional pricing, terms, and
conditions may apply. For instructions, see step 2 in the deployment section.
The Solodev DCX Enterprise Edition for Docker container uses the following components,
which are distributed under their associated licenses:
• MongoDB: Server Side Public License
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 4 of 18
• MySQL: GNU General Public License version 2
• Redis: Three Clause BSD License
• PHP-FPM: The PHP License version 3.01
• Apache/HTTP: Apache License version 2.0
Architecture
Deploying this Quick Start for a new VPC with default parameters builds the following
Solodev DCX Enterprise Edition for Docker environment in the AWS Cloud.
Figure 1: Quick Start architecture for Solodev DCX Enterprise Edition for Docker on AWS
The Quick Start sets up the following:
A highly available architecture that spans two Availability Zones.*
A VPC configured with public and private subnets according to AWS best practices, to
provide you with your own virtual network on AWS.*
In the VPC:
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 5 of 18
– An Application Load Balancer (ALB) to distribute HTTP and HTTPS requests
across multiple Solodev instances.
– Amazon ECS to provide containerized orchestration for Docker, allowing the
application to run and scale with container images and resources.
In the private subnets:
– Amazon EC2 servers on which Solodev DCX resides.
– An Amazon EC2 Auto Scaling group for automatic scaling during events.
– Amazon RDS with MySQL, with synchronous replication for high redundancy.
Amazon EFS for scalable file storage.
Amazon S3 for storage and backup buckets available at any time.
Planning the deployment
Specialized knowledge
This Quick Start assumes familiarity with Solodev DCX Enterprise Edition for Docker on
AWS infrastructure as code.
This deployment guide also requires a moderate level of familiarity with AWS services. If
you’re new to AWS, visit the Getting Started Resource Center and the AWS Training and
Certification website for materials and programs that can help you develop the skills to
design, deploy, and operate your infrastructure and applications on the AWS Cloud.
AWS account
If you don’t already have an AWS account, create one at https://aws.amazon.com by
following the on-screen instructions. Part of the sign-up process involves receiving a phone
call and entering a PIN using the phone keypad.
Your AWS account is automatically signed up for all AWS services. You are charged only for
the services you use.
Technical requirements
Before you launch the Quick Start, your account must be configured as specified in the
following table. Otherwise, deployment might fail.
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 6 of 18
Resources If necessary, request service limit increases for the following resources. You might need
to do this if you already have an existing deployment that uses these resources, and you
think you might exceed the default limits with this deployment. For default limits, see
the AWS documentation.
AWS Trusted Advisor offers a service limits check that displays your usage and limits
for some aspects of some services.
Resource This deployment uses
VPCs 1
Elastic IP addresses 0
AWS Identity and
Access Management
(IAM) security groups
3
IAM roles 5
Auto Scaling groups 1
Application Load
Balancers 1
m3.medium instances 2
EC2 key pair 1
Regions This deployment includes Amazon EFS, which isn’t currently supported in all AWS
Regions. For a current list of supported Regions, see AWS Regions and Endpoints in the
AWS documentation.
Key pair Make sure that at least one Amazon EC2 key pair exists in your AWS account in the
Region where you are planning to deploy the Quick Start. Make note of the key pair
name. You’ll be prompted for this information during deployment. To create a key pair,
follow the instructions in the AWS documentation.
If you’re deploying the Quick Start for testing or proof-of-concept purposes, we
recommend that you create a new key pair instead of specifying a key pair that’s already
being used by a production instance.
IAM permissions To deploy the Quick Start, you must log in to the AWS Management Console with IAM
permissions for the resources and actions the templates will deploy. The
AdministratorAccess managed policy within IAM provides sufficient permissions,
although your organization may choose to use a custom policy with more restrictions.
Deployment options
This Quick Start provides deployment options:
Deploy Solodev DCX Enterprise Edition for Docker into a new VPC. This
option builds a new AWS environment consisting of the VPC, subnets, and other
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 7 of 18
infrastructure components, and then deploys Solodev DCX Enterprise Edition for
Docker into this new VPC.
Deploy Solodev DCX Enterprise Edition for Docker into an existing VPC.
This option provisions Solodev DCX Enterprise Edition for Docker in your existing AWS
infrastructure.
The Quick Start lets you configure instance types and Solodev DCX Enterprise Edition for
Docker settings, as discussed later in this guide.
Deployment steps
Step 1. Prepare your AWS account
1. If you don’t already have an AWS account, create one at https://aws.amazon.com by
following the on-screen instructions.
2. Use the Region selector in the navigation bar to choose the AWS Region where you
want to deploy Solodev DCX Enterprise Edition for Docker.
3. Create a key pair in your preferred Region. If a key pair already exists and you have
access, you can use the existing key pair.
Step 2. Subscribe to the Solodev DCX Enterprise Edition for Docker container
This Quick Start requires a subscription to the container for Solodev DCX Enterprise
Edition for Docker in AWS Marketplace.
1. Sign in to your AWS account.
2. Open the page for the Solodev DCX Enterprise Edition for Docker in AWS Marketplace,
and then choose Continue to Subscribe.
3. Review the terms and conditions for software usage, and then choose Accept Terms.
You will get a confirmation page, and an email confirmation will be sent to the account
owner. For detailed subscription instructions, see the AWS Marketplace documentation.
4. When the subscription process is complete, exit out of AWS Marketplace without
further action. Do not provision the software from AWS Marketplace—the Quick Start
will deploy Solodev and associated services for you.
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 8 of 18
Step 3. Launch the Quick Start
Notes The instructions in this section reflect the older version of the AWS
CloudFormation console. If you’re using the redesigned console, some of the user
interface elements might be different.
You are responsible for the cost of the AWS services used while running this Quick
Start reference deployment. There is no additional cost for using this Quick Start.
For full details, see the pricing pages for each AWS service you will be using in this
Quick Start. Prices are subject to change.
1. Sign in to your AWS account, and choose the following option to launch the AWS
CloudFormation template. For more information, see deployment options earlier in this
guide.
Deploy Solodev DCX Enterprise
Edition for Docker into a
new VPC on AWS
Deploy Solodev DCX Enterprise
Edition for Docker into an
existing VPC on AWS
Important When deploying Solodev DCX Enterprise Edition for Docker into an
existing VPC, make sure that your VPC has two private subnets in different
Availability Zones.
Each deployment takes about 25 minutes to complete.
2. Check the Region that’s displayed in the upper-right corner of the navigation bar, and
change it if necessary. This is where the network infrastructure for Solodev DCX
Enterprise Edition for Docker will be built. The template is launched in the US East
(Virginia) Region by default.
Note This deployment includes Amazon EFS, which isn’t currently supported in
all AWS Regions. For a current list of supported Regions, see the AWS Regions and
Endpoints webpage.
• new VPC
• workloadDeploy • workload onlyDeploy
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 9 of 18
3. On the Select Template page, keep the default setting for the template URL, and then
choose Next.
4. On the Specify Details page, change the stack name if needed. Review the parameters
for the template. Provide values for the parameters that require input. For all other
parameters, review the default settings and customize them as necessary.
Figure 2: Quick Start stack name
In the following tables, parameters are listed by category:
– Parameters for deploying Solodev DCX Enterprise Edition for Docker into a new
VPC
– Parameters for deploying Solodev DCX Enterprise Edition for Docker into an
existing VPC
When you finish reviewing and customizing the parameters, choose Next.
PARAMETERS FOR DEPLOYING SOLODEV DCX ENTERPRISE EDITION FOR DOCKER INTO A
NEW VPC
View template
Network configuration:
Parameter label
(name) Default Description
Resource name for the
stack
(ResourceName)
solodev-quickstart The name used to title the nested stacks.
Availability Zones
(AvailabilityZone)
Requires input The list of Availability Zones to use for the subnets in the VPC.
The Quick Start uses two Availability Zones from your list and
preserves the logical order you specify.
Web server instance
type
(InstanceType)
m3.medium The size of the EC2 instance you want to deploy.
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 10 of 18
Parameter label
(name) Default Description
Number of instances
(InstanceCount)
2 The number of instances behind the load balancer. For high
availability, choose two instances or more.
EC2 key pair name
(KeyName)
Requires input The name of an existing EC2 key pair to enable secure shell
(SSH) access to the instances.
CMS configuration:
Parameter label
(name) Default Description
Admin user name
(AdminUser)
solodev The Solodev administrator user name used to log in to the
application.
Admin password
(AdminPassword)
Requires input The Solodev administrator password used to log in to the
application.
Database name
(DatabaseName)
solodev The database name used during deployment when setting up
the Amazon RDS MySQL database.
Database root
password
(DatabasePassword)
Requires input The database root password used during deployment when
setting up the Amazon RDS MySQL database and when
needing to connect directly to the database.
Encryption enabled
(StorageEncrypted)
true Enable encryption for both the database (RDS) and the file
system (EFS).
Encryption key
(GPGPW)
KbM7c1NVNZaN Encryption key for backups.
Secure Sockets Layer (SSL) configuration (optional):
Parameter label
(name) Default Description
Fully qualified domain
name
(FQDN)
Requires input The fully qualified domain name for the backend application.
After deployment, the FQDN must be pointed to the CNAME
of the ALB.
Certificate ARN
(CertificateArn)
Requires input The SSL Certificate ARN that matches the FQDN specified
above. Certificates and Certificate ARN can be acquired via
AWS Certificate Manager.
Advanced configuration (optional):
Parameter label
(name) Default Description
Bucket name for
restore
(RestoreBucketName)
Optional If deploying and you want to restore an earlier instance,
specify the S3 bucket that houses the previous instance’s
backup files.
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 11 of 18
Parameter label
(name) Default Description
Experimental deletion
policy
(DeletionPolicy)
Delete Experimental field specifying the deletion policy (Retain,
Delete, Snapshot).
AWS Quick Start configuration:
Note We recommend that you keep the default settings for the following two
parameters, unless you are customizing the Quick Start templates for your own
deployment projects. Changing the settings of these parameters will automatically
update code references to point to a new Quick Start location. For additional details,
see the AWS Quick Start Contributor’s Guide.
Parameter label
(name) Default Description
Quick Start S3 bucket
name
(QSS3BucketName)
aws-quickstart The S3 bucket you have created for your copy of Quick Start
assets, if you decide to customize or extend the Quick Start for
your own use. The bucket name can include numbers,
lowercase letters, uppercase letters, and hyphens, but should
not start or end with a hyphen.
Quick Start S3 key
prefix
(QSS3KeyPrefix)
quickstart-solodev-
dcx/
The S3 key name prefix used to simulate a folder for your copy
of Quick Start assets, if you decide to customize or extend the
Quick Start for your own use. This prefix can include numbers,
lowercase letters, uppercase letters, hyphens, and forward
slashes.
PARAMETERS FOR DEPLOYING SOLODEV DCX ENTERPRISE EDITION FOR DOCKER INTO
AN EXISTING VPC
View template
Network configuration:
Parameter label
(name) Default Description
Resource name for the
stack
(ResourceName)
solodev-quickstart The name used to title the nested stacks.
VPC ID
(VPCID)
Requires input The ID of your existing VPC (e.g., vpc-0343606e).
Public subnets
(PublicSubnets)
Requires input Choose at least two public subnets in your existing VPC (e.g.,
subnet-a0246dcd).
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 12 of 18
Parameter label
(name) Default Description
Private subnets
(PrivateSubnets)
Requires input Choose at least two private subnets in your existing VPC.
Web server instance
type
(InstanceType)
m3.medium The size of the EC2 instance you want to deploy.
Number of instances
(InstanceCount)
2 The number of instances behind the load balancer. For high
availability, choose two instances or more.
EC2 key pair name
(KeyName)
Requires input The name of an existing EC2 key pair to enable SSH access to
the instances.
CMS configuration:
Parameter label
(name) Default Description
Admin user name
(AdminUser)
solodev The Solodev administrator user name used to log in to the
application.
Admin password
(AdminPassword)
Requires input The Solodev administrator password used to log in to the
application.
Database name
(DatabaseName)
solodev The database name used during deployment when setting up
the Amazon RDS MySQL database.
Database root
password
(DatabasePassword)
Requires input The database root password used during deployment when
setting up the RDS MySQL database and when needing to
connect directly to the database.
Encryption enabled
(StorageEncrypted)
true Enable encryption for both the database (RDS) and the file
system (EFS).
Encryption key
(GPGPW)
KbM7c1NVNZaN Encryption key for backups
SSL configuration (optional):
Parameter label
(name) Default Description
Fully qualified domain
name
(FQDN)
Requires input URL for app. FQDN must be pointed to CNAME of ALB.
Certificate ARN
(CertificateArn)
Requires input CertificateArn for SSL certificate that matches the FQDN
above. Please visit the AWS Certificate Manager.
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 13 of 18
Advanced configuration:
Parameter label
(name) Default Description
Bucket name for
restore
(RestoreBucketName)
Optional If deploying and you want to restore an earlier instance,
specify the S3 bucket that houses the previous instance’s
backup files.
Experimental deletion
policy
(DeletionPolicy)
Delete Experimental field specifying the deletion policy (Retain,
Delete, Snapshot).
AWS Quick Start configuration:
Note We recommend that you keep the default settings for the following two
parameters, unless you are customizing the Quick Start templates for your own
deployment projects. Changing the settings of these parameters will automatically
update code references to point to a new Quick Start location. For additional details,
see the AWS Quick Start Contributor’s Guide.
Parameter label
(name) Default Description
Quick Start S3 bucket
name
(QSS3BucketName)
aws-quickstart The S3 bucket you have created for your copy of Quick Start
assets, if you decide to customize or extend the Quick Start for
your own use. The bucket name can include numbers,
lowercase letters, uppercase letters, and hyphens, but should
not start or end with a hyphen.
Quick Start S3 key
prefix
(QSS3KeyPrefix)
quickstart-solodev-
dcx/
The S3 key name prefix used to simulate a folder for your copy
of Quick Start assets, if you decide to customize or extend the
Quick Start for your own use. This prefix can include numbers,
lowercase letters, uppercase letters, hyphens, and forward
slashes.
5. On the Options page, you can specify tags (key-value pairs) for resources in your stack
and set advanced options. When you’re done, choose Next.
6. On the Review page, review and confirm the template settings. Under Capabilities,
select the two check boxes to acknowledge that the template will create IAM resources
and that it might require the capability to auto-expand macros.
7. Choose Create to deploy the stack.
8. Monitor the status of the stack.
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 14 of 18
Figure 3: CloudFormation showing the monitoring of stack deployments
When the status is CREATE_COMPLETE, the Solodev DCX Enterprise Edition for
Docker cluster is ready.
9. Use the URL displayed in the Outputs tab for the primary stack to view the resources
that were created.
Figure 4: CloudFormation showing a successful stack creation with outputs
Step 4. Test the deployment
1. When you see that the deployment has completed successfully, you can test it by
accessing the Solodev DCX backend directly. Navigate to the SolodevURL that is
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 15 of 18
provided on the Outputs tab of the successfully completed primary stack. The URL
takes you to the Solodev login screen.
Figure 5: The Solodev login screen as the endpoint of a successful deployment
2. Use the AdminUser and AdminPassword from the Specify Details step of the Quick
Start launch to log in to the Solodev backend dashboard.
Figure 6: The Solodev dashboard showing a newly deployed instance
Step 5. Configure DNS for Application
If all is working correctly, you can configure your backend FQDN and any domains you
want to use with the application to point to the load balancer endpoint by using CNAME
records.
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 16 of 18
Figure 7: Route 53 DNS configurations for FQDNs pointed to the deployment
Troubleshooting
Q. I encountered a CREATE_FAILED error when I launched the Quick Start.
A. If AWS CloudFormation fails to create the stack, we recommend that you relaunch the
template with Rollback on failure set to No. (This setting is under Advanced in the
AWS CloudFormation console, Options page.) With this setting, the stack’s state will be
retained and the instance will be left running, so you can troubleshoot the issue.
Important When you set Rollback on failure to No, you will continue to incur
AWS charges for this stack. Please make sure to delete the stack when you finish
troubleshooting.
For additional information, see Troubleshooting AWS CloudFormation on the AWS
website.
Q. I encountered a size limitation error when I deployed the AWS CloudFormation
templates.
A. We recommend that you launch the Quick Start templates from the links in this guide or
from another S3 bucket. If you deploy the templates from a local copy on your computer or
from a non-S3 location, you might encounter template size limitations when you create the
stack. For more information about AWS CloudFormation limits, see the AWS
documentation.
Solodev support for AWS
Solodev is a professionally managed, enterprise-class solution, and the Solodev team of
certified engineers is available to support your success. For issues with troubleshooting the
launch of this Quick Start or for instructions on how to update your instance, visit the
Solodev DevOps Documentation. For Solodev DCX documentation, visit the Solodev Help
Desk. For other questions or inquiries, send email to [email protected].
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 17 of 18
Send us feedback
You can visit our GitHub repository to download the templates and scripts for this Quick
Start, to post your comments, and to share your customizations with others.
Additional resources
AWS resources
Getting Started Resource Center
AWS General Reference
AWS Glossary
AWS services
AWS CloudFormation
Amazon ECS
Amazon EC2
Amazon EC2 Auto Scaling
Amazon EFS
Amazon RDS
Amazon S3
Amazon VPC
Elastic Load Balancing
Solodev DCX Enterprise Edition for Docker documentation
Solodev Website
Solodev DevOps Documentation
Solodev Help Desk & Product Documentation
Other Quick Start reference deployments
AWS Quick Start home page
Amazon Web Services – Solodev DCX Enterprise Edition for Docker on the AWS Cloud October 2019
Page 18 of 18
Document revisions
Date Change In sections
October 2019 Initial publication —
© 2019, Amazon Web Services, Inc. or its affiliates, and Solodev. All rights reserved.
Notices
This document is provided for informational purposes only. It represents AWS’s current product offerings
and practices as of the date of issue of this document, which are subject to change without notice. Customers
are responsible for making their own independent assessment of the information in this document and any
use of AWS’s products or services, each of which is provided “as is” without warranty of any kind, whether
express or implied. This document does not create any warranties, representations, contractual
commitments, conditions or assurances from AWS, its affiliates, suppliers or licensors. The responsibilities
and liabilities of AWS to its customers are controlled by AWS agreements, and this document is not part of,
nor does it modify, any agreement between AWS and its customers.
The software included with this paper is licensed under the Apache License, Version 2.0 (the "License"). You
may not use this file except in compliance with the License. A copy of the License is located at
http://aws.amazon.com/apache2.0/ or in the "license" file accompanying this file. This code is distributed on
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License.