General
Q: What is AWS Amplify?
AWS Amplify consists of a set of tools (open source framework, visual development environment, console) and services (web app and static website hosting) to accelerate the development of mobile and web applications on AWS.
Amplify's open source framework includes an opinionated set of libraries, UI components, and a command line interface (CLI) to build an app backend and integrate it with your iOS, Android, Web, and React Native apps. The framework leverages a core set of AWS Cloud Services to offer capabilities including offline data, authentication, analytics, push notifications, and bots at high scale.
Amplify Studio further simplifies the configuration of backends and frontend UIs with a visual point-and-click experience that works seamlessly with the Amplify CLI. Amplify Studio also includes functionality for managing app content and users.
AWS Amplify also offers a fully managed web app and static website hosting service to host your front-end web app, create/delete backend environments, setup CI/CD on the front end and backend.
Finally, as part of the broader set of front-end web and mobile development tools and services, you can use AWS Device Farm for testing apps on real iOS devices, Android devices, and web browsers.
Q: What does it cost to use AWS Amplify?
When you use Amplify's open source framework (libraries, UI components, CLI) or Amplify Studio, you pay only for the underlying AWS services you use. There are no additional charges for using these tools. To learn about pricing for AWS Amplify Hosting, Amplify’s fully managed web app and static website hosting service, 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 relate to Amplify's open source framework?
AWS Amplify consists of tools (open source framework and visual development environment) and a fully managed web hosting service. The tools in the framework (libraries, UI components, CLI), Amplify Studio, the console, and the static web hosting service can be used together or individually.
For example, you can go to AWS Amplify from the AWS console to deploy and host Single Page App (SPA) frontends and static websites, whether or not they use Amplify libraries.
If you are using the Amplify CLI to configure backend resources for your app, AWS Amplify's static web hosting service offers additional functionality. On each check-in, AWS Amplify provisions or updates these backend resources prior to deploying your front end. There is support for a variety of configurations, such as isolated backend deployments per branch or shared backend deployments across branches when you use AWS Amplify's web hosting service.
Q: Where can I find the latest news on AWS Amplify?
Visit our blog and What’s New page.
Tools & Features
Q: What can I do with the Amplify libraries, CLI and Amplify Studio?
With the Amplify libraries, 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 the underlying cloud services like AWS AppSync, Amazon Cognito, Amazon Pinpoint, AWS Lambda, Amazon S3, or Amazon Lex directly from the Amplify CLI or Amplify Studio with intuitive guided workflows, minimizing the time required to set-up and manage your backend services.
Q: What languages and platforms do Amplify libraries support?
Amplify libraries support iOS, Android, Web, Flutter, and React Native apps. For Web apps, there is deep integration with React, Ionic, Angular, and Vue.js.
Q: Can I use the Amplify 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 do Amplify features work with AWS cloud services?
Amplify features are organized based on the use cases you need to integrate with your app, such as offline data, multi factor authentication, analytics, and others. When you configure these features using the Amplify CLI or the Amplify Studio, the necessary AWS cloud services are provisioned for you. The configuration is persisted in CloudFormation templates that can be checked into source control and shared with other developers. When you add these features to your app via the Amplify libraries, the library makes the necessary calls to AWS services. For example, 'amplify add analytics' will configure Amazon Pinpoint. Then, when you use the Analytics APIs from the Amplify library in your app, the necessary calls will be made to Pinpoint.
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. What is Amplify Studio?
Amplify Studio is a visual interface for configuring and maintaining app backends and creating frontend UIs outside the AWS console. Once you've launched your app, Amplify Studio also enables developers and non-developers to manage app content and users.
Q. Why is Amplify Studio outside the AWS console?
Amplify Studio is accessible outside the AWS console to provide front-end developers new to AWS the opportunity to engage with AWS tools quickly and more efficiently. Amplify Studio provides a simplified view of the features needed to build a cloud-connected web or mobile app, both the backend and frontend UI. Amplify Studio also provides easy access for non-developers (QA testers, PMs) to manage the app content and users without requiring developers to figure out the right IAM roles and policies.
Q. What is the Amplify console and how is it different from the Amplify Studio?
The Amplify console is the control center for your app inside the AWS management console. The AWS Amplify console shows you all the front-end environments and backend environments for your apps, whereas Amplify Studio has a unique instance tied to each individual backend environment.
The Amplify console is where you can access AWS Amplify's fully managed web hosting service to set up web hosting, full-stack CI/CD, add a custom domain, clone/delete multiple backend environments, and navigate to underlying AWS service consoles. On the other hand, Amplify Studio is used for configuring and maintaining the app backend - adding features such as auth, data, functions. After launching your app, the Amplify Studio also gives non-developers (QA, PMs) a way to manage app content and users.
Q: What is AWS Amplify's web hosting service?
In addition to AWS Amplify's development tools and features, AWS Amplify offers a fully managed hosting service for web apps and static websites that can be accessed directly from the AWS console. AWS Amplify's static web hosting service provides a complete workflow for building, 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?
In addition to AWS Amplify's development tools and features, AWS Amplify offers a fully managed static web hosting service for web apps and static websites that can be accessed directly from the AWS console. AWS Amplify's static web hosting service provides a complete workflow for building, 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 do I get started with AWS Amplify web hosting?
To get started, go to AWS Amplify in the AWS console and connect your source repository. AWS Amplify automatically determines the front-end framework used, and then builds and deploys the app to a globally available content delivery network (CDN). Amplify detects backend functionality added using the Amplify CLI or Amplify Studio, and can deploy the necessary AWS resources in the same deployment as the front end. AWS Amplify will build and deploy your web app quickly, and host your web app on a globally available content delivery network (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 'app'?
An AWS Amplify '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 static web hosting support?
You can connect private and public repositories from GitHub, BitBucket, GitLab, and AWS CodeCommit.
Q: Does AWS Amplify web hosting 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 web hosting 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 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 will create a temporary compute container (4 vCPU, 7GB RAM), download the source code, run 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 will stream the build output to the service console.
Q: How can I leverage AWS Amplify web hosting to work with multiple environments?
AWS Amplify 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?
Hosting a modern web app does not require web servers and can use content delivery networks to store static content (HTML, CSS and JavaScript files). AWS Amplify leverages the Amazon CloudFront Global Edge Network to distribute your web app globally.
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 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 web 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 automatically updates the DNS records to point to their deployed app. For 3rd party registrars, AWS Amplify provides instructions on how to update their DNS records.
Q: Is all web traffic served over HTTPS?
AWS Amplify web hosting 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 Hosting?
AWS Amplify web hosting 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.
Learn more about AWS Amplify