Liberty for JavaでサーバーのIPアドレスを確認したい
IBM Cloud (PaaS)上で動作するLiberty for Javaから外部のリソースにアクセスする際に、そのリソース側でIPアドレスによるアクセス制御を行いたい場合があります。このようなケースでは通常StaticaのようなProxyサービスを利用しますが、サーバー側からのアウトバウンドのリクエストの際に使用されるIPアドレスを一時的に確認したいケースもあるでしょう。
curlを用いて、IPアドレスを返すサービスを呼び出す
sshでcurlを用いて、IPドレスを返してくれるようなサービスを呼び出すことで、IPアドレスを確認することが可能です。
試しに以下の2つのサービスを呼んでみたところ正しいIPアドレスを取得できました。
http://ifconfig.io
http://ip.jsontest.com/
具体的には、以下のようなbxコマンドで確認可能です。
bx cf ssh appname -c "curl http://ifconfig.io"
Liberty for Javaのインスタンスが複数の場合には以下のように-iオプションでインスタンス番号を指定して確認します。
bx cf ssh appname -i 0 -c "curl http://ifconfig.io"
bx cf ssh appname -i 1 -c "curl http://ifconfig.io"
アウトバウンドのIPは固定で付与されているものではないことに注意する必要がありますが、一時的な動作確認などは上記方法を用いても問題ないでしょう。