원본 링크: https://github.com/aws-samples/aws-bookstore-demo-app

AWS Bookstore Demo App

AWS Bookstore 데모 앱은 고객이 가상의 책을 쇼핑 할 수 있도록 상점 첫 화면 (및 백엔드)을 생성하는 풀 스택 샘플 웹 애플리케이션입니다.
단일 CloudFormation 템플릿으로 전체 애플리케이션을 생성 할 수 있습니다. 여기에서 배포 된 응용 프로그램을 사용해보십시오!

License Summary

This sample code is made available under a modified MIT license. See the LICENSE file.


개요

AWS Bookstore 데모 앱의 목표는 여러 목적으로 구축 된 AWS 데이터베이스와 Amazon API Gateway 및 AWS CodePipeline과 같은 기본 AWS 구성 요소를 활용하는 완전한 기능의 웹 애플리케이션을 제공하는 것입니다.
점점 더 많은 최신 웹 앱이 다양한 데이터베이스를 사용하여 구축됩니다. 개발자는 대규모 애플리케이션을 개별 구성 요소로 나누고 각 작업에 가장 적합한 데이터베이스를 선택합니다.
AWS Bookstore 데모 앱을 예로 들어 보겠습니다. 이 앱에는 장바구니, 제품 검색, 추천 및 최고 판매자 목록과 같은 여러 경험이 포함되어 있습니다.
이러한 각 사용 사례에 대해 앱은 특별히 구축 된 데이터베이스를 사용하므로 개발자가 기능, 성능 또는 확장을 타협 할 필요가 없습니다.

제공된 CloudFormation 템플릿은 AWS Bookstore 데모 앱의 전체 생성 및 배포를 자동화합니다. 템플릿에는 다음 구성 요소가 포함됩니다.

데이터베이스 구성 요소

  • 제품 카탈로그 / 장바구니: Amazon DynamoDB는 제품 카탈로그에서 필요한 키-값 조회와 쇼핑 카트 및 주문 내역에 대해 빠르고 예측 가능한 성능을 제공합니다.
    이 구현에서는 고유한 식별자, 제목, 설명, 수량, 위치 및 가격이 있습니다.
  • 검색: Amazon Elasticsearch Service를 사용하면 상점 첫 화면에 대한 전체 텍스트 검색이 가능하므로 사용자는 작성자, 제목 및 카테고리를 포함한 다양한 용어를 기반으로 제품을 찾을 수 있습니다.

  • 권장 사항: Amazon Neptune은 사용자의 친구가 구매 한 항목을 기반으로 소셜 권장 사항을 제공하며, 더 많은 제품, 페이지 및 사용자와 함께 상점이 성장함에 따라 확장됩니다.
  • 베스트셀러 목록: Redis 용 Amazon ElastiCache는 Amazon DynamoDB Streams에서 주문 정보를 읽어서 구입하거나 평가한 "Top 20" 도서의 리더 보드를 생성합니다.

애플리케이션 구성 용소

  • 서버리스 서비스 백엔드: Amazon API Gateway는 프런트 엔드와 백엔드 사이의 인터페이스를 담당하고 AWS Lambda를 사용하여 서버리스 컴퓨팅을 호출합니다.
  • 웹 애플리케이션 청사진: React Bootstrap, Redux, React Router, internationalization 등과 같은 도구와 함께 사전 통합된 React 웹 애플리케이션이 포함되어 있습니다.

인프라 구성 요소

  • 지속적 배포 코드 파이프 라인: AWS CodePipeline 및 AWS CodeBuild는 애플리케이션 코드를 빌드, 테스트 및 릴리스하는 데 도움이됩니다.
  • 서버리스 웹 애플리케이션: Amazon CloudFront 및 Amazon S3는 전 세계적으로 분산 된 애플리케이션을 제공합니다.


템플릿을 사용자 지정하여 자신만의 서점을 만들거나, 수정하여 다른 유형의 상점을 만들거나, 완전히 다른 유형의 웹 응용 프로그램을 만들도록 변경할 수 있습니다.

AWS Bookstore 데모 앱은 기본 웹 애플리케이션을 시작하고 실행하는 데 필요한 기본 서비스, 구성 요소 및 배관을 제공하는 AWS Full-Stack 템플릿을 기반으로 구축되었습니다.
사용자는 여행 예약 도구, 블로그 또는 다른 웹 앱 등 원하는 모든 애플리케이션을 생성하기 위해 AWS Full-Stack 템플릿을 기반으로 구축 할 수 있습니다.
이 AWS Bookstore 데모 앱은 AWS Full-Stack 템플릿을 사용하여 생성 할 수있는 항목의 한 예 일 뿐입니다.


안내

주의사항

AWS 계정에서 이 데모 애플리케이션을 생성하면 AWS 리소스가 생성되고 소비되며 비용이 발생합니다.
이 데모 애플리케이션을 실행하는 데 소요되는 비용은 약 $0.45 / 1 hour 입니다.
완료되면 모든 리소스를 종료 / 제거하여 AWS 계정에 대한 지속적인 청구를 방지하십시오 (아래의 정리 및 제거 지침 참조).

시작하기

AWS Bookstore 데모 앱을 자체 AWS 계정에서 실행 하려면 다음 단계를 따르십시오. (AWS 계정이없는 경우 새 Amazon Web Services 계정을 생성하고 활성화하려면 어떻게합니까?를 참조하십시오).

  1. 아직 로그인하지 않은 경우 AWS 콘솔에 로그인합니다. 참고 : IAM 사용자로 로그인 한 경우 계정에이 애플리케이션에 필요한 리소스와 구성 요소를 생성하고 관리 할 수있는 권한이 있는지 확인하십시오.
  2. 원하는 AWS 리전에 대해 아래에서 Launch Stack 버튼 중 하나를 선택하여 AWS CloudFormation 콘솔을 열고 새 스택을 생성하십시오. AWS Bookstore 데모 앱은 다음 리전에서 지원됩니다.

    Region nameRegion codeLaunch
    US East (N. Virginia)us-east-1
    US West (Oregon)us-west-2
    EU (Ireland)eu-west-1
    EU (Frankfurt)eu-central-1
  3. CloudFormation 마법사 단계를 계속합니다.
    1. 예를 들어 스택 이름을 지정하십시오.

      MyBookstore
    2. S3 버킷의 이름을 지정합니다 (소문자로 Amazon S3의 모든 기존 버킷 이름에서 고유해야 함). 버킷 이름 지정 규칙을 참조하십시오.

    3. 프로젝트 이름을 제공하십시오 (소문자로 12 자 미만으로 제공). 리소스 이름을 지정할 때 사용됩니다. 테이블, 검색 도메인 등

    4. 검토 후 IAM 리소스 생성을 위한 파란색 상자를 선택합니다.

  4. 스택 생성을 선택합니다. 완료하는 데 20 분 정도 걸립니다.
  5. CloudFormation 배포가 완료되면 CodePipeline 콘솔에서 빌드 상태를 확인하고 성공했는지 확인합니다.

  6. 애플리케이션에 로그인
    1. CloudFormation 스택 생성의 출력은 CloudFront URL을 제공합니다 (스택 세부 정보 페이지의 출력 테이블에 있음). 링크를 클릭하거나 CloudFront URL을 복사하여 브라우저에 붙여 넣습니다.
    2. 이메일 주소와 비밀번호를 등록하여 애플리케이션에 로그인 할 수 있습니다. 등록 할 데모를 탐색하려면 등록을 선택하십시오. 등록 / 로그인 환경은 AWS 계정에서 실행되며 제공된 자격 증명은 Amazon Cognito에 저장됩니다. 참고 :이 애플리케이션은 데모 애플리케이션이므로 다른 용도 (예 : AWS 계정, 이메일 또는 전자 상거래 사이트)로 사용하는 이메일 및 암호 조합을 사용하지 않는 것이 좋습니다.
    3. 자격 증명을 제공하면 제공 한 이메일 주소로 확인 코드를 받게됩니다. 이 인증 코드를 입력하면 애플리케이션에 로그인됩니다.


제거

애플리케이션을 해체하고 AWS Bookstore 데모 앱과 관련된 모든 리소스를 제거하려면 다음 단계를 따르십시오.

  1. Amazon S3 콘솔에 로그인하고 데모 앱용으로 생성 된 버킷을 삭제합니다.
    1. AWS Bookstore 데모 앱용으로 생성 된 두 개의 버킷이 있어야합니다. 버킷의 제목은 'X'및 'X-pipeline'이며, 여기서 'X'는 AssetsBucketName 매개 변수 아래 CloudFormation 마법사에서 지정한 이름입니다.
    2. 참고 :이 앱과 관련된 버킷 중 삭제하고 싶은 것만 삭제하도록 각별히주의하십시오.
  2. AWS CloudFormation 콘솔에 로그인하고 데모 앱용으로 생성 한 스택을 찾습니다.
  3. 스택 삭제

완료되면 모든 관련 리소스를 종료 / 제거하여 AWS 계정에 대한 지속적인 요금을 방지하십시오.


아키텍처

요약 다이어그램

Summary Diagram


하이 레벨 및 엔드 투 엔드 다이어그램

High-level Architectural Diagram


Frontend

빌드 아티팩트는 웹 애플리케이션 에셋(책 표지 사진, 웹 그래픽 등)이 유지되는 S3 버킷에 저장됩니다. Amazon CloudFront는 S3의 프런트 엔드 콘텐츠를 캐시하여 CloudFront 배포를 통해 사용자에게 애플리케이션을 제공합니다. 프런트 엔드는 Amazon Cognito 및 Amazon API Gateway 와만 상호 작용합니다. Amazon Cognito는 모든 인증 요청에 사용되는 반면 API Gateway (및 Lambda)는 DynamoDB, Elasticsearch, ElastiCache 및 Neptune에서 상호 작용하는 모든 API 호출에 사용됩니다.

Backend

백엔드 인프라의 핵심은 Amazon Cognito, Amazon DynamoDB, AWS Lambda 및 Amazon API Gateway로 구성됩니다. 이 애플리케이션은 사용자 인증을 위해 Amazon Cognito를 활용하고 책, 주문 및 체크 아웃 카트에 대한 모든 데이터를 저장하기 위해 Amazon DynamoDB를 활용합니다. 책과 주문이 추가되면 Amazon DynamoDB Streams는 Amazon Elasticsearch 클러스터 및 Redis 용 Amazon ElasticCache 클러스터를 업데이트하는 AWS Lambda 함수에 업데이트를 푸시합니다. Amazon Elasticsearch는 도서 검색 기능을 강화하고 Amazon Neptune은 사용자의 소셜 그래프 및 도서 구매에 대한 정보를 저장하여 추천을 강화합니다. Redis 용 Amazon ElasticCache는 도서 리더 보드를 강화합니다.

Backend Diagram

Developer Tools

코드는 AWS CodeCommit에서 호스팅 됩니다. AWS CodePipeline은 AWS CodeBuild를 사용하여 웹 애플리케이션을 빌드합니다. 성공적으로 빌드 한 후 CodeBuild는 웹 애플리케이션 자산 (책 표지 사진, 웹 그래픽 등)이 유지되는 S3 버킷에 빌드 아티팩트를 복사합니다. Amazon S3에 업로드하는 것과 함께 CodeBuild는 캐시를 무효화하므로 사용자가 Amazon CloudFront 배포를 통해 상점 첫 화면에 액세스 할 때 항상 최신 경험을 볼 수 있습니다. AWS CodeCommit, AWS CodePipeline 및 AWS CodeBuild는 애플리케이션이 안정된 사용 상태에 있는 동안이 아니라 배포 및 업데이트 프로세스에서만 사용됩니다.

Developer Tools Diagram


세부 구현

참고 : 제공된 CloudFormation 템플릿에는 애플리케이션을 생성하고 실행하는 데 필요한 리소스의 일부만 포함되어 있습니다. 웹 자산 (이미지 등), Lambda 함수 및 전체 경험을 생성하기 위해 템플릿에서 호출되는 기타 리소스가 있습니다. 이러한 리소스는 공용 S3 버킷에 저장되고 템플릿에서 참조됩니다.


Amazon DynamoDB

AWS Bookstore 데모 앱의 백엔드는 Amazon DynamoDB를 활용하여 전자 상거래 애플리케이션을 빠르게 개선함에 따라 동적 확장 및 기능 추가 기능을 활성화합니다. 이 애플리케이션은 DynamoDB에 Books, Orders, Cart의 세 테이블을 생성합니다. DynamoDB의 기본 키는 파티션 (해시) 키와 선택적 정렬 (범위) 키로 구성됩니다. 기본 키 (파티션 및 정렬 키 함께)는 고유해야 합니다.

Books Table:

BooksTable {
  id: string (primary partition key)
  author: string
  category: string (index, GSI)
  cover: string (url to s3 file)
  name: string 
  price: number
  rating: number
}

테이블의 파티션 키는 책의 ID 속성입니다. 파티션 키를 사용하면 ID만으로 책을 찾을 수 있습니다. 또한 카테고리 속성에는 글로벌 보조 인덱스 (GSI)가 있습니다. GSI를 사용하면 카테고리 속성에 대한 쿼리를 실행하고 카테고리 경험별로 도서를 작성할 수 있습니다.

향후 애플리케이션 업데이트를 위해 Elasticsearch를 통해 카테고리별로 검색 / 필터링 결과를 반환 할 계획입니다. 또한 이 샘플 응용 프로그램에는 개별 도서에 대한 페이지가 없기 때문에 "설명"속성이 없습니다. 이것은 사용자가 추가하고자 하는 것일 수 있습니다.


Order Table:

OrdersTable {
    customerId: string (primary partition key)
    orderId: string (uuid, primary sort key)
    books: bookDetail[]
    orderDate: date 
}
bookDetail {
    bookId: string
    customerId: string
    quantity: number
    price: number
}

주문 테이블의 파티션 키는 고객 ID입니다. 이를 통해 고객 ID만으로 고객의 모든 주문을 조회 할 수 있습니다.


Cart Table:

CartTable {
    customerId: string (primary partition key)
    bookId: string (uuid, primary sort key)
    price: number
    quantity: number
}

장바구니 테이블은 고객의 저장된 장바구니에 대한 정보를 저장합니다.


Amazon API Gateway

Amazon API Gateway는 Frontend(Amazon CloudFront, Amazon S3)와 Backend(데이터베이스 등)를 호출하는 AWS Lambda 간의 인터페이스 계층 역할을합니다. 다음은 애플리케이션이 사용하는 다양한 API입니다.

Books (DynamoDB)

GET /books (ListBooks)
GET /books/{:id} (GetBook)

Cart (DynamoDB)

GET /cart (ListItemsInCart)
POST /cart(AddToCart)
PUT /cart (UpdateCart)
DELETE /cart (RemoveFromCart)
GET /cart/{:bookid} (GetCartItem)

Orders (DynamoDB)

GET /orders (ListOrders)
POST /orders (Checkout)

Best Sellers (ElastiCache)

GET /bestsellers (GetBestSellers)

Recommendations (Neptune)

GET /recommendations (GetRecommendations)
GET /recommendations/{:bookId} (GetRecommendationsByBook)

Search (Elasticsearch)

GET /search (SearchES)


AWS Lambda

AWS Lambda는 아키텍처 다이어그램에 표시된 것처럼 애플리케이션을 실행하기 위해 몇 가지 다른 위치에서 사용됩니다. 템플릿의 일부로 배포 된 중요한 Lambda 함수는 아래에 나와 있으며 functions 폴더에서 사용할 수 있습니다. 응답 필드가 비어있는 경우 애플리케이션은 성공 또는 실패에 대해 각각 statusCode 200 또는 500을 리턴합니다.


Amazon ElastiCache for Redis

Redis 용 Amazon ElastiCache는 베스트셀러 / 리더 보드 기능을 제공하는 데 사용됩니다. 즉, 가장 많이 주문 된 책이 베스트셀러 목록의 상단에 동적으로 표시됩니다.

리더 보드 생성을 위해 AWS Bookstore 데모 앱은 ZINCRBY를 활용했습니다. "키에 저장된 정렬 된 세트에서 멤버의 점수를 증분별로 증가시킵니다. 정렬 된 집합에 멤버가 없으면 점수가 증가하여 추가됩니다 (이전 점수가 0.0 인 것처럼). 키가 없으면 지정된 멤버를 단독 멤버로 사용하여 새로운 정렬 된 집합이 생성됩니다.”

리더 보드를 채우는 정보는 DynamoDB 스트림을 통해 DynamoDB에서 제공됩니다. 주문이 접수되고 이후에 Orders 테이블에서 생성 될 때마다 Lambda로 스트리밍되어 Redis 용 ElastiCache의 캐시를 업데이트합니다. 이 정보를 전달하는 데 사용되는 Lambda 함수는 UpdateBestSellers입니다.


Amazon Neptune

Neptune은 사용자, 책으로 구성된 소셜 그래프를 제공합니다. 추천은 구매 한 책 (예 : 주문 목록)에 대해서만 제공됩니다. 서점 홈페이지에 추천 도서 5 위권이 나와 있습니다.


Amazon Elasticsearch

Amazon Elasticsearch Service는 검색 창의 모든 화면 상단에서 사용할 수있는 서점 웹 ​​애플리케이션의 검색 기능을 강화합니다. 사용자는 제목, 저자 및 카테고리로 검색 할 수 있습니다. 템플릿은 Elasticsearch 서비스에서 검색 도메인을 생성합니다.

서비스 연결 역할을 먼저 생성하는 것이 중요합니다 (CloudFormation 템플릿에 포함됨).


AWS IAM


Amazon Cognito

Amazon Cognito는 서점 애플리케이션에 대한 사용자 계정 생성 및 로그인을 처리합니다. 데모의 목적을 위해 서점은 로그인 후에 만 ​​검색 할 수 있으며, 이는 다양한 유형의 웹 앱 아키텍처를 나타낼 수 있습니다. 사용자는 웹 앱의 일부를 공개적으로 사용할 수 있고 다른 부분은 로그인시 사용할 수있는 아키텍처를 분리하도록 선택할 수도 있습니다.

사용자 인증

  • 이메일 주소

Amazon Cognito는 Amazon API Gateway에서 Lambda 로의 모든 요청과 함께 모든 사용자에 대해 CognitoIdentityID (AWS Bookstore 데모 앱이 고객 ID로 사용)를 전달하여 서비스가 어떤 사용자가 무엇을하고 있는지 인증하는 데 도움을 줍니다.


Amazon CloudFront and Amazon S3

Amazon CloudFront는 사용자가 인터페이스 하는 웹 애플리케이션 프런트엔드를 호스팅 합니다. 여기에는 페이지 및 이미지와 같은 웹 자산이 포함됩니다. 데모 목적으로 CloudFormation은 S3에서 이러한 리소스를 가져옵니다.


Amazon CloudWatch

CloudWatch에서 제공하는 기능은 웹 앱의 최종 사용자에게 노출되지 않으며 개발자 / 관리자는 CloudWatch 로그, 경보 및 그래프를 사용하여 웹 애플리케이션의 사용량과 성능을 추적 할 수 있습니다.


AWS CodeCommit, AWS CodePipeline, AWS CodeBuild

CloudWatch와 마찬가지로 CodeCommit, CodePipeline 및 CodeBuild에서 제공하는 기능은 웹 앱의 최종 사용자에게 노출되지 않습니다. 개발자 / 관리자는 이러한 도구를 사용하여 응용 프로그램이 업데이트되고 개선 될 때 준비하고 배포 할 수 있습니다.


데모 목적을위한 고려 사항

  1. AWS Bookstore 데모 앱이 생성되는 순간부터 효과적인 데모로 만들기 위해 CloudFormation 템플릿은 책 목록을 제품 카탈로그 (DynamoDB의 Books 테이블)에 미리로드하기 위해 작성한 Lambda 함수를 시작합니다. 같은 방식으로 Lambda 함수를 사용하여 샘플 친구 (Neptune으로)를 미리로드하고 베스트셀러 목록을 수동으로 채웠습니다 (첫 페이지에서만). 이를 통해 새로운 사용자로 등록하고 친구가 구매 한 항목과 베스트셀러 도서 섹션의 기능을 기반으로 한 추천을 포함하여 실행중인 상점이 어떤 모습인지 즉시 확인할 수 있습니다.
  2. 처음 실행할 때 과거 주문 및 베스트 셀러 페이지가 비어 있음을 알 수 있습니다. 주문이 접수되는 즉시 업데이트됩니다.
  3. 이 데모의 목적을 위해 우리는 친구를 추가하거나 제거하는 방법을 포함하지 않았으며 모든 신규 사용자가 다른 모든 사용자와 친구가되기로 결정했습니다 (가장 현실적이지는 않지만이 데모에 효과적 임). 이를 변경하거나, 친구 제어 기능을 추가하거나, bookstore-friends-edges.csv 파일을 통해 수동으로 친구를 편집 할 수 있습니다.
  4. 웹 자산 (페이지, 이미지 등)은 CloudFormation 템플릿을 통해 퍼블릭 S3 버킷에서 가져와 AWS Bookstore 데모 앱용 프런트 엔드를 생성합니다. 자체 웹 애플리케이션을 구축 할 때 (또는이 애플리케이션을 사용자 정의 할 때) 자체 S3 버킷에서 가져올 수 있습니다. 람다 함수를 사용자 지정하는 경우 이러한 함수도 별도로 저장해야합니다.
  5. Checkout은 고객이 실제 결제 처리 플랫폼을 가져와 구현할 수있는 단순화 된 데모 환경입니다. 마찬가지로 구매 후 영수증보기 버튼이 작동하지 않아 앱에 추가하는 방법을 보여줍니다.
  6. 시작하기 섹션의 #2에서 참조 된 CloudFormation 템플릿은 풀 스택 애플리케이션을 생성하는 데 필요한 모든 것입니다. 그러나 애플리케이션이 새로 생성되거나 일정 시간 동안 사용되지 않은 경우 Lamdba 함수를 실행하는 데 몇 초가 더 걸릴 수 있으며, 이로 인해 도서 검색 및 리스팅과 같은 작업의 지연 시간이 늘어납니다. 앱에 대해 낮은 지연 시간을 유지하려는 경우이 딥 링크는 동일한 스택을 생성하지만 Lamdba 함수를 '웜으로' 유지하기 위한 추가 트리거를 사용합니다. 이러한 트리거로 인해 Lamdba 함수가 더 자주 (일정에 따라 10 분마다) 실행된다는 점을 감안할 때 애플리케이션을 실행하는 데 드는 전체 비용에 약간의 비용이 추가됩니다. 이점은 Lamdba 함수가 사용자 활동에 의해 정기적으로 호출되지 않는 경우에도보다 응답 성이 뛰어난 응용 프로그램입니다. (또는 Provisioned Concurrency for Lambda를 통해서 해결이 가능해졌습니다.)


알려진 제한

  • 응용 프로그램은 프로덕션 용도가 아닌 데모 목적으로 작성되었습니다.
  • 주문은 DynamoDB에 의해 지원되지만 Redis 오류의 드문 시나리오에서 베스트셀러 목록을 다시 생성하는 메커니즘은 없습니다.
  • Lambda 함수를 처음 사용할 때 VPC의 콜드 시작 시간이 느려질 수 있습니다. Lambda 함수가 워밍업되면 성능이 향상됩니다. 자세한 내용은 데모 용 고려 사항의 # 6을 참조하십시오.
  • 이 응용 프로그램은 현재 고 가용성을 위해 설계되지 않았습니다. 여러 AZ에 걸쳐 여러 인스턴스가있는 Amazon Elasticsearch, Amazon Neptune 및 Amazon ElastiCache 클러스터를 구성하여 애플리케이션의 가용성을 높일 수 있습니다.
  • 이 애플리케이션을 사용하면 여러 사용자가 애플리케이션에 로그인 할 수 있지만 소셜 그래프는 단일 사용자입니다. 결과적으로 다른 사용자는 동일한 소셜 그래프를 보게됩니다. 또한 새 책을 구입할 때 그 상태는 소셜 그래프에 반영되지 않습니다.
  • Firefox에서 몇 가지 네트워크 오류가 관찰되었습니다. 우리는 이것을 조사하고 있습니다.


기여

AWS Bookstore 데모 앱 사용에 관심을 가져 주셔서 기쁩니다! AWS를 막 시작하고 기능적인 애플리케이션을 시작하고 실행하려는 경우 시작하기에 좋은 곳입니다. 사용자 지정 응용 프로그램을 분기하여 빌드 할 샘플 전체 스택 응용 프로그램을 찾고있는 경우에도 똑같이 유용합니다. 기여 및 제안 된 추가를 통해 개발자의 참여를 권장합니다. 물론 자신 만의 버전을 만들 수 있습니다!

자세한 내용은 기여 지침을 참조하십시오.

풀 스택 웹 애플리케이션의 더 기본적인 예제는 AWS Bookstore 데모 앱이 구축 된 AWS 풀 스택 템플릿을 확인하십시오. 개요 섹션에서 언급했듯이 AWS Full-Stack 템플릿은 기본 웹 애플리케이션을 시작하고 실행하는 데 필요한 기본 서비스, 구성 요소 및 연결을 제공합니다. 사용자는 여행 예약 도구, 블로그 또는 다른 웹 앱 등 원하는 모든 애플리케이션을 생성하기 위해 AWS Full-Stack 템플릿을 기반으로 구축 할 수 있습니다. 이 AWS Bookstore 데모 앱은 AWS Full-Stack 템플릿을 사용하여 생성 할 수있는 항목의 한 예일뿐입니다.


질문 및 연락처

AWS Bookstore 데모 앱에 대한 질문이 있거나 팀에 문의하려면 GitHub에 의견을 남겨주세요.


Demo URL: https://d14dfjebxkmbor.cloudfront.net/

해당 URL은 삭제 될 수 있습니다. (2020-11-09 배포 테스트중)








  • 레이블 없음