ConoHaではVPSの他にPaaSのDBサーバーを借りることも出来ます。インスタンスとLANで接続するためにはネットワークの設定をしなければいけないのですが、だいぶ難儀して1ヶ月くらい悩んでいたので共有したいと思います。
このべんの解説ページやCoreOS公式リファレンスにも書いてあるのですっかり混乱してしまったのですが、どうやらゲートウェイ (Gateway=***.***.***.***
) を指定する必要がないようでした。
指定した状態でnetworkd
を再起動するとSSHのアクセスが一切出来なくなってしまうため、ひたすらイメージからインスタンスを再構築しながら確認してました。
[Match]
MACAddress=[shared-172-***-***-0-23のMACアドレス]
# インターフェース名が特定できているのであれば、Name=eth1などでも特に問題ない
[Network]
Address=[shared-172-***-***-0-23のIPアドレス/サブネットマスク]
[Route]
Destination=[収容リージョンのネットワークアドレス]
# 東京リージョン (tyo1) の場合は172.21.74.0/23
ファイル名はこちらの独断で決めていて命名規則完全無視なので、適宜自由に読み替えて.networkファイルを作成してください。作成後はsudo systemctl restart systemd-networkd
を実行して変更を適用します。
ip addr
を実行すると指定したIFにIPアドレスが割り当てられていることが確認できるかと思います。ping -c 3 private.***.tyo1.database-hosting.conoha.io
で疎通が確認できれば、コンテナからもDBサーバーにアクセスすることが出来るはずです。
この作業をするまでWANからDBにアクセスしていた人は要注意なのですが、LANからアクセスする場合にユーザーへ設定する接続許可ホストは、インスタンスに割り当てられているグローバルIPアドレスから、[shared-172---0-23のIPアドレス]へ変更になるので、忘れずに変更しましょう(現在はコンパネから変更できないのでユーザー作り直しになっちゃいますが)。