Terraformとそのterraform.tfstate
ファイルに精通しています。このファイルでは、どのローカルリソース識別子がどのリモートリソースにマップされているかを把握しています。私は.serverless
ディレクトリに私のマシンには、CloudFormationテンプレートやラムダコードを含むZIPファイルなどのファイルが含まれているようだと気づいた。サーバーレスフレームワークのバックアップをバックアップする
は、私が作成し、私のラップトップからプロジェクトを展開したとし、サーバレスはラムダ関数arn:aws:lambda:us-east-1:123456789012:function:handleRequest456
を指すfooxyz.cloudfront.net
をスピンアップ。 fooxyz.cloudfront.net
がすでに同じアプリケーションを表していることがわからないので、別のマシン(または私がgit clean
自分の作業ディレクトリ)からServerlessを再度実行しようとすると、新しいCloudFrontエンドポイントが起動します。私は内部で保持している状態をバックアップすることを望んでいるので、新しいリソースを作成するのではなく、既存のリソースを変更します。 (Terraformに相当するのは、terraform.tfstate
ファイルをバックアップすることです)
バックアップを取ってサーバーレスデプロイメント状態を復元したい場合は、どのファイルをバックアップしますか? AWSの場合、CloudFormationテンプレートをバックアップする必要があるようです。ラムダコードはソースから直接生成されているので、私はラムダコードをバックアップしたくありません。しかし、将来的にはAWSだけでなく、CloudFormationテンプレートを可能な限り特別に扱いたいと考えています。
再生成できないファイルのみをバックアップするにはどうすればよいですか?
Serverlessは自動的にCloudFormationテンプレートをS3にバックアップします。バケット名は、_serverless.yml_の 'deploymentBucket'キーを使用して[configured](https://serverless.com/framework/docs/providers/aws/guide/serverless.yml/)にすることができます。しかし、私はこれがAWSの設定をバックアップするだけだと思っていますが、他のプロバイダの状態も保持したいと思います。 –
私はこの質問を理解していません。 serverless.ymlとソースコードは、別のクラウドアカウントにまったく同じソリューションを展開するのに十分なだけです。キーやエンドポイントをハードコーディングする必要はありません。 – Zanon
良い点、私の意図は私が書いたものから明らかではありません。私は今質問を編集中です。 –