AWS EC2多账户的Powershell脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS EC2多账户的Powershell脚本相关的知识,希望对你有一定的参考价值。
我一直在寻找示例powershell脚本,该脚本将循环访问AWS中的多个帐户,并仅从每个帐户打印EC2实例信息。我一直在使用Python / Boto3完成相同的任务,但想学习Powershell的实现方法。我已经搜索过但找不到多帐户的任何示例,尤其是如何为每个帐户获取sts令牌并承担角色等。如果有人可以将我指向任何此类示例脚本(如果可用),那将是很好的。
感谢和问候。
答案
我确定您需要为每个帐户使用不同的凭据。对于每个帐户,您需要创建一个AWS凭证。有关如何执行此操作的示例,请参见:https://timharkin.com/managing-aws-credentials-with-powershell/
一旦保存了凭据,就可以使用三个嵌套循环来获取所需的信息。这些循环将是Credential-> Region-> EC2 Instance。此代码为:
$AccountCreds = "Credential1","Credential2"
$Regions="ap-northeast-1","ap-northeast-2","ap-south-1","ap-southeast-1","ap-southeast-2","ca-central-1","eu-central-1","eu-north-1","eu-west-1","eu-west-2","eu-west-3","sa-east-1","us-east-1","us-east-2","us-west-1","us-west-2"
foreach ($credential in $AccountCreds){
Set-AWSCredential -ProfileName $credential
foreach($region in $Regions){
Set-DefaultAWSRegion $region
try {
(Get-EC2Instance ).Instances |Format-Table -AutoSize | Out-String -Width 512
}
catch {
}
}
}
以上是关于AWS EC2多账户的Powershell脚本的主要内容,如果未能解决你的问题,请参考以下文章
Powershell AWS 自动化管理 (11) - 创建一个高可用的WordPress博客(中)