Amazon Web Services ブログ

Amazon QuickSightのプライベートVPC内のデータアクセスの設定方法について

はじめに

今回の記事では、先日一般公開された「Amazon QuickSightのプライベートVPC内のデータアクセス」の設定方法をご紹介します。この設定を行うことによって、Amazon QuckSight(以下、QuickSight)からプライベートサブネット内のAmazon RDS(以下、RDS)のデータベース、Amazon EC2内のデータベースへのアクセス、また AWS Direct Connect(以下、Direct Connect)を経由したオンプレミスのデータベースにアクセスして分析ダッシュボード、レポートを作成することが可能です。

なお本稿の情報は、2018年6月22日時点の以下のAWS公式ドキュメントをベースにしておりますが、最新の情報は設定前にご確認ください。

Amazon QuickSight: Amazon VPCを操作する

接続構成イメージ

以下で説明する手順を実行すると以下のようなイメージで構成されます。VPC内にあるプライベートサブネットの中にQuickSightアクセス用のセキュリティグループを定義することで、アタッチされるENI(Elastic Network Interface)経由でQuickSightが同一VPC内のデータベース(本例ではRDS)のあるプライベートサブネットに接続することが可能です。

図1. 構成イメージ(プライベートVPC内接続)

また上記のように、QuickSightアクセス用のセキュリティグループを構成することで、オンプレミス環境にあるデータベースに対しても、Direct Connect経由でアクセス可能(オンプレミスデータベースへのルーティングが可能である前提)になります。

図2. 構成メージ(オンプレミスへの接続)

 

設定手順概要

1.QuickSight用のセキュリティグループ作成

AWSのマネージメントコンソールから「VPC → セキュリティグループ」を選択し、「セキュリティグループの作成」ボタンを押し、QuickSight用ENIのセキュリティグループを作成します。

図3. QuickSightアクセス用のセキュリティグループ作成

 

2.作成したQuickSightアクセス用のセキュリティグループのインバウンドルール設定

ここで前の手順で作成したQuickSightアクセス用のセキュリティグループの「インバウンドルールを設定します。何故、インバウンドルールを設定するかというと以下のドキュメントの引用のように、QuickSight用のENI(ネットワークインターフェイス)にアタッチされているセキュリティグループの通信はステートフルではないため、本例のRDSからの戻りの通信に対する受信ルールを追加する必要があるのです。

引用:Amazon QuickSight: Amazon VPCを操作する

「ただし、Amazon QuickSight ネットワークインターフェイスにアタッチされているセキュリティグループはステートフルではありません。つまり、送信先ホストからの戻りトラフィックは自動的に許可されません。この場合、ネットワークインターフェイスセキュリティグループに Egress ルールを追加しても機能しません。したがって、明示的に承認するために、受信ルールをセキュリティグループに追加する必要があります。

図4. QuickSightアクセス用のセキュリティグループ設定上のポイント

よって、以下の様にQuickSight用のセキュリティグループのインバウンドルールを以下の様に設定します。

図5. QuickSightアクセス用のセキュリティグループのインバウンドルールの設定例

 

3.RDSのセキュリティグループの設定

次にRDSのセキュリティグループにQuickSightのセキュリティグループ経由のアクセスを許可する設定を行います。

AWSのマネージメントコンソールから「RDS → インスタンス」を選択し、該当のインスタンス名のリンクをクリックして、インスタンス詳細画面を表示します。

対象のRDSインスタンスのセキュリティグループを確認し、再度、マネージメントコンソールの「VPC → セキュリティグループ」からセキュリティグループのリストを表示し、RDSに割り当たっているセキュリティグループを選択します。

次に以下の様にRDSのセキュリティグループのインバウンドルールを追加設定(または既存ルール修正)します。通信ポートは該当インスタンスのデータベースの通信ポート(本稿の例ではPostgreSQLのデフォルトポートで5432)を指定します。ソースは、QuickSightアクセス用に作成したセキュリティグループを指定します。

図6. RDS用のセキュリティグループのインバウンドルールの設定例

 

4.QuickSightアカウント設定メニューからVPC接続定義を作成

マネージメントコンソールのサービスメニューから「QuickSight」を起動し、以下の様にアカウント設定メニューの「Manage QuickSight」メニューを選択し、「Manage VPC Connection → Add VPC Connection」をクリックします。

図7. VPC接続定義画面の起動

次の画面で以下の様にVPC接続定義画面が表示されるので、該当する情報を入力します。

図8. VPC接続定義の入力項目

 

入力名 入力値
VPC Connection Name (任意の名前)
Subnet ID QuickSightアクセス用のサブネットID
Security Group ID QuickSightアクセス用のセキュリティグループID

 

5.QuickSightのデータソースの定義

次にQuickSightのトップ画面に戻り、「Manage Data」をクリックします。

図9. データ管理画面の起動

次の画面で「New data set」をクリックするとデータベースの種別を選択する画面が表示されるので、「RDS」を選択します。

図10. 新規データセット定義画面の起動

 

次の画面でRDSを選択します。

図11. データセットとしてRDSを選択

5.QuickSightのビジュアライズで利用するデータソースを定義する

次に表示される画面でVPC接続定義を指定することでプライベートVPC内のアクセスが可能になります。以下の図の様に赤枠の「Connection type」に前の手順で作成したVPC接続を指定します。残りの必要な情報を入力後、「Validate connection」ボタンを押して、接続検証が成功するとデータソースにアクセス可能なので「Create data source」ボタンを押してデータソースを作成します。

図12. データソースの定義でVPC接続定義を指定

 

以上のステップでプライベートVPC内のデータソースのオブジェクトに対するアクセスが可能になるので、通常のQuickSightの操作でダッシュボード、レポートを作成していきます。

最後に

最新のAmazon QuickSightにより、パブリックIPアドレスが無いデータソースへのアクセスや、オンプレミス環境への専用線経由のデータソースアクセスが実現可能です。

今回の新機能をぜひお試し頂き、クラウドのビッグデータ活用の幅を広げることをご検討ください。皆様のビジネス、業務のお役に立てれば幸いです。

本稿記事の作成はソリューションアーキテクトの丹羽が行いました。