Gen 1 アプリのバックエンドを作成する - AWS Amplify ホスティング

Gen 1 アプリのバックエンドを作成する

このチュートリアルでは、Amplify を使用してフルスタック CI/CD ワークフローを設定します。フロントエンドアプリを Amplify ホスティングにデプロイします。次に、Amplify Studio を使用してバックエンドを作成します。最後に、クラウドバックエンドをフロントエンドアプリに接続します。

前提条件

このチュートリアルを始める前に、次の前提条件を完了してください。

AWS アカウント へのサインアップ

まだ AWS カスタマーでない場合は、オンライン手順に従ってAWS アカウント を作成する必要があります。サインアップすると、Amplify や、アプリケーションで使用できるその他の AWS サービスにアクセスできます。

Git リポジトリを作成する

Amplify は GitLab、Bitbucket、GitLab および AWS CodeCommit をサポートしています。アプリケーションを Git リポジトリにプッシュします。

Amplify コマンドラインインターフェイス (CLI)のインストール

手順については、「Amplify Framework ドキュメント」の「Amplify CLI のインストール」を参照してください。

ステップ 1: フロントエンドをデプロイする

この例で、使用したい既存のフロントエンドアプリが Git リポジトリにある場合は、フロントエンドアプリをデプロイする手順に進むことができます。

この例に使用するのに新しいフロントエンドアプリケーションを作成する必要がある場合は、「Create React App ドキュメント」の「Create React App」の手順に従います。

フロントエンドアプリをデプロイするには
  1. AWS マネジメントコンソール にサインインし Amplify コンソールを開きます。

  2. すべてのアプリ」ページで、[新規アプリ]を選択し、右上隅の[ウェブアプリをホスト]を選択します。

  3. GitHub、Bitbucket、GitLab、または AWS CodeCommit リポジトリプロバイダーを選択し、[続行] を選択します。

  4. Amplify は git リポジトリへのアクセスを許可します。GitHub リポジトリの場合、Amplify は GitHub Apps 機能を使用して Amplify へのアクセスを承認できるようになりました。

    GitHub App のインストールと認証の詳細については、GitHub リポジトリへの Amplify アクセスの設定 をご参照ください。

  5. リポジトリブランチを追加」ページで、以下の操作を行います。

    1. 最近更新されたリポジトリ」リストで、接続するリポジトリの名前を選択します。

    2. ブランチ」リストで、接続するリポジトリブランチの名前を選択します。

    3. [次へ]をクリックします。

  6. [ビルド設定の構成]ページで、[次へ]を選択します。

  7. [確認]ページ で、[保存してデプロイ]を選択します。デプロイが完了したら、amplifyapp.com デフォルトドメインにアプリを表示できます。

注記

Amplify のアプリケーションのセキュリティを強化するために、amplifyapp.com ドメインはパブリックサフィックスリスト (PSL) に登録されています。セキュリティを強化するために、Amplify アプリケーションのデフォルトドメイン名に機密性の高いCookieを設定する必要がある場合は、__Host-プレフィックスの付いたCookieを使用することをお勧めします。このプラクティスは、クロスサイトリクエストフォージェリ (CSRF) 攻撃からドメインを防ぐ際に役立ちます。詳細については、Mozilla 開発者ネットワークの「Set-Cookie」ページを参照してください。

ステップ 2: バックエンドを作成する

Amplify ホスティングにフロントエンドアプリをデプロイしたので、バックエンドを作成できます。次のステップに従って、シンプルなデータベースと GraphQL API エンドポイントを含むバックエンドを作成します。

バックエンドを作成するには
  1. AWS マネジメントコンソール にサインインし Amplify コンソールを開きます。

  2. [すべてのアプリ] ページで、ステップ 1 で作成したアプリを選択します。

  3. アプリのホームページで [バックエンド環境] タブを選択し、[はじめに] を選択します。これにより、デフォルトのステージング環境の設定プロセスが開始されます。

  4. セットアップが完了したら、[Studio を起動する] を選択して Amplify Studio のステージングバックエンド環境にアクセスします。

Amplify Studio は、バックエンドを作成および管理し、フロントエンド UI 開発を加速するためのビジュアルインターフェイスです。Amplify の詳細については、Amplify Studio ドキュメントを参照してください。

次のステップに従って、Amplify Studio ビジュアルバックエンドビルダーインターフェイスを使用して簡単なデータベースを作成します。

データモデルの作成
  1. アプリのステージング環境のホームページで、[データモデルを作成] を選択します。データモデルデザイナーが開きます。

  2. [データモデリング] ページで [モデルの追加] を選択します。

  3. タイトルに、Todo と入力します。

  4. [フィールドを追加]を選択します。

  5. [フィールド名]Description と入力します。

    次のスクリーンショットは、データモデルがデザイナーでどのように表示されるかを示す例です。

    データモデルを作成するための Amplify Studio UI。
  6. [保存してデプロイ] を選択します。

  7. Amplify ホスティングコンソールに戻ると、ステージング環境のデプロイが進行中です。

デプロイ時に、Amplify Studio はデータにアクセスするための AWS AppSync GraphQL API や Todo 項目をホストする Amazon DynamoDB テーブルなど、必要なすべての AWS リソースをバックエンドに作成します。Amplify は、CloudFormation を使用してバックエンドをデプロイします。これにより、バックエンド定義を Infrastructure as Code として保存できます。

ステップ 3: バックエンドをフロントエンドに接続する

フロントエンドをデプロイし、データモデルを含むクラウドバックエンドを作成したので、次はそれらを接続する必要があります。以下の手順に従って、Amplify CLI を使用してバックエンド定義をローカルアプリプロジェクトに取り込みます。

クラウドバックエンドをローカルフロントエンドに接続するには
  1. ターミナルウィンドウを開き、ローカルプロジェクトのルートディレクトリに移動します。

  2. ターミナルウィンドウで次のコマンドを実行し、赤いテキストをプロジェクト固有のアプリ ID とバックエンド環境名に置き換えます。

    amplify pull --appId abcd1234 --envName staging
  3. ターミナルウィンドウの指示に従って、プロジェクトの設定を完了します。

これで、継続的デプロイメントワークフローにバックエンドを追加するようにビルドプロセスを設定できるようになりました。以下の手順に従って、Amplify ホスティングコンソールのフロントエンドブランチとバックエンドを接続します。

フロントエンドアプリブランチとクラウドバックエンドを接続するには
  1. アプリのホームページで [ホスティング環境] タブを選択します。

  2. メインブランチを見つけて [編集] を選択します。

    Amplify コンソールのブランチの [編集] リンクの場所。
  3. ターゲットバックエンドの編集」ウィンドウの「環境」で、接続するバックエンドの名前を選択します。この例では、ステップ 2 で作成したステージングバックエンドを選択します。

    デフォルトでは、フルスタック CI/CD は有効になっています。このオプションのチェックを外すと、このバックエンドのフルスタック CI/CD がオフになります。フルスタック CI/CD をオフにすると、アプリはプルオンリーモードで実行されます。ビルド時に、Amplify はバックエンド環境を変更せずに aws-exports.js ファイルのみを自動的に生成します。

  4. 次に、アプリのバックエンドを変更するために必要な権限を Amplify に付与するサービスロールを設定する必要があります。既存のサービスロールを使用するか、新しいロールを作成できます。手順については、「バックエンドリソースをデプロイするアクセス許可を持つサービスロールの追加」を参照してください。

  5. サービスロールを追加したら、「ターゲットバックエンドの編集」ウィンドウに戻り、[保存] を選択します。

  6. ステージングバックエンドをフロントエンドアプリのメインブランチに接続し終えるには、プロジェクトの新規ビルドを実行します。

    次のいずれかを行います:

    • Git リポジトリから、コードをプッシュして Amplify コンソールでビルドを開始します。

    • Amplify コンソールで、アプリのビルド詳細ページに移動し、[このバージョンを再デプロイ]を選択します。

次のステップ

機能ブランチのデプロイのセットアップ

推奨ワークフローに従って、複数のバックエンド環境でフィーチャーブランチのデプロイを設定します

Amplify Studio でフロントエンド UI を作成する

Studio を使用して、すぐに使用できる一連の UI コンポーネントでフロントエンド UI を構築してから、アプリのバックエンドにその UI を接続します。詳細とチュートリアルについては、「Amplify Framework ドキュメント」の Amplify Studio 用ユーザーガイドを参照してください。