Azure Database for MySQLに自分のグローバルIPアドレスから接続したいというとき、グローバルIPをCMANで確認をしていました。 さすがに面倒になって、何か良い方法がないかなと思ったら、グローバルIPアドレスを返却してくれる様々なサービスがあることを知りました。
本当に色々あるのですが、出自がはっきりしているのは例えばAWSのサービス。 以下のコマンドでシンプルにグローバルIPが返却されます。
$ curl https://checkip.amazonaws.com/
ローカルコンピュータのパブリック IP アドレスが必要になります。このアドレスはサービスを使って取得できます。たとえば、次のサービスが提供されています。http://checkip.amazonaws.com/ または https://checkip.amazonaws.com/。
これを使うことにより、以下のようにすればグローバルIPが変わったら勝手にAzure Database for MySQLのファイアウォールが変更される。
$ terraform apply -var="client_public_ip=$(curl https://checkip.amazonaws.com/)"