Privateな通信しかしないEC2インスタンスにWorkSpacesでログイン

記事タイトルとURLをコピーする

こんにちは。技術3課の森です。
以前、MacBookAirを使っていたのですが、Serverworksへジョインするのに、子供へ譲渡しました。ハードカバーをつけてシールをたくさん貼っていたのですが、先日、子供が新しいハードカバーを購入し、「シールは貼りません」と宣言されて少し残念に思いました。父はこれからもシールを貼り続けると心に誓った日でした。

はじめに

PrivateなSubnetにEC2インスタンスを起動して、そのPrivateなSubnet内しか通信しないことなんてないでしょうか?
例えば、インスタンスに問題があり、他のネットワークに影響を受けない状態にした上で、インスタンスを隔離して調査をする場合に役立ちます。
また、WorkSpacesとEC2インスタンスの間はRDPなどでログインするため、ファイルコピーなどは可能になりますが、WorkSpacesとローカルPCとの間では専用アプリもしくはウェブブラウザ経由となるため、ファイルコピーなどができない状態となり、もし問題があるファイルを誤ってコピーすることもないため、ローカルPCに及ぶことはありません。


構成図は以下の通りです。かなりシンプルですね。
SimpleADを使うので2つのSubnetを作っています。

環境構築

VPC/Subnet/EC2

既に、VPCのPrivate SubnetにはWindowsのEC2インスタンスが存在するところから進めますので、省略します。

WorkSpaces

簡単に説明するとSimpleADを作ってWorkSpacesをLaunchします。

WorkSpacesを作り始めます

まずはメニューから「WorkSpaces」をクリックして、「Get Started Now」をクリックしてください。

セットアップ方法の選択

今回は、Simple ADを作ってから、WorkSpacesを作りますので、「Advanced Setup」の「Launch」をクリックします。

Simple ADの選択

「Simple ADの作成」をクリックします。

ディレクトリの詳細

必須入力項目を全て、入力してください。
利用状況によりますが、「ディレクトリのサイズ」は「スモール」で十分です。
また、VPCは先ほど構成で書いたVPC/Subnetを選択してください。注意点としては、2つの異なるアベイラビリティゾーンで作成したSubnetが必要になります。
入力/選択が完了したら、「次のステップ」をクリックします。

Simple AD作成前の確認

ここで内容に問題ないか再度確認して、問題なければ、「Simple ADの作成」をクリックします。

Directoryの確認とWorkSpacesの作成へ

「Simple ADの作成」をクリックすると以下の画面に遷移し、しばらくすると「Status」が「Active」となります。「Status」が「Active」になるのを確認したら、左端の「WorkSpaces」を選択してください。

WorkSpacesの選択

「Launch WorkSpaces」をクリックします。

Directoryの選択

先ほど作成した、Simple ADを選択し、「Enable Amazon WorkDocs」は「No」にします。今回はWorkDocsを利用しません。選択が終わると「Next Step」をクリックします。

ユーザの選択

「Create New Users and Add Them to Directory」で「Username」/「First Name」/「Last Name」/「Email」を入力し、「Create Users」をクリックします。 すると一番下に入力した内容が表示されます。問題なければ、「Next Step」をクリックします。

WorkSpacesで使うOSの選択

ここでは特に意識せずに、Windows7の日本語版を利用することとします。以下のようになっているかを確認し、問題なければ、「Next Step」をクリックします。

RunningModeの設定など

RunningModeですが、利用時間によってはAlwaysOn/AutoStopを考える必要があります。詳しくは、こちらをご確認いただけるとわかりやすく書かれております。
今回は、このブログを書くための検証で、利用時間も少ないことから、「AutoStop Time」を選択し、「1」時間を選択しています。
そのほか、WorkSpacesのディスクを暗号化するやタグを設定するなどがありますので、利用状況に応じて設定していただければOKです。
問題なければ、「Next Step」をクリックします。

WorkSpacesの起動

これまで設定した内容で問題ないかを再度確認していただき、問題なければ、「Launch WorkSpaces」をクリックします。

WorkSpacesのステータス確認

WorkSpacesをLaunchすると一定時間かかります。Statusが「PENDING」から「AVAILABLE」になるのを確認してください。

動作確認

これでWorkSpacesの作成が完了しました。この後、WorkSpacesに接続するためのアプリケーションのインストールが必要になります。

メールの確認

Amazon WorkSpacesを作成するときに入力したメールアドレス宛にメールが届いています。そこに記載されているダウンロードリンクをクリックします。

認証情報の入力

Amazon WorkSpacesを作成するときに入力したユーザ情報のパスワードを入力して、「ユーザーの更新」をクリックします。

クライアントのダウンロード

利用されているOSによってクライアントインストーラが異なりますので、ご利用環境に応じたインストーラを選択してください。
今回は「Mac OS X」をダウンロードします。

クライアントのインストール

クライアントのダウンロードが終わりましたら、インストールしてください。インストールは指示に従い、進めていただいて問題ございません。

クライアントの起動

クライアントのインストールが終わったので、起動させます。するとregistration codeの入力を求められます。registration codeは先ほどのメールの「登録コード」の中に書かれた文字列になりますので、コピペして、「Register」をクリックします。

クライアントへログイン

次に、ユーザ名とパスワードを入れて「Sign In」をクリックします。

Amazon WorkSpacesへログイン完了

これで、WorkSpacesにログインができました。念のため、「ipconfig」コマンドを実行し、該当VPCのCIDR内のIPアドレスが取得できていることが確認できました。

Privateな通信しかできないEC2インスタンスにログイン

これで、WorkSpaces側の準備ができましたので、実際にWindowsのEC2インスタンスにログインします。

リモートデスクトップ接続の起動

「Windowsメニュー」→「アクセサリ」→「リモート デスクトップ接続」をクリックします。

リモートデスクトップ接続でログイン

ログイン先は、「172.16.1.12」で、ユーザを「Administrator」でログインします。

最後に通信確認

ログインはできましたので、外部と通信ができないことだけを確認します。
全てタイムアウトしてますね。これで、予定通りの環境ができたことになります。

補足

今回はログインするサーバをWindowsとしていましたが、Linuxなどの場合は、WorkSpacesにTeraTermやPuttyが必要になります。 ただ、プライベートな環境にしていますので、S3のエンドポイントを取得しておき、バケットにモジュールをおいて、ダウンロードしてインストールするなどの検討が必要になります。

さいごに

今まで通信を絞ったりして、クローズドな環境を作ってたかと思いますが、このようなことができると作業も少し楽になりますね。
また、WorkSpacesを使うことで、問題があるインスタンスからの影響を受けないため、かなり有効的であると思います。
WorkSpacesは使ってみると意外と面白いので、そのあたりもまたブログに書いていければと思います。