Windows環境でSecure AgentにProxy対応をしてみた。
本エントリはクラスメソッド インフォマティカ Advent Calendar 2020のエントリです。
- クラスメソッド インフォマティカ Advent Calendar 2020 - Qiita
- クラスメソッド インフォマティカ Advent Calendar 2020 | 特集カテゴリー | Developers.IO
IICSではSecureAgentのインストール対象としてLinux以外にもWindowsでの導入した環境にProxyを設定してみたいと思います。
環境構築する
Windows Serverを構築したいと思います。 今回はProxy経由での設定としたいので、Windows ServerはPrivate Subnetに配置をしています。 当然ですが、ProxyをPublic Subnetに構築しています。
https://gist.github.com/CM-Kajiwara/5afcd29aa848929abaef923959a95aea
なお、このテンプレートで構築したWindowsのインスタンスはPrivate Subnetに配置しているため、インターネット経由でのリモートデスクトップ接続は行なえません。 そのため、接続するためにはProxyのインスタンスからの踏み台経由、もしくはSSM経由でのログインが必要です。 今回のWindows インスタンスはSSM経由でログインできるためのRoleとEndpointの設定は行ってあります。 私は今回、以下のようなスクリプトを用意して、パスワードの復号化とSSMセッションを開始するといったことを行っていました。
instanceId="(SSM経由で入りたいWindowsのインスタンスID)" keyPath="(秘密鍵へのパス)" password=$(aws ec2 get-password-data --instance-id $instanceId --query 'PasswordData' --output text --priv-launch-key $keyPath --region ap-northeast-1) echo ${password} aws ssm start-session --target ${instanceId} --document-name AWS-StartPortForwardingSession --parameters portNumber=3389,localPortNumber=33890 --region ap-northeast-1
Proxyの設定を行う
上記のコマンド等を用いてWindowsにリモートデスクトップで入ります。
Windows環境にSecure Agentをインストールします。
Windows環境へのSecure Agentのインストールについては以下の記事を参考にしてください。
上記でインストール後、Secure Agent Managerを開きます。
ユーザー名とインストールトークンを入力する画面が出るのですが、このインスタンスはプロキシ経由でしかインターネットに出れないため、ここで入力してもタイムアウトになります。
そのため、以下のファイルにProxyの情報を記載します。
InfaAgent.ProxyHost=(ProxyのIPアドレス) InfaAgent.ProxyPort=(Proxyのポート番号) InfaAgent.ProxyUser=(認証Proxyのユーザー名) InfaAgent.ProxyPassword=(認証Proxyのパスワード)ド
認証Proxyのユーザー名・パスワードは必要に応じて入力してください。 不要な場合は空欄でOKです。
すでにSecure AgentがProxy情報が設定されていない状態で起動しているため、 Proxyの情報を反映させるためにO/Sを再起動させます。
再起動後、SecureAgent Managerを起動させ、ユーザー名とインストールトークンを入力するとIICSとの接続がProxy経由で行われることとなります。