[アップデート] Amazon QuickSight の VPC 接続管理コンソールが新しくなり、マルチ AZ 構成が必須になりました

2023.05.09

いわさです。

AWS の BI サービスである QuickSight では、インターネット経路で様々なデータソースと接続することが出来ますが、VPC 上のリソースに対してプライベートネットワーク経路で接続することも出来ます。

そんな QuickSight の VPC 接続機能ですが、先日のアップデートで大幅に変わりました。

従来は QuickSight のコンソール上からしか VPC 接続の作成や管理が出来なかったのですが AWS SDK や CLI を始めとする API 経由での操作が可能になっています。
また、従来はシングル AZ (Availability Zone) でのみサポートされていたのですが、今回マルチ AZ がサポートされました。サポートというか必須になったみたいです
上記の対応に関連して、QuickSight のVPC 管理画面がリニューアルされています。

今回は新コンソールの確認と、実際にマルチ AZ での構築まで行ってみましたので紹介します。

アップデート前

QuickSight の従来の VPC 接続機能は、次のように QuickSight が対象 VPC の指定したサブネット上に QuickSight 専用の ENI を自動生成し、VPC 内のリソースと通信するというもので、単一のサブネットのみつまりシングル AZ のみサポートされていました。

実際に、次の記事ではプライベートサブネットの Aurora へプライベート通信で接続を行っている例です。

アップデート後

アップデート後は、次のようにマルチ AZ で複数サブネットを指定することが必須になったので、QuickSight の ENI が単一障害点になりにくくなります。
データソース側も冗長構成必要ですけども。

新コンソール画面

画面遷移の流れは従来と同様に、QuickSight 管理メニューの「VPC 接続の管理」から遷移します。
こちらを選択すると、従来は右側に VPC 管理用の画面が表示されていました。

上記のメニューをクリックすると、現在は次のように専用画面に遷移するようになっています。
デザインが最近の QuickSight の管理画面っぽい感じしますよね。
現在は何も VPC 接続が存在していないので No rows と表示されています。

右上の「VPC 接続の追加」から接続を追加してみましょう。
次のような構成画面が表示されます。

右側は VPC 接続作成に必要な接続先の VPC 情報などを入力するエリアです。
後ほど VPC を作成して使ってみます。

左側は AWS マネジメントコンソールへのリンクです。
別タブで次のように開くのですが、地味にこれ嬉しいですよ。今までは QuickSight から通常のコンソールに遷移するのちょっと面倒だったのです。

VPC を作成し、接続してみる

今回は VPC を作成して接続するところまで確認してみました。
次のようなマルチ AZ 構成の VPC とサブネットを用意します。

QuickSight で VPC 接続を作成する際に IAM ロールを指定します。
QuickSight を信頼する形で、主に ENI の作成や削除の権限が必要です。

ポリシーは次のような感じです。公式ドキュメントにも記述あります。

Configuring the VPC connection in the QuickSight console - Amazon QuickSight

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups"
            ],
            "Resource": "*"
        }
    ]
}

作成した VPC 関係のリソースと IAM ロールを指定します。
なお、サブネットの Availability Zone は自動認識されていました。

作成すると数十秒ほどのプロビジョニングの時間が発生します。
作成中の VPC 接続もステータスが確認出来ます。UNAVAILBABLE になっていますね。

VPC 接続名をクリックすると、構成した内容と作成される ENI のステータスも確認することが出来ます。
次の画面は VPC 接続作成直後の状態のもので、ENI ステータスが CREATING となっています。

VPC コンソールからも QuickSight 専用の ENI がマルチ AZ で複数サブネットに作成されていることが確認出来ます。

少し待つと VPC 接続と ENI それぞれステータスが AVAILABLE になりました。

データセットから利用する際は従来と同様で VPC 接続を選択して、接続先名のホスト名または IP アドレスを指定する形です。

なので、データセット側からどちらの ENI を使うとか、こちらの ENI はこっちで別の ENI は別のデータソース、のような使い分けが出来る形ではありません。

シングル AZ では利用できなくなってしまった

従来は次のようなシングル AZ の VPC 構成でも QuickSight の VPC 接続機能を使うことが出来ていました。

今回リニューアルされたことで、シングル AZ の状態では VPC 接続を作成することができなくなりました。
次のように追加ボタンが非活性になります。

既存で VPC 接続が存在している環境はどうなるのだろうと少し気にしています。
私はその環境を持っていないので確認出来ないのと、ドキュメント上も下位互換みたいなところには触れられていませんでした。本当か...?

情報お持ちの方、是非教えてください。

さいごに

本日は Amazon QuickSight の VPC 接続管理コンソールが新しくなり、マルチ AZ 構成が必須になったので実際に使ってみました。

単一障害点になる可能性が下がって、その点はとても良いですね。
ただ一方でシングル AZ が選択出来なくなったので既存環境への影響が少し気になります。再構成時には VPC へのサブネット追加が必要になるのかもしれない。