VM::EC2でIAMロール認証を行う
VM::EC2でもIAMロール認証したくて、
VM::EC2にプルリクでもしようかなとコード眺めてたところ
「あれ、別にコード変えなくても今のままで行けるんじゃね?」
と気付いてしまった。
use strict; use warnings; use VM::EC2; # dummy instance my $ec2_dummy = VM::EC2->new( -access_key => 'a', # 空だと怒られる。。。 -secret_key => 'b', # 空だと怒られる。。。 ); # get iam token my $token = $ec2_dummy->instance_metadata->iam_credentials; # get ec2 instance my $ec2 = VM::EC2->new( -security_token => $token, ); # api access... print $ec2->describe_instances();
一度ダミーインスタンスを作って、iam_credentialsを取得。
そのトークンを用いて再認証したらいけた。