콘텐츠로 이동

빠른 시작 가이드

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

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

  • Git
  • Node >= 22 (NVM과 같은 도구를 사용하여 node 버전을 관리하는 것을 권장합니다)
    • node --version을 실행하여 확인하세요
  • UV >= 0.5.29
    1. uv python install 3.14를 실행하여 Python 3.14를 설치하세요
    2. uv python list --only-installed로 확인하세요
  • PNPM >= 11 (원하는 경우 Yarn >= 4, Bun >= 1, 또는 NPM >= 11을 사용할 수도 있습니다)
    • pnpm --version, yarn --version, bun --version 또는 npm --version을 실행하여 확인하세요
  • 애플리케이션을 배포하려면 (일부 로컬 개발 워크플로에도 필요) 대상 AWS 계정에 구성된 AWS Credentials가 필요합니다.
  • 일부 생성기에는 Docker 또는 Finch >= 1.6.0이 필요합니다. Docker의 경우 멀티 플랫폼 빌드가 설정되어 있어야 하며, Finch는 기본적으로 멀티 플랫폼 빌드를 지원합니다.
  • CDK 대신 인프라를 코드로 관리하기 위해 이것을 사용하려면 Terraform >= 1.12가 필요합니다
    • terraform --version을 실행하여 확인하세요
  • VSCode를 사용하는 경우 Nx Console VSCode Plugin 설치를 권장합니다.

원하는 패키지 매니저로 Nx 워크스페이스를 생성하고, 생성된 디렉터리를 엽니다:

워크스페이스 생성@aws/nx-workspace

pnpm create @aws/nx-workspace my-project
명령 구성하기3

필수

터미널 창
cd my-project

코드형 인프라 제공자로 CDK 또는 Terraform 중 하나를 선택하라는 메시지가 표시됩니다.

풀스택 애플리케이션을 빌드합니다: tRPC API, React 웹사이트, Cognito 인증, 그리고 CDK 또는 Terraform 인프라. AI 어시스턴트에게 스캐폴딩을 요청하거나 제너레이터를 직접 실행하세요 — 두 방법 모두 동일한 워크스페이스에 도달합니다.

  1. AI 코딩 어시스턴트에서 워크스페이스를 엽니다.

    새 워크스페이스에는 플러그인의 MCP server가 Kiro, Claude Code, Cursor, Gemini CLI, GitHub Copilot 및 OpenAI Codex에 대해 이미 구성되어 있으므로, 어시스턴트가 별도의 설정 없이 플러그인의 제너레이터를 조회하고 실행할 수 있습니다.

  2. 애플리케이션을 요청합니다:

    Prompt

    Create a tRPC API called demo-api, and a React website called demo-website. Add Cognito authentication to the website, connect the website to the API, and add an infrastructure project called infra. Then instantiate the generated infrastructure components so the website and API deploy, granting authenticated users access to the API.

    어시스턴트는 MCP 서버를 통해 제너레이터를 발견하고 종속성이 필요한 순서대로 실행합니다. 변경 사항을 검토한 다음 3단계로 계속 진행하세요.

애플리케이션을 스캐폴딩하는 제너레이터를 실행합니다. 아래 버튼을 사용하여 모두 복사하거나, 다이어그램 아래에 설명된 대로 각각을 직접 실행하세요.

Loading the diagram…

구축하는 프로젝트 유형에 따라 제너레이터의 조합을 선택하여 프로젝트를 빠르게 부트스트랩할 수 있습니다. 왼쪽 탐색 바의 __Generators__를 확인하여 전체 옵션 목록을 보거나, 그래프 빌더를 사용하여 워크스페이스를 시각적으로 구성해 보세요.

이 제너레이터 실행@aws/nx-plugin:ts#api

pnpm nx g @aws/nx-plugin:ts#api --no-interactive
이 단계의 옵션2

필수

이렇게 하면 packages/demo-api 폴더 내에 API가 생성됩니다.

이 제너레이터 실행@aws/nx-plugin:ts#website

pnpm nx g @aws/nx-plugin:ts#website --no-interactive
이 단계의 옵션1

필수

이렇게 하면 packages/demo-website에 새 React 웹사이트가 스캐폴딩됩니다.

이 제너레이터 실행@aws/nx-plugin:ts#website#auth

pnpm nx g @aws/nx-plugin:ts#website#auth --no-interactive
이 단계의 옵션1

필수

이렇게 하면 웹사이트에 Cognito 인증을 추가하는 데 필요한 인프라와 React 코드가 설정됩니다.

이 제너레이터 실행@aws/nx-plugin:connection

pnpm nx g @aws/nx-plugin:connection --no-interactive
이 단계의 옵션2

필수

필수

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

선택한 IAC 제공자에 따라 인프라 프로젝트를 추가합니다.

이 제너레이터 실행@aws/nx-plugin:ts#infra

pnpm nx g @aws/nx-plugin:ts#infra --no-interactive
이 단계의 옵션1

필수

이렇게 하면 AWS에 인프라를 배포하는 데 사용할 수 있는 CDK 앱이 구성됩니다.

3단계: 웹사이트와 API를 로컬에서 실행

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

다음 명령을 사용하여 웹사이트와 연결된 API에 대한 로컬 개발 서버를 시작합니다:

Terminal window
pnpm dev

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

로컬 웹사이트와 API 서버가 모두 핫 리로드되므로 웹사이트와 API 모두의 변경 사항이 실시간으로 반영됩니다.

시도해보기: 웹사이트에서 API 호출하기

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

섹션 제목: “4단계: 클라우드 리소스 정의 및 AWS에 배포”

packages/infra/src/stacks/application-stack.ts를 열고 다음 코드를 추가합니다:

import {
DemoApi,
DemoWebsite,
UserIdentity,
} from '@my-project/common-constructs';
import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
export class ApplicationStack extends Stack {
constructor(scope: Construct, id: string, props?: 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 build

인프라를 부트스트랩합니다:

Terminal window
pnpm nx bootstrap infra

프로젝트를 배포합니다:

Terminal window
pnpm nx deploy-sandbox infra

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

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

    Terminal window
    pnpm nx load-runtime-config demo-website
  2. 로컬 웹사이트 서버를 시작합니다

    Terminal window
    pnpm nx serve demo-website

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

로그인하려면 Cognito 사용자 풀에서 사용자를 생성해야 합니다.

AWS CLI를 사용한 지침을 보려면 여기를 클릭하세요

웹사이트는 CloudFront에서도 제공됩니다. 배포 후 터미널에 출력되는 배포 도메인 이름을 열어 AWS에서 완전히 실행되는 버전을 사용하세요.

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

완료되면 지속적인 비용을 피하기 위해 배포한 리소스를 삭제합니다:

Terminal window
pnpm nx destroy-sandbox infra

부트스트랩 리소스를 제거하려면 아래를 따르세요:

us-east-1을 포함하여 부트스트랩한 모든 리전에서 부트스트랩 스택을 삭제합니다. 이렇게 하면 부트스트랩 역할과 컨테이너 이미지 리포지토리가 제거됩니다:

터미널 창
aws cloudformation delete-stack --stack-name CDKToolkit --region <region>

  • Dungeon Adventure Tutorial — 이 가이드보다 더 심화된 연습을 위해 풀스택 AI 던전 어드벤처 게임을 빌드합니다.
  • Workspaces — 워크스페이스가 어떻게 배치되어 있는지, 그리고 제너레이터가 공유하는 구성에 대해 알아봅니다.
  • Add to an Existing Project — 기존 코드베이스에 플러그인을 도입합니다.