割り当てられた IAM ロールに従って AWS インスタンスをフィルタリングし、そのプライベート IP アドレスを取得できるスクリプトを動作させたいと考えています。私は最近、同様の質問をしました。関連付けられた IAM ロールで ec2 インスタンスをフィルター処理し、boto を使用すると、答えがうまくいきました。ここで、Windows PowerShell を除いて同じことをしたいと思います。
PowerShell が優れた機能を提供していないことは理解していboto
ますが、インスタンスに関する情報を取得するために使用できる PowerShell 用の AWS ツール キットがあることは知っています。
すべてのセッションで実行するプロファイルを既にセットアップしています。
PS > Set-AWSCredentials -AccessKey AKIAIOSFODNN7EXAMPLE -SecretKey wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY -StoreAs TestUser1
PS > Initialize-AWSDefaults -ProfileName TestUser1 -Region ap-southeast-2
これは、IAM ロールによってインスタンスをフィルタリングし、そのプライベート IP アドレスをリストに保存する boto でのコードの大まかな外観です。
instancelist = conn.get_only_instances(filters={"iam-instance-profile.arn": "arn:aws:iam::123456789012:instance-profile/TestRole"})
aList = list()
for instance in instancelist:
output1 = instance.private_ip_address
aList.append(output1)
PowerShell でこれを行う同等の方法は何でしょうか?