AWSプロフィールを指定してデプロイする
$ serverless deplosy --aws-profile プロフィール名
デプロイ時にオプションで、「–aws-profile プロフィール名」をつけてデプロイするとAWSプロフィールを指定してデプロイすることができます。
何も指定せずデプロイすると、[default]プロフィールにデプロイしてしまいます。
(私はこれを知らずに、関係ないアプリをクライアント様のAWSプロフィールにデプロイしてしまいました。。)
デプロイするAWSプロフィールを確認する方法
デプロイ先のAWSプロフィール情報を確認してみましょう。
$ vim ~/.aws/credentials
[default]
aws_access_key_id=XXXXXXXXXXXXXXXXXXXXXXXXXXX
aws_secret_access_key=xxxxxxxxxxxxxxxxxxxxxxxxxxx
ここで初期設定されたIAMユーザーのアクセスキーとシークレットキーが登録されています。
通常、 $ serverless deploy をするとこの IAMユーザーのいるAWSプロフィールへデプロイされます。
AWSプロフィールを追加を追加する方法
私はamplifyとserverless frameworkを両方使っているので、amplifyを使ってAWSプロフィールを追加しました。
$ amplify configure
AWSプリフィールへのログイン、IAMユーザーの作成とAPIキーの登録、プロフィール名の入力が求められます。
このあと、AWSプロフィールを確認すると先ほど入力したプロフィール名が追加されているはずです。(プロフィール名をdefaultにするとAPIキーが上書きされています)
[default]
aws_access_key_id=XXXXXXXXXXXXXXXXXXXXXXXXXXX
aws_secret_access_key=xxxxxxxxxxxxxxxxxxxxxxxxxxx
[testAWS]
aws_access_key_id=YYYYYYYYYYYYYYYYYYYYYYYYYYYYY
aws_secret_access_key=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
また、リージョンの確認は次のファイルから確認できます。
$ vim ~/.aws/config
[default]
region=ap-northeast-1
[profile testAWS]
region=ap-northeast-1
これでデプロイするAWSプロフィールの追加が完了しました。
まとめ
・$ cat ~/.asw/credentials でAWSプロフィールを確認しよう
・$ sls deploy –aws-profile XXX を癖付けよう
複数のアプリ開発をしていたときに、意図せず全然違うAWSプロフィールへデプロイしてしまったので、備忘録として残します。
結構あるあるなトラブルだと思いますが、間違えると超ヤバイので絶対に間違えないようにしましょう!!
コメント