Q: What is the AWS Amplify Console?
AWS Amplify Console provides a complete workflow for developing, deploying, and hosting single page web apps or static sites with serverless backends. Continuous deployment allows developers to deploy updates to their web app on every code commit to their Git repository. When the build succeeds, the app is deployed and hosted on an amplifyapp.com subdomain. Developers can connect their custom domain to start receiving production traffic.
Q: How are modern web apps different from traditional web apps?
Traditional client-server web architectures, in response to user events such as button clicks or search queries, perform multiple roundtrips to the server and re-render the entire application UX. This can negatively affect the user experience.
Q: What modern web app frameworks do you support?
AWS Amplify Console supports all Single Page App (SPA) frontend frameworks (e.g. React, Angular, Vue.js, Ionic, Ember), as well as static-site generators like Gatsby, Eleventy, Hugo, VuePress, and Jekyll.
Q: How does the AWS Amplify Console relate to the Amplify Framework?
The AWS Amplify Console can be used with Single Page Apps (SPA) and static sites, whether or not they use the open source Amplify Framework.
The Amplify Framework provides a command-line interface (CLI) and library for simplifying serverless web and mobile development. The CLI provisions serverless backend resources (e.g., GraphQL APIs with AWS AppSync, REST APIs with Amazon API Gateway and AWS Lambda, and authentication with Amazon Cognito) and the library helps with integrating these backend resources in the frontend.
If you are using the Amplify Framework’s CLI to configure backend resources for your app, the AWS Amplify Console can provision/update these for you on each check-in you make to source control, prior to deploying your frontend. There is support for a variety of configurations, such as an isolated backend deployment per branch. Learn more.
Q: How do I get started with the AWS Amplify Console?
To get started, go to the AWS Amplify Console and connect your source repository. The AWS Amplify Console automatically determines the frontend framework used, and then builds and deploys the app to a globally available content delivery network (CDN). The Console detects backend functionality added using the Amplify Framework, and can deploy the necessary AWS resources in the same deployment as the frontend. The AWS Amplify Console will build and deploy your web app quickly, and host your web app on a globally available CDN with a friendly URL (example: https://master.appname.amplifyapp.com). To get started, go to the AWS Amplify Console.
Q: What is an AWS Amplify Console 'app'?
An AWS Amplify Console 'app' is your project container. Each app project contains a list of branches you have connected from your source repository. You can connect additional feature branches, a custom domain, or access your build logs from your app project.
Q: What happened to AWS Mobile Hub?
AWS Mobile Hub is now part of AWS Amplify. All the functionality that was available in Mobile Hub is now available as part of the open-source Amplify Framework. The AWS Amplify Console can deploy apps built with the Amplify Framework. You can still access your existing Mobile Hub projects from the AWS Amplify Console by choosing 'View existing Mobile Hub projects' from the banner on top.
Q: What is continuous deployment?
Continuous deployment is a devops strategy for software releases where every code commit to a repository is automatically released to production or staging environment. This practice reduces time to market by ensuring that your hosted web app is always a reflection of the latest code in your repository.
Q: What Git source code providers does AWS Amplify Console support?
You can connect private and public repositories from GitHub, BitBucket, GitLab, and AWS CodeCommit.
Q: Does AWS Amplify Console store my Git access tokens?
AWS Amplify never stores access tokens from repositories. Once you authorize AWS Amplify, we fetch an access token from your source provider. We simply pass the token to our console, and from then on, all communication with the GitHub API happens straight from the browser. After configuring continuous deployment, the token is permanently discarded.
Q: Does AWS Amplify Console support private Git servers?
We currently do not support private Git servers.
Q: What type of web apps can I build and deploy?
You can deploy Single page apps (SPAs) built with frameworks like React, Angular, Vue, Ember; and static sites generated with frameworks like Gatsby, Eleventy, Hugo, VuePress, and Jekyll. You can also host simple static sites.
Q: What are environment variables? How do I use them?
Environment variables are configurations required by apps at runtime. These configurations could include database connection details, third-party API keys, different customization parameters and secrets. The best way to expose these configurations is to do so with environment variables. You can add environment variables when creating an app or by going to the app settings. All environment variables are encrypted to prevent rogue access. Add all your app environment variables in the key and value textboxes. By default, the AWS Amplify Console applies the environment variables across all branches, so you don't have to re-enter variables when you connect a new branch. Once you enter all the variables hit Save.
Q: What happens when a build is run?
AWS Amplify Console will create a temporary compute container (4 vCPU, 7GB RAM), download the source code, execute the commands configured in the project, deploy the generated artifact to a web hosting environment, and then destroy the compute container. During the build, the AWS Amplify Console will stream the build output to the service console and Amazon CloudWatch
Q: How can I leverage Amplify Console to work with multiple environments ?
AWS Amplify Console leverages Git’s branching model to create new environments every time a developer pushes code to a new branch. In typical development teams, developers deploy their ‘master’ branch to production, keep the ‘dev’ branch as staging, and create feature branches when working on new functionality. The AWS Amplify console can create frontend and backend environments linked to each connected branch. This allows developers to work in sandbox environments, and use ‘Git’ as a mechanism to merge code and resolve conflicts. Changes are automatically pushed to production once they are merged into the master (or production) branch.
Q: What are atomic deploys?
Every deployment is atomic, which means the site is ready to view after the deployment is complete. Atomic deployments eliminate maintenance windows by ensuring the web app is only updated once the entire deploy has finished. The new version of the web app is then made available instantly to end-users, without the developer having to invalidate CDN caches.
Q: How is hosting a modern web app different from a traditional web app?
Q: How do I connect my custom domain?
Connecting your custom domain is easy – if your domain is registered on Route53, simply pick it from a dropdown and AWS Amplify Console will automatically configure the DNS records to point the apex and ‘www’ subdomain to your website. Additionally, we automatically create subdomains for all branches that are connected. For example, connecting a ‘dev’ branch creates a deployment at https://dev.appname.amplifyapp.com. As part of the custom domain setup, we generate a free HTTPS certificate to ensure traffic to your site is secure.
Q: What domain registrars does AWS Amplify Hosting support?
Domains purchased through all domain registrars can be connected to an app by defining a custom domain. For developers using Amazon Route53 as their registrar, AWS Amplify Console automatically updates the DNS records to point to their deployed app. For 3rd party registrars, AWS Amplify Console provides instructions on how to update their DNS records.
Q: Is all web traffic served over HTTPS?
AWS Amplify Console generates a free HTTPS on all sites and will enable it automatically on all Route53-managed domains. The SSL certificate is generated by Amazon Certificate Manager and has wildcard domain support. ACM handles the complexity of creating and managing public SSL/TLS certificates for your AWS based websites and applications. With the wildcard option, the main domain and all subdomains can be covered by a single certificate.
Q: Can I password protect my web deployments?
All web deployments can be password protected with basic access authentication. When working on new features, developers can share updates with internal stakeholders by setting up a username and password for a branch deployment.
Q: What are redirects and rewrites? How do I use them?
A redirect is a client-side request to have the web browser go to another URL. This means that the URL that you see in the browser will update to the new URL. A rewrite is a server-side rewrite of the URL. This will not change what you see in the browser because the changes are hidden from the user. Reverse proxies are cross-origin rewrites. From the AWS Amplify Console settings, developers can specify redirects, HTTP response code, custom 404s, and proxies to external services.
Q: How will I be charged for my use of AWS Amplify Console?
AWS Amplify Console is priced for two features – build & deploy, and hosting. For the build & deploy feature the price per build minute is $0.01. For the hosting feature the price per GB served is $0.15 and price per GB stored is $0.023.
With the AWS Free Usage Tier, you can get started for free. Upon sign up, new AWS customers receive 1,000 build minutes per month for the build and deploy feature, and 15 GB served per month and 5 GB data storage per month for the hosting feature.
Q: Does your prices include taxes?
Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax. For customers with a Japanese billing address, use of AWS services is subject to Japanese Consumption Tax. Learn more.
Q: Are prices different per region?
Prices are the same across all regions.