プライベートサブネットのAuroraにQuickSightから接続する方法

こんにちは、かっぺいです。
AWSのQuickSightからプライベートサブネットのAuroraに接続する方法が、ちょっとわかりにくかったので残しておこうと思います。

AWSのQuickSight VPC接続ユーザーズガイド

わかってしまえば、ユーザーズガイドの通りに行えば良いというだけなのですが、EC2と同じ感覚でセキュリティグループ設定を行なっていると、かなりハマると思います。

Quick Sight用セキュリティグループの準備

まずは、QuickSightで利用するセキュリティグループを準備します。
メンテナンスの関係や、わかりやすさの兼ね合いからQuickSight専用のセキュリティグループを準備することを推奨されています。

セキュリティグループに設定する内容のポイントは、EC2で利用する普通のセキュリティグループと違い、ステートレス想定で設定することです。つまり、アウトバウンドにQuickSightが送信する相手セキュリティグループを指定する必要があるということです。

インバウンドルールに、Auroraが所属するセキュリティグループを指定します。

アウトバウンドにもAuroraが所属するセキュリティグループを指定します。

Aurora用セキュリティグループの修正

Auroraが利用するセキュリティグループのインバウンドルールに、先ほど作成したQuickSight用のセキュリティグループを追加します。

QuickSightにVPC接続を追加

QuickSightの管理者設定画面から、「VPC接続の管理」を選びます

VPC、サブネットを選びます。その後、先ほど作成したQuickSight用のセキュリティグループIDを指定します。
DNSリゾルバーは未記入でOKです。

設定を間違えた場合、修正ができないので、削除して再度作成を行います。

追加をすると、EC2のネットワークインターフェースが追加され、QuickSight用のセキュリティグループが適用されます。

QuickSightから接続

QuickSightからデータセット作成する際に、Auroraを選び、Auroraのエンドポイントを指定すると接続できます。

接続できない場合には、QuickSight用のセキュリティグループ設定を確認します。

注意点

私が、ハマったポイントとして、セキュリティグループ設定が間違えていたりなどして、変更した場合にEC2などと違いすぐに反映されないというところです。
設定に間違いがあった場合などは、変更後に10分程度は待つくらいの感覚でQuickSightのデータセット設定を行わないと、繋がらない感じがあります。

あと、DNSリゾルバーを設定しないと、Auroraのエンドポイントが名前解決できないと思いがちですが、問題なく接続できます。