আমার টেরফর্মে বিদ্যমান অবকাঠামো রয়েছে এবং এটি কিছুক্ষণ ব্যবহার করে আসছি। সম্প্রতি আমি আমার স্থানীয় ল্যাপটপের অ্যাডাব্লুএস শংসাপত্রগুলি (ক্রেডিটগুলিতে সঞ্চিত ~/.aws/credentials
) অদলবদল করেছিলাম এবং আমি সেই শংসাপত্রগুলি পুনরায় সেট না করা পর্যন্ত এটি কাজ করা বন্ধ করে দেয়।
সমস্যাটি হ'ল আমি নিজেই টেরফর্ম উত্সে ক্রেডিটগুলি ঘোষনা করছি তবে মনে হয় এটি মোটেও ব্যবহার করছে না।
terraform {
backend "s3" {
bucket = "example_tf_states"
key = "global/vpc/us_east_1/example_state.tfstate"
encrypt = true
region = "us-east-1"
}
}
provider "aws" {
access_key = "${var.access_key}"
secret_key = "${var.secret_key}"
region = "${var.region}"
}
variable "access_key" {
default = "<hidden_for_stack_exchange_post>"
}
variable "secret_key" {
default = "<hidden_for_stack_exchange_post>"
}
variable "region" {
default = "us-east-1"
}
অ্যাক্সেস আইডি অনুমতিগুলি 100% ভাল। আমি উপরের টেরেরফর্ম ভেরিয়েবলের ঘোষণাপত্রের মতো aws configure
যে সেটিংসগুলিতে যায় ~/.aws/credentials
সেগুলির জন্য আমি একই অ্যাকাউন্ট আইডি এবং গোপন কী উভয় ব্যবহার করছি।
ক্রেডিটগুলি যতক্ষণ না থাকে ততক্ষণ সবকিছু ঠিক থাকে~/.aws/credentials
তবে ওএস স্তরের শংসাপত্রগুলি rm ~/.aws/credentials
নিখোঁজ হওয়ার সাথে সাথে (অর্থাত্ টেরফর্ম) অপারেশনগুলি চালানোর চেষ্টা করার সময় আমি নিম্নলিখিতটি পাই terraform plan
: যেমন :
Failed to load backend:
Error configuring the backend "s3": No valid credential sources found for AWS Provider.
Please see https://terraform.io/docs/providers/aws/index.html for more information on
providing credentials for the AWS Provider
Please update the configuration in your Terraform files to fix this error.
If you'd like to update the configuration interactively without storing
the values in your configuration, run "terraform init".
যদি আমি এটি ~/.aws/credentials
চালিয়ে aws configure
আবার آباد করি তবে এটি আবার ঠিকঠাক হবে fine
আমি বুঝতে পারছি না - যদি আমার provider
সেটিংটি টেরারফর্ম উত্স কোডের অভ্যন্তরে শংসাপত্রগুলি স্পষ্টভাবে ঘোষণা করছে, তবে আমার ওএস-স্তরের এডাব্লুএস কনফিগারেশনটি মোটেই কেন গুরুত্বপূর্ণ?
আমি কীভাবে টেরাফর্মকে কেবলমাত্র আমার টেরফর্ম কনফিগারেশনে সংজ্ঞায়িত ক্রেডিটগুলি ব্যবহার করতে পারি এবং আমার ওএস ব্যবহারকারী প্রোফাইলে কী আছে তা উপেক্ষা করতে পারি?
সম্পাদনা করুন, এটি Terraform v0.11.7
সম্পাদনা করুন: দয়া করে নোট করুন যে আমি কেন স্ট্যাটিকালি ঘোষিত শংসাপত্র সরবরাহকারীর ঘোষণায় ব্যবহার করা হচ্ছে না তা নিয়ে সমস্যাটি সমাধান করার চেষ্টা করছি। বিকল্প পদ্ধতি বা কাজের ক্ষেত্রগুলি খুঁজছেন না। ধন্যবাদ।
AWS_PROFILE
বাAWS_DEFAULT_PROFILE
পরিবেশের ভেরিয়েবলগুলি সেট করা নেই কারণ সেগুলি এডাব্লুএস এসডিকে একটি ইঙ্গিত যা এটি শংসাপত্র ফাইলটিতে দেখা উচিত।