全般

Q: AWS Amplify とは何ですか?

AWS Amplify は、モバイルとウェブのアプリケーションの開発を AWS 上で加速するための、各種のツール (オープンソースのフレームワーク、管理 UI、コンソール) や、サービス (静的ウェブホスティング) で構成されています。

Amplify が提供するオープンソースのフレームワークには、一連の独自ライブラリや、UI コンポーネント、そしてコマンドラインインターフェイス (CLI) が含まれています。これらの機能により、アプリケーションをバックエンドでビルドした上で、iOS、Android、ウェブ、React Native の各アプリケーションと統合することが可能です。このフレームワークは、主要な AWS クラウドサービスを活用しており、オフラインデータ、認証、分析、プッシュ通知、ボットなどの機能を大規模に提供します。

さらに Amplify の管理 UI では、Amplify CLI とシームレスに連動するビジュアルなポイントアンドクリックの操作性を通じ、バックエンドの設定を簡素化できます。この管理 UI には、アプリケーションのコンテンツとユーザーを管理するための機能も搭載されています。

Amplify コンソールは、お客様のフルスタックのアプリケーション用のコントロールセンターとして機能し、AWS マネジメントコンソールからアクセス可能です。AWS Amplify では、完全マネージド型の静的ウェブホスティングサービスも利用可能です。このサービスにはコンソールからアクセス可能で、フロントエンドのウェブアプリケーションのホスティング、バックエンド環境の作成および削除、フロントエンドとバックエンドの両方での CI/CD のセットアップなどが行えます。

さらに、フロントエンドウェブとモバイル開発用の幅広いツールやサービスの一部として、AWS Device Farm を使用すれば、実際の iOS と Android のデバイス、さらにウェブブラウザで、アプリケーションをテストできるようになります。

Q: AWS Amplify の使用にはどれくらいの費用がかかりますか?

Amplify のオープンソースフレームワーク (ライブラリ、UI コンポーネント、CLI)、あるいは管理 UIを使用する場合でも、お支払いいただくのは、基盤として使用する AWS のサービスに対してのみです。これらの機能の使用に、他の追加料金はかかりません。AWS Amplify の完全マネージド型静的ウェブホスティングサービスの料金については、AWS Amplify の料金ページでご確認ください。AWS Device Farm の料金については、AWS Device Farm の料金ページを参照してください。

Q: AWS Amplify ではホスティングとオープンソースのフレームワークにどのような関連性がありますか?

AWS Amplify は、各種のツール (オープンソースのフレームワーク、管理 UI、コンソール) と、完全マネージド型の静的ウェブホスティングサービスとで構成されています。フレームワークに備わった各ツール (ライブラリ、UI コンポーネント、CLI)、管理 UI、コンソール、そして静的ウェブホスティングサービスは、それぞれ個別にでも連携させても使用が可能です。

例えば、そのウェブサイトが Amplify のライブラリを使用していてもいなくても、AWS コンソールから AWS Amplify に移動して、シングルページアプリケーション (SPA) のフロントエンドと静的ウェブサイトをデプロイし、ホスティングできます。

Amplify の CLI を使用してアプリケーションのバックエンドリソースを設定している場合には、AWS Amplify の静的ウェブホスティングサービスが提供する追加的な機能が利用可能になります。毎回のチェックインではフロントエンドをデプロイする前に、AWS Amplify によって、これらのバックエンドリソースがプロビジョニングあるいは更新されます。AWS Amplify の静的ウェブホスティングサービスでは、ブランチごとの分離されたバックエンドのデプロイや、ブランチ全体の共有されたバックエンドデプロイなど、さまざまな構成がサポートされています。

Q: AWS Mobile Hub はどうなりましたか?

既存の AWS Mobile Hub のお客様は、引き続き Mobile Hub を使用できます。新しいプロジェクトの場合は、代わりに AWS Amplify を使用してください。

Q: AWS Amplify の最新情報はどこで確認できますか?

AWS のブログ最新情報のページでご確認いただけます。

ツールと機能

Q: Amplify ライブラリ、CLI、管理 UI ではどのようなことができますか?

Amplify ライブラリを使用すると、数行のコードを記述するだけで、オフラインデータ、多要素認証、分析その他の機能を、アプリケーションに簡単に追加できます。AWS AppSync、Amazon Cognito、Amazon Pinpoint、AWS Lambda、Amazon S3、Amazon Lex などの基盤となるクラウドサービスを、直観的なガイド付きのワークフローを通じて、Amplify CLI もしくは管理 UI から直接設定できるため、バックエンドサービスを設定して管理するのに必要な時間を最小限に抑えることができます。

Q: Amplify ライブラリではどのような言語とプラットフォームがサポートされていますか?

Amplify ライブラリでは、iOS、Android、ウェブ、Flutter、および React Native アプリケーションがサポートされています。ウェブアプリケーションは、React、Ionic、Angular および Vue.js と高度に統合されています。

Q: CLI を使っていなくても Amplify ライブラリを使用できますか?

はい。ライブラリを使用して、Amplify CLI を使わずに作成されたバックエンドリソースへアクセスできます。

Q: Amplify の各機能は AWS クラウドサービスとどのように連携動作するのですか?

Amplify の各機能は、例えばオフラインデータ、多要素認証、分析といったような、アプリケーションに統合する必要がある、各種のユースケースに基づき編成されています。Amplify CLI もしくは管理 UI を使用してこれらの機能を設定すると、必要な AWS クラウドサービスが自動的にプロビジョニングされます。設定は CloudFormation テンプレートに保持されるため、ソース管理にチェックインしたり他のデベロッパーと共有したりできます。これらの機能を Amplify ライブラリ経由でアプリケーションに追加すると、ライブラリによって AWS のサービスに対し必要な呼び出しが行われます。例えば、”amplify add analytics” コマンドを使用すると Amazon Pinpoint が設定されます。その後、アプリケーションで Amplify ライブラリの Analytics API を使用すると、Pinpoint に対し必要な呼び出しが行われます。

Q: AWS Amplify は iOS や Android 向けの AWS Mobile SDK とどのように関連していますか?

Amplify CLI を使用して構成したかどうかに関係なく、Amplify iOS と Amplify Android は、AWS のサービスを利用する iOS および Android アプリをビルドする方法として推奨されています。使用は、こちらから開始していただけます。アプリが、iOS および Android 用の以前の AWS Mobile SDK を使用してすでにビルドされている場合のドキュメントは、こちらから入手いただけます。

Q:Amplify の管理 UI とは何ですか?

Amplify の管理 UI は、AWS コンソールの外部でアプリケーションのバックエンドを設定および保守するための、ビジュアルインターフェースです。起動済みアプリケーションに対して、そのコンテンツやユーザーを管理するための手段が、管理 UI により、デベロッパーと非デベロッパーの両方に提供されます。

Q:AWS コンソールの外部にある管理 UI とは何ですか?

管理 UI は、AWS コンソールの外部にあってもアクセスが可能です。これにより、AWS 初心者のフロントエンドデベロッパーが、AWS のツールをすばやく簡単に使用するための手段を提供しています。管理 UI により、クラウドコネクテッドのウェブやモバイルアプリケーションをビルドするために必要な機能を、簡易化して表示できます。また管理 UI からは、非デベロッパー (QA テスター、PM) が、アプリケーションのコンテンツやユーザーを管理するための、簡単なアクセス手段も提供されます。デベロッパーは、このための適切な IAM ロールやポリシ―を構成する必要はありません。

Q:Amplify コンソールとは何ですか、また、管理 UI とはどこが異なりますか?

Amplify コンソールは、お客様のアプリケーション用として、AWS マネジメントコンソール内に置かれたコントロールセンターです。AWS Amplify コンソールでは、アプリケーションのフロントエンドとバックエンドの環境をすべて表示します。一方、管理 UI には、個別のバックエンド環境ごとに紐づけされた、固有のインスタンスが存在します。

Amplify コンソールは、AWS Amplify が提供する、完全マネージド型の静的ウェブホスティングサービスにアクセスするためのツールです。このツールにより、ウェブホスティング、フルスタックの CI/CD、そしてカスタムドメインの設定や、マルチバックエンド環境のクローン作成と削除、さらに、基盤となる AWS のサービスのコンソールへのアクセスの設定を行います。一方、管理 UI は、アプリケーションバックエンドを構成および保守するために使用します。このツールでは、認証、データ、関数などをアプリケーションに追加できます。また管理 UI では、非デベロッパー (QA、PM) に対して、起動後のアプリケーションのコンテンツとユーザーを管理するための手段も提供されます。
静的ウェブホスティング

Q: AWS Amplify の静的ウェブホスティングサービスとは何ですか?

AWS Amplify では、開発用のツールや機能に加えて、AWS コンソールから直接アクセス可能な、完全マネージド型の静的ウェブホスティングサービスも提供しています。AWS Amplify の静的ウェブホスティングサービスにより、サーバーレスバックエンドを持つ単一ページのウェブアプリケーション、あるいは静的ウェブサイトの開発、デプロイ、ホスティングのための詳細なワークフローが提供されます。継続的なデプロイにより、デベロッパーは Git リポジトリへのコードコミットのたびに、その更新内容をウェブアプリケーションにデプロイすることができます。構築に成功すると、アプリは amplifyapp.com サブドメインでデプロイされ、ホストされます。デベロッパーはカスタムドメインを接続して、本稼働トラフィックの受信を開始できます。

Q: どのタイプのウェブアプリをビルドしたりデプロイすることができますか?

AWS Amplify では、開発用のツールや機能に加えて、AWS コンソールから直接アクセス可能な、完全マネージド型の静的ウェブホスティングサービスも提供しています。AWS Amplify の静的ウェブホスティングサービスにより、サーバーレスバックエンドを持つ単一ページのウェブアプリケーション、あるいは静的ウェブサイトの開発、デプロイ、ホスティングのための詳細なワークフローが提供されます。継続的なデプロイにより、デベロッパーは Git リポジトリへのコードコミットのたびに、その更新内容をウェブアプリケーションにデプロイすることができます。構築に成功すると、アプリは amplifyapp.com サブドメインでデプロイされ、ホストされます。デベロッパーはカスタムドメインを接続して、本稼働トラフィックの受信を開始できます。

Q: AWS Amplify の静的ウェブホスティングの使用を開始する方法を教えてください。

使用を開始するには、AWS コンソールで AWS Amplify に移動した上で、ソースリポジトリに接続します。AWS Amplify は、使用されているフロントエンドフレームワークを自動的に判別し、グローバルに利用可能なコンテンツ配信ネットワーク (CDN) 上で、アプリケーションをビルドおよびデプロイします。Amplify は、Amplify CLI もしくは管理 UI を使用して追加されたバックエンド機能を検出します。また、フロントエンドと同じデプロイに対し、必要な AWS のリソースをデプロイすることができます。AWS Amplify はウェブアプリケーションを迅速にビルドおよびデプロイし、そのアプリケーションを、わかりやすい URL (例: https://master.appname.amplifyapp.com) を使用しながら、グローバルに利用可能なコンテンツ配信ネットワーク (CDN) 上でホスティングします 。使用の開始には、AWS コンソール上の AWS Amplify にアクセスします。

Q: AWS Amplify での "app" とは何ですか?

AWS Amplify での "app" とは、プロジェクトコンテナです。各アプリプロジェクトには、お客様がソースリポジトリから接続したブランチの一覧が含まれています。追加機能のブランチ、カスタムドメインを接続したり、アプリプロジェクトからのビルドログにアクセスできます。

Q: 継続的なデプロイとは?

継続的なデプロイとは、リポジトリにコミットされるすべてのコードが自動的に本稼働またはステージング環境にリリースされるソフトウェアリリースのための DevOps 戦略です。この方法により、ホストされたウェブアプリは常にリポジトリの最新のコードを確実に反映するようになり、市場投入までの時間が短縮されます。

Q: AWS Amplify の静的ウェブホスティングでは、どの Git ソースコードプロバイダがサポートされますか?

GitHub、BitBucket、GitLab、および AWS CodeCommit から、プライベートとパブリックのリポジトリ両方に接続できます。

Q: AWS Amplify の静的ウェブホスティングには Git アクセストークンは保存されますか?

リポジトリからのアクセストークンが AWS Amplify に保存されることはありません。AWS Amplify を承認すると、ソースプロバイダからアクセストークンが取得されます。トークンはそのままコンソールに渡され、以降すべての GitHub API とのコミュニケーションはブラウザから直接行われます。継続的デプロイの設定後、トークンは完全に破棄されます。

Q: AWS Amplify の静的ウェブホスティングでプライベート Git サーバーはサポートされていますか?

現在、プライベート Git サーバーはサポートされていません。

Q: 環境変数とは何ですか? どのように使用しますか?

環境変数とは、ランタイム時にアプリによって要求される設定です。これらの設定には、データベースの接続の詳細、サードパーティーの API キー、さまざまなカスタマイズパラメータと秘密情報が含まれる可能性があります。これらの設定を公開する最善の方法は、環境変数を使用して公開することです。環境変数は、アプリ作成時か、アプリ設定に移動して追加できます。すべての環境変数は、不正アクセスを防止するため暗号化されています。キーと値のテキストボックスに、アプリケーション環境変数をすべて追加します。デフォルトで、AWS Amplify は環境変数をすべてのブランチに適用します。新しいブランチに接続した場合でも、変数を再入力する必要はありません。変数をすべて入力し終えたら、[保存] をクリックします。

Q: ビルドが実行されるとどうなりますか?

AWS Amplify は、一時的なコンピューティングコンテナ (4 vCPU、7 GB RAM) を作成した上でソースコードをダウンロードし、プロジェクトで設定したコマンドを実行して、生成されたアーティファクトをウェブホスティング環境にデプロイします。その後、コンピューティングコンテナを破棄します。ビルド中の出力は、AWS Amplify により、サービスコンソールおよび Amazon CloudWatch に対しストリーミングされます。

Q: AWS Amplify の静的ウェブホスティングを複数の環境で活用するにはどうすればよいですか?

AWS Amplify は、Git のブランチモデルを活用して、デベロッパーが新しいブランチにコードをプッシュするたびに新しい環境を作成します。一般的な開発チームでは、デベロッパーは "マスター" ブランチを本番稼働用にデプロイし、"開発" ブランチをステージングとして残しながら、新しい機能の作業をするときには機能ブランチを作成します。AWS Amplify コンソールは、接続されたそれぞれのブランチにリンクする、フロントエンド環境およびバックエンド環境を作成できます。これにより、デベロッパーはサンドボックス環境で作業できます。また、コードをマージして競合を解決するメカニズムとして「Git」を使用することもできます。変更は、マスター (または本稼働) ブランチにマージされると、自動的に本番稼働用にプッシュされます。

Q: アトミックデプロイとは何ですか?

すべてのデプロイはアトミックです。つまり、デプロイの完了後にサイトを表示する準備が整っているということです。アトミックデプロイにより、ウェブアプリはすべてのデプロイが完了したときだけ更新されるようになり、メンテナンスウィンドウが必要なくなります。その後、ウェブアプリの新しいバージョンはエンドユーザーに対して瞬時に利用可能になり、デベロッパーが CDN キャッシュを無効にする必要はありません。

Q: 最新のウェブアプリと従来のウェブアプリのホスティングの違いは何ですか?

最新のウェブアプリケーションのホスティングでは、ウェブサーバーは必要ありません。コンテンツ配信ネットワークを使用して静的コンテンツ (HTML、CSS および JavaScript ファイル) を保存しています。AWS Amplify は、Amazon CloudFront のグローバルエッジネットワークを活用して、ウェブアプリをグローバルに配信します。エンドユーザーにコンテンツをより低いレイテンシーで届けるため、Amazon CloudFront では 29 か国 65 都市にある 144 の POP (Point Of Presence) (133 のエッジロケーションと 11 のリージョン別エッジキャッシュ) のグローバルネットワークを使用しています。

Q: カスタムドメインに接続するにはどうすれば良いですか?

カスタムドメインに接続するのは簡単です。Route53 にドメインが登録されている場合、ドロップダウンから選択するだけで、AWS Amplify は、DNS レコードがウェブサイトの apex と "www" サブドメインを指定するよう自動的に設定を行います。さらに、接続されているすべてのブランチに自動的にサブドメインを作成します。たとえば、「開発」ブランチへの接続により、https://dev.appname.amplifyapp.com でのデプロイが作成されます。カスタムドメイン設定の一部として、無料の HTTPS 証明書を生成して、サイトへのトラフィックの安全性を確保します。

Q: AWS Amplify の静的ウェブホスティングがサポートしているドメインレジストラは何ですか?

すべてのドメインレジストラを通じて購入されたドメインは、カスタムドメインを定義することでアプリケーションに接続できます。デベロッパーが Amazon Route53 をレジストラとして使用している場合には、DNS レコードがデプロイされたアプリケーションをポイントするように、自動的に AWS Amplify による更新が行われます。サードパーティーレジストラを使用している場合、DNS レコードの更新方法の手順が、AWS Amplify から提供されます。

Q: すべてのウェブトラフィックが HTTPS 経由で供給されますか?

AWS Amplify の静的ウェブホスティングは、無料の HTTPS をすべてのサイトで生成し、Route53 で管理されるすべてのドメインで自動的に有効化します。SSL 証明書は、Amazon Certificate Manager により生成され、ワイルドカードドメインがサポートされています。ACM は、AWS ベースのウェブサイトとアプリケーション用のパブリック SSL/TLS 証明書の複雑な作成と管理を処理します。ワイルドカードオプションを使用すると、メインドメインとすべてのサブドメインは 1 つの証明書でカバーできます。

Q: ウェブデプロイをパスワードで保護することはできますか?

すべてのウェブデプロイは、基本的なアクセス認証を使用してパスワードで保護することができます。新しい機能の作業をする際、デベロッパーはブランチデプロイにユーザー名とパスワードを設定して、内部関係者と更新を共有できます。

Q: リダイレクトと書き換えとは何ですか? どのように使用しますか?

リダイレクトとは、ウェブブラウザを他の URL に移動させるクライアント側のリクエストのことです。これはつまり、ブラウザに表示される URL が新しい URL に更新されることを意味します。書き換えとは、サーバー側による URL の書き換えです。変更はユーザーから隠されているため、ブラウザ上の表示に変更はありません。リバースプロキシは、クロスオリジンの書き換えです。デベロッパーは、AWS Amplify コンソールの設定により、リダイレクト、HTTP レスポンスコード、カスタム 404、および外部サービスへのプロキシを指定できます。

Q: AWS Amplify コンソールの利用料金の計算はどのように行われるのですか?

AWS Amplify の静的ウェブホスティングでは、ビルド & デプロイとウェブホスティングの 2 種類の機能に対して、料金が設定されています。ビルド & デプロイ機能の場合、ビルド分あたりの料金は 0.01 USD です。ホスティング機能の場合、提供される GB あたりの料金は 0.15 USD、保存されている GB あたりの料金は 0.023 USD です。AWS 無料利用枠を使用すると、無料で使い始めることができます。サインアップすると、新規の AWS 顧客はビルドとデプロイ機能で 1 か月あたり 1,000 ビルド分、ホスティング機能で 1 か月あたり 15 GB の提供と 1 か月あたり 5 GB のデータストレージを受け取ります。

Q: 料金は税込みですか?

別途記載がない限り、表示される料金には VAT、売上税その他取引に対して適用される一切の税金等および関税は含まれません。日本の居住者であるお客様が AWS サービスをご利用になった場合には、料金とあわせて別途消費税をご請求させていただきます。詳細はこちら。

Q: 料金はリージョンごとに異なりますか?

料金はすべてのリージョンで共通です。

AWS Amplify の詳細

開始方法
ご不明な点がおありですか? 当社のチームに直接お問い合わせください。
aws-amplify-customer@amazon.com
ページの内容
全般 ツールと機能