কমান্ড লাইন থেকে কীভাবে একাধিক AWS অ্যাকাউন্ট ব্যবহার করবেন?


114

আমি দুটি ভিন্ন অ্যাপ পেয়েছি যা আমি হোস্টিং করছি (ভাল দ্বিতীয়টি প্রায় শেষ হতে চলেছে) আমাজন ইসি 2 এ।

কমান্ড লাইনে (ম্যাক ওএস এক্স) উভয় অ্যাকাউন্টের সাথে আমি কীভাবে কাজ করতে পারি তবে ইসি 2 কীগুলি এবং শংসাপত্রগুলি আলাদা রাখতে পারি? প্রতিটি ই সি 2- * কমান্ডের আগে কি আমার পরিবেশের পরিবর্তনগুলি পরিবর্তন করা দরকার?

একটি উপাধি ব্যবহার করে এবং পরিবেশের সাথে-ইন-লাইন কাজের ক্ষেত্রে সেটি স্থাপন করবে? কিছুটা এইরকম:

উপনাম ec2-বর্ণনা-দৃষ্টান্ত 1 = এক্সপোর্ট EC2_PRIVATE_KEY = / পথ; EC2-বর্ণনা-দৃষ্টান্ত

উত্তর:


17

আপনার EC2_PRIVATE_KEY(এবং এমনকি EC2_CERT) পরিবেশের ভেরিয়েবলের পরিবর্তে নিম্নলিখিত কমান্ড-বিকল্পগুলি ব্যবহার করতে সক্ষম হওয়া উচিত :

  • -K <private key>
  • -C <certificate>

আপনি এগুলি উপাধির ভিতরে রাখতে পারেন, যেমন

alias ec2-describe-instances1 ec2-describe-instances -K /path/to/key.pem

309

আউস কমান্ড লাইনে দুটি প্রোফাইল তৈরি করে আপনি দুটি অ্যাকাউন্টের সাথে কাজ করতে পারেন । এটি আপনাকে আপনার AWS অ্যাক্সেস কী আইডি, এডাব্লুএস সিক্রেট অ্যাক্সেস কী এবং পছন্দসই অঞ্চলের জন্য অনুরোধ করবে , তাই তাদের প্রস্তুত রাখুন।

উদাহরণ:

$ aws configure --profile account1
$ aws configure --profile account2

তারপরে আপনি কমান্ডটিতে প্রোফাইলটি পাস করে অ্যাকাউন্টগুলির মধ্যে স্যুইচ করতে পারেন।

$ aws dynamodb list-tables --profile account1
$ aws s3 ls --profile account2

বিঃদ্রঃ:

আপনি প্রোফাইলটির নাম defaultদিলে এটি ডিফল্ট প্রোফাইলে পরিণত হবে অর্থাত্ যখন --profileকমান্ডে কোনও পরম থাকে না।


ডিফল্ট প্রোফাইলে আরও

আপনি যদি অ্যাকাউন্ট 1 ব্যবহার করে বেশি সময় ব্যয় করেন তবে আপনি এডব্লিউএস_ডিএফএএলএফএইএলএফআরএফআরএফআইএল এনভায়রনমেন্ট ভেরিয়েবল সেট করে এটি ডিফল্ট করতে পারেন make যখন ডিফল্ট এনভায়রনমেন্ট ভেরিয়েবল সেট করা থাকে, আপনার প্রতিটি কমান্ডে প্রোফাইল নির্দিষ্ট করার দরকার নেই।

লিনাক্স, ওএস এক্স উদাহরণ:

$ export AWS_DEFAULT_PROFILE=account1
$ aws dynamodb list-tables

উইন্ডোজ উদাহরণ:

$ set AWS_DEFAULT_PROFILE=account1
$ aws s3 ls

অঞ্চলটি কনফিগার করতে - এখানে অঞ্চল "কোডগুলি" রয়েছে - docs.aws.amazon.com/general/latest/gr/rande.html
আর্সেল্ডন

66

এটি এখনও কারও সাহায্য করে। আপনি নিজে এটি সেট করতে পারেন।

1) ফাইল সেট করুন

~/.aws/credentials

এই

[default]
aws_access_key_id={{aws_access_key_id}}
aws_secret_access_key={{aws_secret_access_key}}

[{{profile_name}}]
aws_access_key_id={{aws_access_key_id}}
aws_secret_access_key={{aws_secret_access_key}}

2) ফাইল সেট করুন

~/.aws/config

এই

[default]
region={{region}}
output={{output:"json||text"}}

[profile {{profile_name}}]
region={{region}}
output={{output:"json||text"}}

3) এডাব্লুএস কমান্ড লাইন দিয়ে এটি পরীক্ষা করুন এবং কমান্ড এবং আউটপুট হবে জেএসএন

aws ec2 describe-instances --profile {{profile_name}}

সূত্র

http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles


2
@ iBrianCox - এই তথ্যটি সর্বোপরি উত্তম উত্তরের ( stackoverflow.com/a/34246053/1199564 ) মধ্যে একীভূত করা উচিত কারণ এটি কোনও ব্যবহারকারীকে কীভাবে একটি প্রোফাইল থেকে অন্যটিতে সেটিংস স্থানান্তরিত করতে পারে তা বুঝতে দেয়, উদাহরণস্বরূপ, আপনি শুরু করেছেন কেবলমাত্র ডিফল্ট প্রোফাইল সহ এবং উত্সর্গীকৃত, পৃথক প্রোফাইলের সাথে চালিয়ে যেতে চাই।
এমজিডি

@ এসএমএল দয়া করে উপরের আমার মন্তব্যটি পড়ুন (কেবলমাত্র মন্তব্য অনুসারে একটি উল্লেখ করতে সক্ষম)
এমজিডি

@ এমজিডি আপনাকে পরামর্শের জন্য ধন্যবাদ জানায়, তবে না - কারণ প্রথমে উত্তরটি আমার নয় - এবং দ্বিতীয়টি এটি কীভাবে সেট করবেন তা আলাদা পদ্ধতি
বিজি ব্রুনো

@ এমজিডি কিউ আপনি "মন্তব্যে প্রতি একটি উল্লেখ" বলতে কী বোঝাতে চেয়েছেন আরও বর্ণনা করতে পারেন?
বিজি ব্রুনো

আমার অর্থটি হ'ল আমার প্রথম মন্তব্যে আমি আইব্রিয়ানকক্স এবং এসএমএল উভয়ই উল্লেখ করার ইচ্ছা রেখেছিলাম (যথাক্রমে অন্য উত্তরটির লেখক এবং সম্পাদক) তবে আপনাকে কেবল মন্তব্য অনুযায়ী একটি উল্লেখ করার অনুমতি দেওয়া হয়েছে তাই উভয়ের উল্লেখ করার জন্য আমাকে আরও একটি মন্তব্য যুক্ত করতে হয়েছিল । আপনি সঠিক যে আপনার উত্তরটি একটি ভিন্ন দৃষ্টিভঙ্গি তবে বিশেষত যদি আপনি প্রোফাইলগুলির মধ্যে সেটিংস অনুলিপি করতে চান তবে তথ্যটি কোথায় সংরক্ষণ করা হয়েছে তা জানা খুব সহায়ক।
এমজিডি

6

নতুন আওস সরঞ্জামগুলি এখন একাধিক প্রোফাইল সমর্থন করে।

আপনি যদি সরঞ্জামগুলির সাহায্যে অ্যাক্সেস কনফিগার করেন তবে এটি স্বয়ংক্রিয়ভাবে ~ / .aws / কনফিগারেশনে একটি ডিফল্ট তৈরি করে।

তারপরে আপনি অতিরিক্ত প্রোফাইল যুক্ত করতে পারেন - আরও বিশদে এখানে:

http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles


0

ব্যবহারকারীর ইনপুটের ভিত্তিতে প্রতিটি অ্যাকাউন্টের জন্য পরিবেশের ভেরিয়েবলের সংশ্লিষ্ট মানগুলি সেট করতে আপনি শেল স্ক্রিপ্ট লিখতে পারেন। এটি করে, আপনার কোনও উপাত্ত তৈরি করার দরকার নেই এবং তদ্ব্যতীত, ইএলবি সরঞ্জাম, অটো স্কেলিং কমান্ড লাইন সরঞ্জামের মতো সরঞ্জামগুলিও একাধিক অ্যাকাউন্টের অধীনে কাজ করবে।


0

আমি একটি সহজ সরঞ্জাম তৈরি করেছি, aaws AWS অ্যাকাউন্টগুলির মধ্যে স্যুইচ করার জন্য

এটি AWS_DEFAULT_PROFILEআপনার শেলের মধ্যে সেট করে কাজ করে । আপনার ~/.aws/credentialsফাইলে আপনার কিছু প্রবেশ রয়েছে এবং এটি সহজেই একাধিক অ্যাকাউন্টের মধ্যে স্যুইচ হয়ে যাবে তা নিশ্চিত করুন।

/tmp
$ aws s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".
/tmp
$ aaws luk3

[luk3] 🔐 /tmp
$ aws s3 ls
2013-11-05 21:40:04 luk3thomas.com
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.