Skip to content

クイックスタートガイド

このガイドでは、@aws/nx-pluginを使用したAWSプロジェクトの高速構築に関する基本手順を説明します。

前提条件

始める前に以下のグローバル依存関係が必要です:

ステップ1: 新しいNxワークスペースの初期化

以下のコマンドを実行して、任意のパッケージマネージャーでNxワークスペースを作成します:

Terminal window
npx create-nx-workspace@~21.0.3 my-project --pm=pnpm --preset=@aws/nx-plugin --ci=skip

完了後、プロジェクトディレクトリに移動します:

Terminal window
cd my-project

ステップ2: ジェネレータを使用したプロジェクトのスキャフォールディング

このクイックスタートではtRPC API、Reactウェブサイト、Cognito認証、CDKインフラストラクチャを追加します。プロジェクトタイプに応じて、任意のジェネレータの組み合わせで迅速に初期構築できます。左側のナビゲーションバーの__ガイド__から全オプション一覧を確認できます。

tRPC APIの追加

  1. インストール Nx Console VSCode Plugin まだインストールしていない場合
  2. VSCodeでNxコンソールを開く
  3. クリック Generate (UI) "Common Nx Commands"セクションで
  4. 検索 @aws/nx-plugin - ts#trpc-api
  5. 必須パラメータを入力
    • name: demo-api
    • auth: IAM
  6. クリック Generate

これによりpackages/demo-apiフォルダ内にAPIが作成されます。

Reactウェブサイトの追加

  1. インストール Nx Console VSCode Plugin まだインストールしていない場合
  2. VSCodeでNxコンソールを開く
  3. クリック Generate (UI) "Common Nx Commands"セクションで
  4. 検索 @aws/nx-plugin - ts#cloudscape-website
  5. 必須パラメータを入力
    • name: demo-website
  6. クリック Generate

packages/demo-websiteに新しいReactウェブサイトが構築されます。

Cognito認証の追加

  1. インストール Nx Console VSCode Plugin まだインストールしていない場合
  2. VSCodeでNxコンソールを開く
  3. クリック Generate (UI) "Common Nx Commands"セクションで
  4. 検索 @aws/nx-plugin - ts#cloudscape-website#auth
  5. 必須パラメータを入力
    • project: @my-project/demo-website
    • cognitoDomain: my-demo
  6. クリック Generate

ウェブサイトにCognito認証を追加するためのインフラストラクチャとReactコードを設定します。

フロントエンドとバックエンドの接続

  1. インストール Nx Console VSCode Plugin まだインストールしていない場合
  2. VSCodeでNxコンソールを開く
  3. クリック Generate (UI) "Common Nx Commands"セクションで
  4. 検索 @aws/nx-plugin - api-connection
  5. 必須パラメータを入力
    • sourceProject: @my-project/demo-website
    • targetProject: @my-project/demo-api-backend
  6. クリック Generate

ウェブサイトからtRPC APIを呼び出すための必要なプロバイダ設定を行います。

CDKインフラストラクチャの追加

  1. インストール Nx Console VSCode Plugin まだインストールしていない場合
  2. VSCodeでNxコンソールを開く
  3. クリック Generate (UI) "Common Nx Commands"セクションで
  4. 検索 @aws/nx-plugin - ts#infra
  5. 必須パラメータを入力
    • name: infra
  6. クリック Generate

AWSへのインフラストラクチャデプロイ用CDKアプリを設定します。

ステップ3: クラウドリソースの定義とAWSへのデプロイ

packages/infra/src/stacks/application-stack.tsを開き、以下のコードを追加します:

import * as cdk from 'aws-cdk-lib';
import { DemoApi, DemoWebsite, UserIdentity } from ':my-project/common-constructs';
import { Construct } from 'constructs';
export class ApplicationStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const identity = new UserIdentity(this, 'identity');
const api = new DemoApi(this, 'api', {
integrations: DemoApi.defaultIntegrations(this).build(),
});
api.grantInvokeAccess(identity.identityPool.authenticatedRole);
new DemoWebsite(this, 'website');
}
}

これがフルスタックアプリケーションをデプロイするために必要なCDKコードの全量です。

インフラストラクチャのビルドとデプロイ

以下のコマンドでプロジェクトをビルドします:

Terminal window
pnpm nx run-many --target build --all

ステップ4: フロントエンドのローカル実行

  1. runtime-config.jsonファイルの取得:

    Terminal window
    pnpm nx run @demo/demo-website:load:runtime-config
  2. ローカルウェブサイトサーバーの起動

    Terminal window
    pnpm nx run @demo/demo-website:serve

ウェブサイトはhttp://localhost:4200で利用可能になります。


おめでとうございます!🎉 @aws/nx-pluginを使用したフルスタックアプリケーションの構築とデプロイに成功しました!