オレゴンリージョンにてPrivateLinkを使用してAWS STS(Security Token Service)が使えるようになりました。

2018.08.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちわ、吉江です。

PrivateLinkにてAWS STSがオレゴンリージョンで利用できるになりましたので、早速試してみました。

AWS STSとは?

わかりやすい解説としてこちらの記事をご紹介させて頂きます。

AWS再入門 AWS IAM (Identity and Access Management) 編

やってみる(エンドポイント追加前)

IAMロールを付与し、PrivateSubnetのインスタンスからstsのコマンドを実行します。
この時点ではエンドポイントは存在しないのでタイムアウトが発生します。

[ec2-user@ip-yy-yy-yy-yy ~]$ aws sts get-caller-identity --endpoint-url https://sts.us-west-2.amazonaws.com

HTTPSConnectionPool(host='sts.us-west-2.amazonaws.com', port=443): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<botocore.awsrequest.AWSHTTPSConnection object at 0x7f0234a77610>, 'Connection to sts.us-west-2.amazonaws.com timed out. (connect timeout=60)'))

エンドポイントを作成してみます。

サービスカテゴリをAWSサービスにして、サービス名にcom.amazonaws.us-west-2.stsを選択します。

あとはエンドポイントを設置するVPC/SubnetやSGを選択してエンドポイントを作成します。

やってみる(エンドポイント追加後)

先程と同じようにget-caller-identityを実行します。

[ec2-user@ip-yy-yy-yy-yy ~]$ aws sts get-caller-identity --endpoint-url https://sts.us-west-2.amazonaws.com
{
    "Account": "xxxxxxxxxxx",
    "UserId": "yyyyyyyyyyyyyyyyyy:i-zzzzzzzzzzzzzzzzzz",
    "Arn": "arn:aws:sts::xxxxxxxxxxx:assumed-role/ec2-test-role/i-zzzzzzzzzzzzzzzzzz"
}

EC2に適用しているIAMロールが見えました!

最後に

VPCエンドポイントの対応サービスがまた一つ増えました。
出来ることが増えた分、エンドポイントが存在しないサービスもあるので常にチェックしながら構築が行えると罠は少ないかと思います。
今回はオレゴンリージョンのみとなりますが、日本リージョンに来ることが待ち遠しいです。