Q: What is AWS Amplify?
AWS Amplify consists of a development framework and a web hosting service that provide the fastest and easiest way to build mobile and web applications on AWS. The open source Amplify Framework provides an opinionated set of libraries, UI components, and a command line interface to build an app backend and integrate it with your iOS, Android, Web, and React Native apps. The Amplify Framework leverages a core set of AWS Cloud Services to offer capabilities including offline data, authentication, analytics, push notifications, and bots at high scale. The static web hosting service, AWS Amplify Console, is accessible from the AWS console for building, deploying, and hosting static web apps. And as part of the broader set of Mobile Development tools and services, you can use AWS Device Farm for testing mobile apps on real iOS and Android devices.
Q: What does it cost to use AWS Amplify?
When you use the Amplify Framework (Libraries, CLI, UI Components), you pay only for the underlying AWS services you use. There are no additional charges for using the Amplify Framework. To learn about pricing for static web hosting with AWS Amplify Console, visit the AWS Amplify pricing page. To learn about pricing for AWS Device Farm, visit the AWS Device Farm pricing page.
Q: How does hosting with AWS Amplify Console relate to the open source Amplify Framework?
AWS Amplify consists of an open source Amplify Framework (Libraries, CLI, UI Components) and a static web hosting service, AWS Amplify Console. These tools and services can be used together or separately. For example, you can go to AWS Amplify on the AWS console to deploy and host Single Page App (SPA) frontends and static websites, whether or not they use the Amplify Framework.
If you are using the Amplify Framework’s CLI to configure backend resources for your app, AWS Amplify Console offers additional functionality. On each check-in, AWS Amplify Console provisions or updates these backend resources prior to deploying your frontend. There is support for a variety of configurations, such as isolated backend deployments per branch or shared backend deployments across branches.
Q: What happened to AWS Mobile Hub?
Existing AWS Mobile Hub customers can continue to use Mobile Hub. For new projects, developers should use AWS Amplify instead.
Q: What can I do with the open source Amplify Framework?
With the open source Amplify Framework, you can quickly add features such as offline data, multifactor authentication, analytics, and others to your application with a few lines of code. You can configure and integrate the underlying cloud services like AWS AppSync, Amazon Cognito, Amazon Pinpoint, AWS Lambda, Amazon S3, or Amazon Lex directly from your command line minimizing the time required to set-up and manage your back-end services.
Q: What languages and platforms does the Amplify Framework support?
The Amplify Framework supports iOS, Android, Web, and React Native apps. For Web apps, there is deep integration with React, Ionic, Angular, and Vue.js.
Q: Can I use the Amplify Framework libraries even if I do not use the CLI?
Yes. The libraries can be used to access backend resources that were created without the Amplify CLI.
Q: How is AWS Amplify related to the AWS Mobile SDKs for iOS and Android?
Amplify iOS and Amplify Android are the recommended ways to build iOS and Android apps that leverage AWS services, whether or not you have configured them using the Amplify CLI. Get started here. If your app is already built using the previous AWS Mobile SDKs for iOS and Android, documentation is available here.
Q: Where can I find the AWS SDKs for Xamarin and Unity?
To get started with the AWS Mobile SDK for Xamarin, read the AWS Mobile SDK for Xamarin developer guide. To get started with the AWS Mobile SDK for Unity, read the AWS Mobile SDK for Unity developer guide.
Static web hosting
Q: What is AWS Amplify Console?
AWS Amplify Console is a static web hosting service that can be accessed directly from the AWS 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: 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 websites.
Q: How do I get started with AWS Amplify Console?
To get started, go to AWS Amplify in the AWS console and connect your source repository. 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. 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 AWS Amplify on the AWS 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 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 Console never stores access tokens from repositories. Once you authorize AWS Amplify Console, 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 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, 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, AWS Amplify Console will stream the build output to the service console and Amazon CloudWatch.
Q: How can I leverage AWS 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. 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 deployments?
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 Console 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 web 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.