LightsailをIPv6オンリーにしたらLet's Encryptで証明書の更新ができなくなってた

先日、LambdaからIPv6でアクセスできるようにする で書いたとおり、IPv4アドレス課金を避けるためにLightsailをIPv6 Onlyのインスタンスにしていました。 LightsailをIPv6/IPv4デュアルスタックからIPv6 Onlyにするには、一度停止した上でスナップショットを作成し、スナップショットから新しいインスタンスを作るだけで簡単にできました。

が、数日後Let's Encryptで証明書が更新できていないことに気がつきます。 確認してみると、Let's Encrypt自体はIPv6で使えるものの、Route53のAPIの呼び出しに失敗していることがわかりました。(実際に route53.amazonaws.com をnslookupで AAAA レコードを引くと No Answerになります)

対応としては、いくつか考えられます。

うちは代々グローバルIPを持たない環境が続いていたため、リモートアクセスの中継拠点としてさくらのVPS上にVPNを構築していました。 LightsailからのIPv4トラフィックは、このVPNを経由してアクセスするように設定することでRoute53 APIを直接呼び出せるようにしました。

IPv6に進んでいくのは良いことなのですが、まだ課題が多そうです。