콘텐츠로 이동

빠른 시작 가이드

이 가이드는 AWS에서 프로젝트를 빠르게 구축하기 위해 @aws/nx-plugin 설치 및 사용 기본 사항을 안내합니다.

진행 전 다음 전역 종속성이 필요합니다:

  • Git
  • Node >= 22 (버전 관리를 위해 NVM 사용을 권장합니다)
    • 설치 확인: node --version
  • PNPM >= 10 (Yarn >= 4, Bun >= 1, 또는 NPM >= 10 사용도 가능)
    • 설치 확인: pnpm --version, yarn --version, bun --version 또는 npm --version
  • UV >= 0.5.29
    1. Python 3.12 설치: uv python install 3.12.0
    2. 설치 확인: uv python list --only-installed
  • 애플리케이션 배포 대상 AWS 계정에 구성된 AWS Credentials

원하는 패키지 매니저로 Nx 작업 공간을 생성하려면 다음 명령어를 실행하세요:

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

완료 후 프로젝트 디렉토리로 이동합니다:

Terminal window
cd my-project

2단계: 생성기를 사용하여 프로젝트 스캐폴딩

섹션 제목: “2단계: 생성기를 사용하여 프로젝트 스캐폴딩”

이 빠른 시작 가이드에서는 tRPC API, React 웹사이트, Cognito 인증 및 CDK 인프라를 추가합니다. 프로젝트 유형에 따라 원하는 생성기 조합을 선택하여 프로젝트를 빠르게 부트스트랩할 수 있습니다. 왼쪽 탐색 바의 가이드 에서 전체 옵션 목록을 확인하세요.

  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가 생성됩니다.

  1. 설치 Nx Console VSCode Plugin 아직 설치하지 않았다면
  2. VSCode에서 Nx 콘솔 열기
  3. 클릭 Generate (UI) "Common Nx Commands" 섹션에서
  4. 검색 @aws/nx-plugin - ts#react-website
  5. 필수 매개변수 입력
    • name: demo-website
  6. 클릭 Generate

packages/demo-website에 새 React 웹사이트를 스캐폴딩합니다.

  1. 설치 Nx Console VSCode Plugin 아직 설치하지 않았다면
  2. VSCode에서 Nx 콘솔 열기
  3. 클릭 Generate (UI) "Common Nx Commands" 섹션에서
  4. 검색 @aws/nx-plugin - ts#react-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
  6. 클릭 Generate

웹사이트가 tRPC API를 호출할 수 있도록 필요한 프로바이더를 구성합니다.

  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단계: 로컬에서 웹사이트 및 API 실행

섹션 제목: “3단계: 로컬에서 웹사이트 및 API 실행”

다음 명령어로 웹사이트와 연결된 API의 로컬 개발 서버를 시작하세요:

Terminal window
pnpm nx run demo-website:serve-local

웹사이트는 http://localhost:4200에서 확인할 수 있습니다.

웹사이트와 API 모두 변경 사항이 실시간으로 반영됩니다(핫 리로드 지원).

4단계: 클라우드 리소스 정의 및 AWS 배포

섹션 제목: “4단계: 클라우드 리소스 정의 및 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

배포 명령어:

Terminal window
pnpm nx run infra:deploy my-project-sandbox/*

5단계: 배포된 클라우드 리소스로 웹사이트 테스트

섹션 제목: “5단계: 배포된 클라우드 리소스로 웹사이트 테스트”
  1. runtime-config.json 파일 가져오기:

    Terminal window
    pnpm nx run demo-website:load:runtime-config
  2. 로컬 웹사이트 서버 시작

    Terminal window
    pnpm nx run demo-website:serve

웹사이트는 http://localhost:4200에서 확인할 수 있으며, 배포된 API 및 인증 리소스를 가리킵니다.


축하합니다! 🎉 @aws/nx-plugin을 사용하여 전체 스택 애플리케이션을 성공적으로 구축하고 배포했습니다!