AppStream 2.0のSQL DeveloperからRDSにアクセスしてみた
こんにちは、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の環境準備にはこちらのブログを参考にしました。
ユーザ作成
上記の再入門ブログを参照にしてユーザを作成してください。私は事前に作成したユーザがあったので手順を省略します。
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内の他のリソースにアクセスが必要なアプリケーションの場合も利用を検討出来そうですね。
この記事がどなたかの参考になれば幸いです。