0

DynamoDB를 사용하여 Java Spring Boot 응용 프로그램을 개발 중입니다. .ebextensions를 사용하여 DynamoDB에 두 개의 테이블을 만들려고합니다. 지금까지, 나는 생성 된 jar 파일을 eb cli에서 포함 된 .ebextensions 폴더와 함께 배포 할 수있었습니다. 목록 (사용자)에서 몇 가지 이유로DynamoDB 테이블 용 AWS Beanstalk .ebextensions 구성

Resources: 
Book: 
    Type: AWS::DynamoDB::Table 
    Properties: 
    TableName: Book 
    KeySchema: 
     HashKeyElement: {AttributeName: id, AttributeType: S} 
    ProvisionedThroughput: {ReadCapacityUnits: 1, WriteCapacityUnits: 1} 

Subject: 
    Type: AWS::DynamoDB::Table 
    Properties: 
    TableName: Subject 
    KeySchema: 
     HashKeyElement: {AttributeName: id, AttributeType: S} 
    ProvisionedThroughput: {ReadCapacityUnits: 1, WriteCapacityUnits: 1} 

User: 
    Type: AWS::DynamoDB::Table 
    Properties: 
    TableName: User 
    KeySchema: 
     HashKeyElement: {AttributeName: id, AttributeType: S} 
    ProvisionedThroughput: {ReadCapacityUnits: 1, WriteCapacityUnits: 1} 

, 마지막 테이블 생성 : 그것은 내부에서 나는 다음과 같은 내용으로 database.config 파일이 있습니다. 왜 다른 두 가지가 만들어지지 않는지? 스크립트 중 하나만 유지하면 예상대로 생성됩니다.

새 배포에서 DynamoDB 테이블을 만들고 업데이트하는 데 더 좋은 아이디어가 있습니까? .ebextensions 설정 파일은 유용하지만 모든 릴리즈 이전에 올바른 정보가 포함되어 있는지 확인해야합니다.

감사합니다. 크리스티안.

답변

0

AWS 기술 지원에서 그 답 :

난 당신이 문제 CLI 도구를 통해 배포하는 동안 탄성 콩 줄기의 ebextension 기능을 사용하여 DynamoDB의 테이블을 만드는을 가진 것으로 알고 있습니다. 왜 이런 일이 일어 났는지 이해하려면 Elastic Bean Stalk가 CloudFormation을 사용하여 자원과 설정을 적절히 적용한다는 사실을 이해하는 것이 중요합니다. 테이블 [User, Book, Subject]가 이전 CloudFormation 스택 (이 경우에는 이전 Beanstalk 스택)에서 만들어 졌음을 알게되었습니다. 테이블이 이전 스택에서 작성 되었기 때문에 최신 작성이 실패하여 롤백을 시도했습니다. 이 롤백 과정에서 오류가 발생하여 이전 포메이션의 삭제 된 리소스가 삭제되었으며 테이블은 동일한 이름을 공유했습니다. 이 버그는 내부 팀에보고되었습니다. 앞으로 AWS 테스트 및 마이그레이션 과정에있는 것으로 알고 있습니다. 이와 관련된 Beanstalk 스택을 재 구축하고 DynamoDB 테이블의 리소스 이름을 공유하지 않고 배포를 다시 시작하는 것이 좋습니다.