概要
ここ数週間、Amazon WorkSpacesで開発も含め全ての業務を行っております。
最近、WorkSpacesをいろいろな会社が全社で導入というような話も聞いていたので、抵抗はなかったのですが、
WorkSpacesを使用しての開発事例があまりWebにないので、そこら辺が心配でした。
だがしかし、結論からいうと
めちゃくちゃ快適です!
使用しているスペックは以下です。
バンドル | 月額料金 | ハードウェア構成 |
---|---|---|
スタンダード | 47 USD | 2 vCPU、4 GiB メモリ、80 GB ルートボリュームストレージ、50 GB ユーザーストレージ |
社内システムにアクセスする都合上、IPアドレスがあると便利なのでNATゲートウェイを作成し、そこにEIPをつけました。
そうすることで、同じVPC内のWorkspacesは、社内システムにアクセスできるようになります。
下記を参考にNATゲートウェイをセットアップしました。
Simple AD ディレクトリの NAT ゲートウェイ
開発時は、EC2インスタンスとWorkspacesをマウントし、エディタはIntelliJ IDEAを使用し開発しています。
JetBrains系のIDE(IntelliJ, PhpStormなど)は、ネットワークマウントを推奨していません(おそらく速度が遅くなるため)。
主にSymfony2を使用して開発しています、Symfony2はそこそこヘビーなフレームワークだと思いますが、開発していて速度に問題は感じないです。
以下、注意事項やハマった部分を書いていきます。
注意事項
Workspacesを使用していて、絶対にやってはいけないことがあります。
それはイーサネット2を無効にすることです。
ネットワークに問題が生じた際、アダプタをリセットすると直ることがあるので、一回無効にしました。
次の瞬間、Workspacesが操作できなくなりました...
実はイーサネット2はクライアントがWorkspacesを操作するためのネットワークだったのです。
この後、コンソールからWorkspacesを再起動しても何をしてもログインできなくなってしまったので、
結局、Workspacesを作り直すことで対処しました。幸い、まだ何もセットアップしてなかったので助かりましたが...
ハマったところ
PHPでステップ実行でデバックしたい時、IntelliJでXdebugを使用しています。
Xdebugを使用するためには、PHPが動いているサーバーからIDEを開いているクライアントに通信しなければいけません。
以下の図がわかりやすいです。
PhpStorm から Vagrant VM の PHP アプリケーションをリモートデバッグする(Web & CLI)
私の場合、サーバーがEC2でクライアントがWorkspacesです。
Xdebugを設定した後、実際にXdebugを動かしてみると、EC2からWorkspacesに繋がらない。
逆方向はつながるので、WorkspacesのファイアーウォールでXdebugで使用するポートを明示的に開放しても全く繋がらないと
頭を抱えていたところに、最近ネットワーク周りでずっと助けてもらっている辻先輩が一言。
「WorkspacesのNICのセキュリティーグループってどうなってます?」
今までNICにセキュリティーグループがあることすら知らなかった私は、WorkspacesのNICのセキュリティーグループを見ました。
見たらなんとインバウンドに何も設定されていなかったのです!
インバウンドを設定したら無事Xdebugが動きました。
まとめ
今のところ、Amazon WorkSpacesを普通の物理マシンと遜色なく使用できています。
みなさんも是非使ってみてください!
投稿者プロフィール
最新の投稿
- AWS2021年12月2日AWS Graviton3 プロセッサを搭載した EC2 C7g インスタンスが発表されました。
- セキュリティ2021年7月14日ゼロデイ攻撃とは
- セキュリティ2021年7月14日マルウェアとは
- WAF2021年7月13日クロスサイトスクリプティングとは?