あれ
あれ
「SageMaker」が目に入ってAmazon SageMaker Canvasを使ったら高額請求が来た件を思い出してウッってなった。
別物だから大丈夫なんだろうけども。
CloudFormationでボタンポチーって感じでリソースを立てた結果、請求がすごいことになったりすると恐ろしいぜ。
あれ
あー
Amplify FunctionのCloudFormationってVPCとか作れないのかーー
「SageMaker」が目に入ってAmazon SageMaker Canvasを使ったら高額請求が来た件を思い出してウッってなった。
別物だから大丈夫なんだろうけども。
CloudFormationでボタンポチーって感じでリソースを立てた結果、請求がすごいことになったりすると恐ろしいぜ。
あー
Amplify FunctionのCloudFormationってVPCとか作れないのかーー
Amplifyを触ったことがある人を対象としているため、画像を貼ったりせず、事細かには説明しない。適宜補完してほしい。
npx create-react-app amplify_the_destroyerなどと実行して、テスト用に適当なウェブアプリを作成する。ここでnext.jsで作るとややこしいことになるのでやってはいけない。amplify pull --appId {appId} --envName stagingで取得する。git add .、git commit -m "init"、git pushを実行して、レポジトリにコードを反映させる。下の画像のようになれば成功だ。Amplifyを使っている人には見慣れた光景かと思う。
この後、ローカルの端末でamplify pull --appId {appId} --envName mainを実行してmainと同期し、その結果をGithubのレポジトリにpushしておく。
mainが「Deletion completed」となっているのが確認できる。
Amplifyにレポジトリ連携でデプロイする時、team-provider-info.jsonがレポジトリに入っていると、別Appであっても同一のCloudFormationスタックが用いられる。
そのため、Appを削除するとCloudFormationによって他Appと共用となってしまっているバックエンド環境が削除される。
代理店を通じてAWSにBackend Environmentsの復旧を依頼したが、Backend Environmentsに掛かるDynamoDB・S3は復旧できないとのこと。
amplify pullを実行すると、.gitignoreに色々追記されるが、team-provider-info.jsonは除外設定にならない。
本事象は私のプロジェクトの本格運用前に発生した。本格運用が始まった状態でこの問題が発生した場合にはより深刻な影響を及ぼしただろう。
DynamoDBのデータは、DataStoreがDynamoDBと同期していたブラウザのIndexedDBより救出された。
今年の2月に開始された弊プロジェクトでは、この他にも2度ほどAmplifyのバグを踏んでいる。