【AWS】 StepFunctionsがUnable to execute HTTP request: connection timed outでエラーになった時の解決策
hama-matcha
エラー解決IT奮闘ブログ
公式を見ながら.tfvars
にAWSのcredential
情報を記載し、
TerraformでS3をバックエンドとして定義して
意気揚々と terraform init
を叩くと下記のようなエラーになり困ったため備忘録として書き残します。
│ Error: No valid credential sources found
│
│ Please see
│ https://www.terraform.io/docs/language/settings/backends/s3.html
│ for more information about providing credentials.
│
│ Error: failed to refresh cached credentials, no EC2 IMDS role
│ found, operation error ec2imds: GetMetadata, request canceled,
│ context deadline exceeded
PJ内に.env
ファイルを作成してsource .env
で環境変数を設定しました。
苦し紛れの回避策ですが、terraform init
は通ります。
.gitignore
で .env
ファイルも除外しておく必要があります。
#.env
export AWS_ACCESS_KEY_ID="access_key"
export AWS_SECRET_ACCESS_KEY="secret_key"
#.gitignore
.env
provider "aws" {
region = "ap-northeast-1"
}
下記の情報があったためまとめておきます。
terraformer
を使っている人なら terraformer import aws -r vpc --profile ""
で回避できそうです。
.tfvars
でうまく認証が通せない人はどうやら ~/.aws
配下に credential
情報を書き込んでいるみたいです。
これ以上に解決策が見つからなかったので .tfvars
での管理にこだわりが無ければ .env
を利用した環境変数での読み込みが良さそうですね!
TerraformでAWSを触るぞ〜と意気込んだら早速コケて悲しい思いをしたので次からはコケないよう注意しつつ、同じように悩んでいる人に届いたら嬉しいです。
また、他のsecret
情報は問題なく読み込めるので terraform fmt
を掛けるために動くものは .tfvars
へ記載し、動作が怪しい変数は .env
へと記載したら良いと思いました〜
.tfvars
/.env
ともに git
管理すべきでは無いので .gitignore
への追加を忘れずにお願いします!
以上hamaでした〜