AWS Amplify의 multiend에서 환경 이름이 대문자로 되어 있으면 S3을 만들 때 오류가 발생합니다.

4083 단어 AWSaws-amplify

AWS Amplify


AWS는 명령을 통해 응용 프로그램에 필요한 백엔드 환경을 구축할 수도 있고 프런트엔드 응용 프로그램을 간단하게 연결할 수도 있어 눈물을 흘릴 수 있는 편리한 프레임워크다.
https://aws-amplify.github.io/

multiend 플러그인


이러한 AWS Amplify 는 백엔드 환경을 복제하고 전환할 수 있는 명령을 제공합니다.
그것은 멀티end 플러그인입니다.
(또는 베타)
https://aws-amplify.github.io/docs/cli/multienv?sdk=js

환경 이름에 대문자를 사용하는 중 오류 발생


제목과 같이 환경 이름에 대문자를 사용하면 오류가 발생합니다.

절차.


먼저 환경을 새로 만듭니다.
amplify init
여기에서 기존 환경을 초기화할 것인지 아니면 새 환경을 입력할 것인지 물어볼 수 있습니다.
$ amplify init
Note: It is recommended to run this command from the root of your app 
directory
You're initializing your project with a beta version of the CLI which 
supports multiple environments of your project
? Do you want to use an existing environment? (Y/n) <- nを入力
이렇게 하면 환경 이름을 묻는 메시지가 표시됩니다.
여기에는 환경 이름이 대문자로 입력되어 있습니다.
? Enter a name for the environment DevYS <- 大文字を含んだ環境名を入力
이후 어떤 질문을 받을지 기존 환경을 복제할 때는 기본적으로 Enter가 진행한다.
완료되면 실제로 AWS 백엔드를 구축합니다.
$ amplify push
그렇다면 환경은 기쁘고 축하할 만한 복제가 될 거야...

amplify push 오류

✖ An error occurred when pushing the resources to the cloud

Resource is not in the state stackUpdateComplete
실패했습니다. orz.
그 전에 클라우드formation 로그가 나왔어요. 제가 볼게요.
CREATE_IN_PROGRESS functionnomadmatchinge620bc79                                   AWS::CloudFormation::Stack Fri Feb 08 2019 21:00:51 GMT+0900 (JST) Resource creation Initiated
CREATE_IN_PROGRESS hostingS3AndCloudFront                                          AWS::CloudFormation::Stack Fri Feb 08 2019 21:00:51 GMT+0900 (JST) Resource creation Initiated
CREATE_IN_PROGRESS nomad-matching-20190208205622-authcognito09b59faa-1BNMU3OAVOXEB AWS::CloudFormation::Stack Fri Feb 08 2019 21:00:51 GMT+0900 (JST) User Initiated             
CREATE_IN_PROGRESS authcognito09b59faa                                             AWS::CloudFormation::Stack Fri Feb 08 2019 21:00:52 GMT+0900 (JST) Resource creation Initiated
⠼ Updating resources in the cloud. This may take a few minutes...

CREATE_FAILED               S3Bucket                                                                  AWS::S3::Bucket            Fri Feb 08 2019 21:00:57 GMT+0900 (JST) Bucket name should not contain uppercase chara
cters                                                                                                                                                                                                                 
CREATE_IN_PROGRESS          nomad-matching-20190208205622-functionnomadmatchinge620bc79-1NL68GUN8AKBX AWS::CloudFormation::Stack Fri Feb 08 2019 21:00:51 GMT+0900 (JST) User Initiated                                
S3 구간을 만드는 데 실패했습니다. 최초에 발생한 오류일 수도 있습니다. Cloudformation 스택이 뒤집힐 수도 있습니다.

S3 제작 오류의 원인 탐색


더 많은 정보를 원하지만 S3를 구축한 클라우드 포메이션 스택이 롤오버 중 삭제돼 더는 없다.
AWS Amplify에서는 Cloudformation 스택을 API, Auth, Hosting 등의 기능 단위로 중첩해 제작한다.
위의 S3통은 호스팅 기능의 네스티드 스택으로 제작됐다.
(루트 스택은amplify init에서 생성됩니다.)
따라서 다시 같은 조작을 하고 Hosting을 끼워 넣은 클라우드formation 창고가 굴러오는 과정에서 삭제되기 전에 (제작 과정 중의 단계에서) 시도해 본다.

「Bucket name should not contain uppercase characters」
...예?
S3 물통에 그런 규칙이 있나...?

S3의 명명 규칙이 변경되었습니다.


AWS의 문서를 확인한 결과 2018년 3월 1일부터 명명 규칙이 변경된 것으로 나타났다.
전혀 눈치채지 못했다.

총결산


AWS Amplify 및 multiend를 사용하여 환경을 쉽게 구축할 수 있는 함정도 있습니다.
지식 공유와 고장 제거 프로그램의 참고가 되었으면 좋겠습니다.

좋은 웹페이지 즐겨찾기