たぶん動く...

多分GIS系の人。あくまで個人的見解であり、所属団体を代表するものではありません。

AdGuard HomeをEC2で稼働させる (IPv6)

前回の記事ではAdGuard HomeをAzure VM上で稼働させました。稼働開始から約3か月が過ぎ、Certbotで導入したSSL証明書の期限近づいてきたのでこの際より安い価格のコンピューティングサービスを提供しているAWSに乗り換えます。さらなるコスト削減を目的としてIPv4を使用しない、IPv6のみで稼働させます。

月額費用の比較

2024年2月 1月でAdGuard Homeの維持費がいくらだったか見てみます。

サービス 料金(円/月)
VM (Standard B1ls) 698.9
VMディスク (Standard SSD LRS) 427.66
パブリックIPv4アドレス Static Public IP 513.98
合計 1737.56

VMディスクが30GBあるのでそこでかかってしまってますね... あとグローバルIPアドレスの維持費も高い...

AWSで稼働させる際には、以下の設定で組みたいと思います。ひとまずネットワーク転送量は無視します。またIPv4は使用しません。

サービス 想定料金(円/月)
EC2インスタンス (t3a.nano) 667.5
EBS (gp3) 8 GB 115.5
合計 783

※ 1$ = 150円換算

t4g.nanoでもいいのですが、CloudWatchとかログ収集ツールも動かしたいので余裕をもたせるためにt3a.nanoを選択しました。 現在の半額くらいの値段で稼働できる??? これなら費用対効果が期待できそうです。

VPCの設定

IPv6での送信/受信ができるようにVPCの設定を追加します。 こちら を参考にして、IPv6専用のサブネットを作成しました。筆者の場合は、ルートテーブルに Egress Only インターネットゲートウェイを使用しているため、これに追加してIPv6で送受信できるように専用のルートテーブルを作成しました。

VPC内の通信フローは以下のようなイメージです。

IPv6の割り当てについて

IPv4の場合、動的割り当てだと、EC2インスタンスを停止、開始するたびに新しいIPv4アドレスが割り当てられます。 IPv6の場合はどうでしょうか? インスタンスを終了しない限り、同じアドレスを使用することができるようです。

IPv6 アドレスは、インスタンスの停止して起動、または休止して起動する際には保持され、インスタンスの終了時にリリースされます。IPv6 アドレスは、別のネットワークインターフェイスに割り当てられている間は再割り当てできません。最初に割り当てを解除する必要があります。

Amazon EC2 インスタンスの IP アドレス指定 - Amazon Elastic Compute Cloud

AdGuard Homeの導入

前回と同様の手順でAdGuard Homeを導入します。 AdGuard HomeをAzure VMで稼働させる - たぶん動く...

1か月後くらいに見積もりと実績を比較してみたいと思います。

参考文献

VPC に IPv6 サポートを追加する - Amazon Virtual Private Cloud

Amazon EC2 インスタンスの IP アドレス指定 - Amazon Elastic Compute Cloud

AWS EC2をIPv6のみ(パブリックIPv4アドレスなし)で作ってssh接続する #AWS - Qiita