1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Application Migration Service (MGN)でプロキシを利用してポート制限を回避する

1
Posted at

はじめに

MGNを利用してオンプレミスにある仮想マシンを、プライベート接続されたVPCに移行するという案件がありました。

MGNには移行元環境と移行先VPCとの間にネットワーク要件があり、その要件を満たす必要があります。

しかし、社内ネットワークでポートに関する制限があり、AWS公式の構成では移行できないことが判明しました。

そこでプロキシを介することでポート制約を回避し、移行を実現することができました。

本記事では、MGNの検証で直面したポート制限の課題と解決法をご紹介します。

課題

社内のネットワーク制約で、オンプレミスからAWSへの通信で、TCP443は社内のプロキシを経由し、かつVPC内リソースのIPアドレスに対応するFQDNをAレコードとして社内のDNSサーバに登録しておき、そのDNSサーバで名前解決する必要がありました。

MGNでは、以下の通信を確保することが要件になっています。

1. 移行元サーバ ⇒ MGNサービスエンドポイント(TCP443)
2. 移行元サーバ ⇒ レプリケーションサーバ(TCP1500)

MGNエージェントはオンプレミスからAWSに通信するとき、「mgn.ap-northeast-1.amazonaws.com」(東京リージョンの場合)というドメイン名でアクセスしようとしますが、社内DNSサーバで名前解決ができないため、アクセスに失敗します。

解決法

詳細は控えますが、社内ルールでは、TCP22,80,443以外のポートへの通信は、IPアドレス直接指定でアクセスできることになっていました。

そこで、移行先VPC内にSquidのプロキシサーバを立て、そのプロキシサーバを経由して、MGNサービスにアクセスする構成としました。

image.png

そのうえで、MGNエージェントを実行するコマンドで次のオプションを指定しました。Squidはポート3128で待ち受けているので、3128を指定しています。

--proxy <プロキシサーバのプライベートIPアドレス>:3128

MGNのTCP443通信では必ずしも移行元サーバとMGNサービスエンドポイントとで直接通信する必要はなく、プロキシ経由での通信が可能です。

プロキシ経由にすることで、社内制約のポート制限を回避できるだけでなく、VPC内で名前解決すればよいので、社内の独自ドメイン名を使用する必要がなくなります。

ただし、1つ制約があります。

MGNエージェントを実行するとき、実行処理のなかでJavaを利用するのですが、OSにJavaがインストールされていないと、MGNエージェントが内部でJavaの実行環境をバンドルします。

バンドルされたJavaの実行環境の場合、MGNエージェント実行コマンドのオプションでのプロキシサーバの設定がJavaに反映されません。

そのため、プロキシ経由でMGNサービスエンドポイントにアクセスする構成の場合は、あらかじめ移行元サーバにJavaをインストールしておく必要があります。

おわりに

移行案件で移行元の社内ネットワークの制約でポート制限がある場合は、このようにプロキシを介することでいったん異なるポートに接続して移行先VPC内に入り、そのプロキシからMGNなどのAWSサービスエンドポイントにアクセスできることがあります。

MGNによる移行を実施するときは、ぜひ参考にしてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?