Blog Settings

セルフホストしているGhost CMSのBlogをIPv6にする

World Administrator
2023年11月12日
3 分で読めます
CloudflareProgrammingTech For YouDigital OceanGhost CMS
Photo by Ilija Boshkov / Unsplash

このブログはDigital OceanのDropletを利用して、ホストしています。

DNSなどにはCloudflareを利用しています。

結果から話せば、IPv6に変更しただけなのですが、応答性や読み込みがとても早くなりました。

設定も簡単ですので、おすすめしたいです。

Digital Oceanの設定

まずはDigital OceanでIPv6のアドレスを設定する必要があります。

以下の設定に従うだけです。

DropletにIPv6アドレスを割り当てる

Digital OceanのDropletにIPv6アドレスを割り当てます。

Digital OceanのDroplet管理画面から設定します。

最初からIPv4は割り当てられていますが、IPv6は無料のオプション機能です。

割り当てにはいったんDropletをOFFにする必要があります。

有効化したIPv6アドレスと、IPv6ゲートウェイを書き留めておきましょう。

OSでIPv6のアドレスを利用できるようにする

ここからは利用しているOSによって設定が変わってきますので、公式のドキュメントを参考にするといいかもしれません。

How to Enable IPv6 on Droplets | DigitalOcean Documentation
Enable IPv6 on a Droplet to gain access to its 16 configurable IPv6 addresses.

特にDropletのセットアップはいじっていないという場合はUbuntuが設定されていると思います。

私はUbuntu 22.04を利用しています。

  1. SSHでサーバーに接続する。
  2. Vimを利用して、/etc/netplan/50-cloud-init.yamlを編集する。コマンドとしてはvim /etc/netplan/50-cloud-init.yamlと実行すればよい。
  3. 以下のようにファイルを編集します。Vimではhjklがそれぞれ左上下右の移動キーです。編集はiまたはaによって編集モードに移動できます。入力ができたらEcsを押しましょう。:wqで保存および終了です。uでアンドゥ、Shift-rでリドゥできます。
  4. substitute_your_primary_ipv6_addressに書き留めたIPv6アドレスを、substitute_your_ipv6_gatewayに書き留めたIPv6ゲートウェイを書き換えるだけです。
  5. ネットワークの設定を反映させます。sudo netplan apply --debugを実行してください。
  6. 念のためOSごと再起動もします。rebootを実行してください。
  7. 再起動ができたら、正しく設定ができているか確認をします。ping6 2001:4860:4860::8888と入力し、実行してください。このコマンドはGoogleへIPv6で接続ができるかを確認しているコマンドです。
  8. 以下のように実行結果が表示されたら成功です。Ctrl+Cでコマンドの実行を停止してください。
  9. 何も表示されない、またはエラーなどの表示が出た場合は設定が適切に行われていません。設定を見直してください。
PING 2001:4860:4860::8888(2001:4860:4860::8888) 56 data bytes
64 bytes from 2001:4860:4860::8888: icmp_seq=1 ttl=57 time=3.16 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=2 ttl=57 time=2.79 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=3 ttl=57 time=2.85 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=4 ttl=57 time=2.83 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=5 ttl=57 time=2.88 ms
Copy
To exit, press q.
network:
    version: 2
    ethernets:
        eth0:
            addresses:
            - 164.92.68.109/20
            - 10.48.0.9/16
            - substitute_your_primary_ipv6_address/64
            match:
                macaddress: 86:4d:f9:5e:7b:d2
            mtu: 1500
            nameservers:
                addresses:
                - 67.207.67.2
                - 67.207.67.3
                - 2001:4860:4860::8844
                - 2001:4860:4860::8888
                search: []
            routes:
            -   to: 0.0.0.0/0
                via: 164.92.64.1
            -   to: substitute_your_ipv6_gateway
                scope: link
            -   to: default
                via: substitute_your_ipv6_gateway
                on-link: true
            set-name: eth0

Cloudflareを設定する。

DropletへのIPv4アドレスをAレコードで設定していると思います。

当該Aレコードを削除し、AAAAレコードにIPv6アドレスを入力して保存するだけです。

接続確認

あなたのブログに接続してください。

特に問題なく接続できれば成功です。

IPv6そのものに変更するだけでは速度に変化が起こるわけではないはずですが、私の環境では最も画像が多く表示され、CSSやJavaScriptの読み込みが多く、とても重たいはずのトップページが表示されるまでの速度が大幅に向上しました。

皆さんも是非IPv6への移行をご一考ください。