Windows環境でSecure AgentにProxy対応をしてみた。

Proxy経由でないとインターネットに出れないWindowsインスタンスに対してIICS Secure Agentを導入しました。
2020.12.21

本エントリはクラスメソッド インフォマティカ Advent Calendar 2020のエントリです。

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の情報を記載します。

C:Program FilesInformatica Cloud Secure Agentppsgentcoreconfproxy.ini

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経由で行われることとなります。