AppStream 2.0のSQL DeveloperからRDSにアクセスしてみた

前回のブログで作成した環境を利用してAppStream 2.0にインストールしたSQL DeveloperからRDS for Oracleへアクセスする環境を立ち上げてみました。

こんにちは、AWS事業本部のニシヤマです。

最近AppStream 2.0を触る機会があったのですが、AppStream 2.0で公開するアプリから同じVPC内に構築したRDSへのアクセスを試してみました。

環境準備

前回のブログでDMSを利用してRDS間のデータ移行を試す環境を構築しました。今回はそのVPCにAppStream 2.0を立ち上げてRDSにアクセスができるか試したいと思います。

環境準備には前回のブログで参照したチュートリアルを利用してます。すでにデータの入っているソースRDSへAppStream 2.0環境を立ち上げてSQL Developerから接続出来るかためしていきます。

やってみる

AppStream 2.0の環境準備にはこちらのブログを参考にしました。

AWS再入門ブログリレー Amazon AppStream 2.0 編

ユーザ作成

上記の再入門ブログを参照にしてユーザを作成してください。私は事前に作成したユーザがあったので手順を省略します。

AppStream 2.0はストリーミングセッションが発生したユーザに対して月単位で$4.19のRDS SAL(Microsoft Remote Desktop Services Subscriber Access License)料金が課金されるので検証する際は注意してください。

イメージ作成

それではAppStream 2.0で利用するイメージを作成しますが、イメージを作成する場合はイメージビルダーインスタンスを起動し、そのインスタンスにアプリケーションをインストールしてユーザに公開する流れになります。

この作業が今回のキモになるので画像をつけて手順を紹介します。

イメージビルダーインスタンスの起動

それではまずはイメージビルダーインスタンスを起動していきます。OSには前回ブログのチュートリアルでも利用していたWindowsを選択します。今回はインストレーション・ガイドのSQL Developerシステムの推奨事項を参照しWindows 2012を利用したいと思います。

Launch Image builderをクリックします。

フィルタで条件を絞り込んでAppStream-WinServer2012R2-10-08-2021を選択しNextをクリックします。

次の画面でイメージビルダーインスタンスの名前と、インスタンスタイプを指定して、Nextをクリックします。

次のネットワーク設定画面では以下の情報を入力して、Nextをクリックします。

項目 入力値
Default Internet Access チェックを入れる
VPC DMSチュートリアルで作成したVPC
サブネット 任意のサブネット
セキュリティグループ DMSチュートリアルでEC2インスタンスにアタッチした「InstanceSecurityGroup」を含む物

最後に確認画面で問題なければLaunch Image builderをクリックします。

イメージビルダーインスタンスの起動が出来てステータスがRunningになるまで少々待ちます。

イメージ作成

ではイメージビルダーインスタンスにSQL Developerを導入していきます。起動したイメージビルダーインスタンスにを選択しConnectをクリックします。

ブラウザのタブが起動しますのでAdministratorでログインします。

少しするとリモートデスクトップと同じ画面が表示されます。

それではインストレーションガイドに沿ってSQL Developerをインストールしていきます。 デスクトップにショートカットのあるFireFoxを起動してOracle Technology Networkにアクセスします。今回はWindows 64-bit with JDK 8 includedを選択しました。

SQL DeveloperのZIPファイルをダウンロードします。

ダウンロードしたZIPファイルを展開します。

展開するパスはC:\Program Files (x86)\sqldeveloper-21.4.2.018.1706-x64を指定します。

接続出来るか確認のため展開したフォルダにあるsqldeveloperファイルを実行します。

SQL Developerが起動したら左側のConnectionsにある「+」マークをクリックしDMSチュートリアルの情報を参考にソースRDSの情報を入力していきます。(Nameを「Source RDS for Oracle」に変更しています)

入力が完了したらConnectをクリックすると接続が完了します。

SQLを実行してテーブルの確認ができました!前回のブログで利用したSPORT_DIVISIONテーブルのデータも確認できます。これでアプリケーションの導入はOKです。

あとはデスクトップにショートカットのあるImage Assistantを起動してSQL Developerを公開アプリケーションに登録してNextをクリックします。

確認のためSwitch Userをクリックし、Template Userに切り替えてSQL Developerを起動してして確認します。

あとはTemplate UserでもImage AssistantからSQL Developerを起動してRDSに接続して確認します。(接続確認は省略)

問題なければ再度Switch UserでAdministratorに戻って「Save settings」を行い次にTest Userで確認を行います。

最後にLaunchでアプリケーションの起動確認を行い、イメージ名を指定してDisconnect and Create Imageをクリックしてイメージ作成します。

アプリケーションの起動確認

イメージ名を指定

Disconnect and Create Imageでイメージ作成

少し経つとImage registryに先ほど作成したイメージが登録されました!

フリート作成とスタック作成

こちらの手順も省略します。前半で紹介した再入門ブログを参照にしてフリートとスタックの作成をしてください。

フリートを作成

スタックも作成

スタックとユーザを紐付け

こちらもユーザの詳細画面のActionからAssign stackで簡単にスタックとユーザを紐づけることが可能です。

やっと準備ができました。

ブラウザからアクセス

では準備できたのでブラウザからアクセスしてみます。ユーザ宛に届いたメールのURLと初期パスワードからアクセスしてください。

画面にSQL Developerのアイコンが表示されました!

クリックして起動してみます。

少し待つとSQL Developerの起動画面が表示されました!あと少し。

SQL Developerが起動しました!早速ConnectionsからソースRDSに接続してみます!

問題なくSQLも実行できました!

以上です!長かった。

まとめ

今回はAppStream 2.0を利用してVPCに作成したRDSへアクセスするアプリケーションをユーザに公開する方法を試してみました。 イメージを作成する際にユーザを切り替えるためAdministratorで作成してる時にはアプリケーションが起動するけど、ユーザを切り替えるとアプリケーションが起動しないなどのつまづいた点がありました。ただ、今回はセキュリティグループなどの作成は省略していましたが基本的には通常のEC2からRDSへアクセスする場合と同じようにルートテーブルやセキュリティグループの設定が適切であれば問題なくアクセスさせることが可能でした。

AppStream 2.0はユーザにアプリケーションのみを公開したいユースケースの場合に利用を検討するサービスとなりますが、VPC内の他のリソースにアクセスが必要なアプリケーションの場合も利用を検討出来そうですね。

この記事がどなたかの参考になれば幸いです。

参考