[AWS] マネージドプレフィックスリストをアカウント間で共有する

2020.06.30

こんにちは、菊池です。

本日のアップデートで、複数CIDRをまとめてオブジェクトとしてルートテーブル/セキュリティグループに利用できる、マネージドプレフィックスリストが登場しました。

このプレフィックスリストの特徴の1つに、Resource Access Manager(RAM)を使ってAWSアカウント間で共有することができるというものがあります。今回は、先の記事で作成したプレフィックスリストを別のアカウントに共有してみました。

プレフィックスリストをRAMで共有する

以下のように、カスタマーマネージドプレフィックスリストは作成済みです。

AWS CLIを使って、他のアカウントに共有します。まずはAWS CLIを最新にアップデートしておきます。

$ aws --version
aws-cli/1.18.90 Python/3.7.3 Darwin/19.5.0 botocore/1.17.13

create-resource-shareコマンドで共有を作成します。principalsに共有先のAWSアカウントID、resource-arnにプレフィックスリストのARNを指定しましょう。

aws ram create-resource-share \
    --name onpremiss-prefix \
    --principals xxxxxxxxxxxx \
    --resource-arns arn:aws:ec2:ap-northeast-1:xxxxxxxxxxxx:prefix-list/pl-0ffe5ccac09d81f8f

実行できました。

$ aws ram create-resource-share \
>     --name onpremiss-prefix \
>     --principals xxxxxxxxxxxx \
>     --resource-arns arn:aws:ec2:ap-northeast-1:xxxxxxxxxxxx:prefix-list/pl-0ffe5ccac09d81f8f
{
    "resourceShare": {
        "resourceShareArn": "arn:aws:ram:ap-northeast-1:xxxxxxxxxxxx:resource-share/1a640e0a-fbf9-4d9f-9d97-a5cb7362cbf8",
        "name": "onpremiss-prefix",
        "owningAccountId": "xxxxxxxxxxxx",
        "allowExternalPrincipals": true,
        "status": "ACTIVE",
        "creationTime": 1593475056.178,
        "lastUpdatedTime": 1593475056.178
    }
}

共有元AWSアカウントのマネジメントコンソールでプレフィックスリストを確認すると、共有されていることが確認できます。

共有先のAWSアカウントでの確認です。マネジメントコンソールでRAMを開き、自分と共有されているリソースを確認します。先ほどのプレフィックスリストが、Pendingのステータスになっています。

リソース共有を承認します。

これで共有が完了しましたので、共有先のAWSアカウントでプレフィックスリストを利用することができます。

VPCのマネジメントコンソールから、共有されたプレフィックスリストが参照・利用可能です。

まとめ

新たに登場したプレフィックスリストのアカウント間共有を試しました。許可するアクセス元の一覧などを集中管理し、複数のアカウントで利用するといった使い方が可能です。