カテゴリー: 知識

知識に関する内容を記載する
– IT知識
– 哲学
– 読書記録
– お金

  • 【WordPress】【TS】【Jetpack】【2026年度版】セーフモードが有効化されました の解決法をまとめる。

    【WordPress】【TS】【Jetpack】【2026年度版】セーフモードが有効化されました の解決法をまとめる。

    about this page(このページについて)

    【WHY】このページの目的

    • WordPressサイト(AWS Lightsail / Bitnami環境)でJetpackの「セーフモードが有効化されました」というエラーが発生した際の原因と、その根本的な解決手順をまとめます。

    【WHAT】このページで行うこと

    • Jetpackがセーフモードになってしまう原因(ドメインとIPアドレスのURL曖昧さ)を解説し、Apacheの設定変更と .htaccess を活用した「IP直アクセスのブロック」および「WordPressパーマリンクの維持」を両立させる手順を解説します。

    【WHO】このページの対象読者

    • AWS LightsailのBitnami環境でWordPressを運用している方
    • Jetpackのセーフモードエラーに悩んでおり、確実なアクセス制限を行いたい方

    【HOW】どのようにして目的を達成するのか

    • WordPress側で正しいURL(WP_HOME / WP_SITEURL)をドメインに固定する。
    • Apacheのバーチャルホスト設定(AllowOverride)を見直し、.htaccess を有効化する。
    • .htaccess にて「ドメイン名以外のアクセス(IP直打ちなど)」を403エラーで弾きつつ、WordPressのパーマリンク構造を維持する設定を行う。

    はじめに

    WordPressの管理画面で下記のようなエラーが発生するようになりました。

    セーフモードが有効化されました

    このエラーを解決し、WordPress側の設定をあるべき状態に移行します。

    エラー原因と解決策(見込み)

    このエラーの原因としては、IPによる直アクセスを制限していないため、
    jetpack側が「sattva-improve.comとIPのどちらが正しいドメインなのか?」で悩んでしまっているようでした。

    Jetpack側には「sattva-improve.comが正しいよ。」と教えてあげてから、
    Apacheの設定を変更してIPによるアクセスを制限していきます。

    解決手順

    1. 正しいURLの提示

    セーフモードが有効化されました

    この画面の左側の「設定を移動」をクリックして、ドメイン側が正しいURLであることを提示してあげてください。

    2. IPによるアクセスの禁止

    2-1. .htaccessを有効化させるための下準備

    Bitnami環境のデフォルト状態では、.htaccess が無視される設定になっているため、まずは .htaccess が機能するようにバーチャルホストの設定を変更します。

    ※今回の環境(Apache 2系)では、以下の設定ファイルを編集しました。

    sudo vim /opt/bitnami/apache2/conf/vhosts/wordpress-https-vhost.conf

    (※参考: Lightsail|WordPress – bitnami|.htaccessを有効化する方法)

    対象のディレクトリ(/opt/bitnami/wordpress)に対して AllowOverride All が設定されていることを確認(または追記)します。

      <Directory "/opt/bitnami/wordpress">
        Options -Indexes +FollowSymLinks -MultiViews
        AllowOverride All←ここを変更してください。
        Require all granted
        # BEGIN WordPress fix for plugins and themes
        # Certain WordPress plugins and themes 

    設定後、構文テストとApacheの再起動を行います。

    sudo apachectl configtest
    sudo /opt/bitnami/ctlscript.sh restart apache

    2-2. .htaccess にIP制限とパーマリンク設定を記述する

    DocumentRoot(/opt/bitnami/wordpress)を開き、「IP直アクセスの拒否」と「WordPressのパーマリンク(ルーティング)維持」を両立させるための記述を行います。

    vim /var/www/html/.htaccess

    <IfModule mod_rewrite.c>
    RewriteEngine On
    
    # 1. 指定ドメイン(sattva-improve.com 等)以外のアクセス(IP直打ちなど)を403で弾く
    RewriteCond %{HTTP_HOST} !^(www\.)?sattva-improve\.com$ [NC]
    RewriteRule ^ - [F,L]
    
    # 2. WordPressのパーマリンク設定(サブページを正常に表示させるためのルール)
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    これで、IPによる直アクセスが制限されるはずです。

    3. WordPress側のWP_SITEURL, WP_HOMEの設定

    Bitnamiのデフォルトではwp-config.php 内で WP_HOME や WP_SITEURL が動的(アクセスされたホスト名やIPを拾う形)に指定されています。

    これを明示的にドメイン名で固定します。

    sudo vim /var/www/html/wp-config.php
    #define( 'WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/' );
    #define( 'WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/' );
    define( 'WP_HOME', 'https://3.25.88.70/' );
    define( 'WP_SITEURL','https://3.25.88.70/' );

  • 【TS】【Windows 11】公共Wifiに接続ができなかったので、IPを直指定して無理やり接続をした話

    【TS】【Windows 11】公共Wifiに接続ができなかったので、IPを直指定して無理やり接続をした話

    about this page(このページについて)

    【WHY】このページの目的

    • 同じような問題にぶち当たった人のためのハウツー

    【WHAT】このページで行うこと

    • 今回の問題の解決策に関して簡単にまとめる

    【WHO】このページの対象読者

    • 公共Wifiに接続ができなくて困っている方

    【HOW】どのようにして目的を達成するのか

    • AIのチャット履歴を元にブログ記事を生成してまとめる

    はじめに

    妻が金曜日から土曜日にかけて泊まりがけで遊びに行っていたため、そのお返し(?)として「日曜日は図書館で集中して勉強してきていいよ!」というありがたい許可をもらいました。

    せっかくもらった貴重な一人時間。気合を入れて図書館へ向かい、お気に入りの席を確保して「さあ勉強するぞ!」とパソコンを開いたのですがスマホ(Android)は問題なくネットに繋がるのに、Windows 11のパソコンだけがなぜかインターネットに接続できませんでした。

    試行錯誤の末になんとか接続を確立することができました。
    今回はその原因と、解決した手順を詳しく解説します。

    忙しい人のための3行まとめ

    • スマホで接続はできているのに、PCで接続ができなかった。
    • 原因は、DHCP関連のエラーで、IPの割り振りがされていなかった。
    • スマホ側の接続情報を頼りに手動でIPを取りに行った

    原因の特定

    Wi-Fiの電波自体には接続できているものの、インターネット通信ができない状態でした。
    そこでWindows11側のネットワークの接続診断を行ったところ、「DHCPサーバーが見つかりませんでした」 というエラーが表示されました。

    ※ DHCPサーバーとは、簡単に言えばIPを割り振ってくれるサーバーのことです。

    DHCPサーバが見つかりませんでした。ネットワーク接続の品質が低い可能性があります。

    通常、Wi-Fiに接続するとルーター(あるいはDHCPサーバー)からパソコンへ自動的にIPアドレスが割り当てられます。
    しかし今回は、ルーターからの応答が得られず、IPアドレスの取得に失敗していました。

    実際にWindowsのネットワーク設定を確認してみると、IPアドレスが 169.254.122.10 になっていました。

    この「169.254.x.x」というアドレスは、自動取得(DHCP)に失敗した際にWindowsが仮で割り当てる「APIPA」という状態であり、正常にWi-Fiネットワークに参加できていないことが原因だと特定できました。

    どうすれば解決するのか?を考える

    一方、手元のスマホ(Android)は同じフリーWi-Fiに正常に接続できており、IPアドレスを確認すると 192.168.0.xxx が割り当てられていました。

    つまり、ルーターやネットワーク自体は稼働しているものの、何らかの理由でWindows端末だけが自動でIPアドレスを取得できていない状態です。

    であれば、自動取得(DHCP)に頼るのをやめ、正常に接続できているスマホのネットワーク情報を参考に、PC側に手動でIPアドレス(固定IP)を設定してしまえば接続できるのではないか? と考えました。

    スマホ側の設定からPC側に反映をする

    正常に通信できているスマホの「ゲートウェイ(ルーターのアドレス)」や「DNSサーバー」の情報をそのまま借りて、PC側のIPアドレスをスマホと被らない数値で直接入力します。

    具体的な方法

    スマホ側の設定の確認

    まずは、問題なく接続できているスマホ(Android)のWi-Fi詳細画面を開き、以下の情報をメモします。

    • IPアドレス: 192.168.0.xxx
    • ゲートウェイ(ルーター): 192.168.0.1
    • DNSサーバー: 192.168.0.1(またはプロバイダ等のDNS 61.122.116.147 など)

    PC側の設定

    スマホで確認した情報を元に、Windows 11側で手動(固定IP)設定を行います。

    1. 「設定」>「ネットワークとインターネット」>「Wi-Fi」 を開きます。
    2. 接続中のフリーWi-Fiのプロパティを開き、「IP 割り当て」 の横にある 「編集」 ボタンをクリックします。
    3. 編集画面で 「自動 (DHCP)」から「手動」 に変更し、「IPv4」をオン にします。
    4. 以下の通りに各項目を入力します。
    項目入力内容補足
    IP アドレス192.168.0.yyyスマホ(.xxx)と被らないよう、末尾の数字を変更します
    サブネット プレフィックスの長さ24サブネットマスク 255.255.255.0 に相当します。

    ※ サブネットマスクとは、どこまでがネットワークのアドレスで、どこからがホスト(IPが振られている端末)のアドレスか?という情報です。
    ゲートウェイ192.168.0.1スマホに表示されていたゲートウェイIPを入力します

    ※ ゲートウェイとは、インターネットに接続をする際に必ず通る出口(あるいは入り口)のことです。
    優先 DNS サーバー192.168.0.1スマホに表示されていたDNSを入力します。

    ※ DNSサーバーとは、IPとドメインを解決する際に聞きに行くサーバーのことです。
    代替 DNS サーバー61.122.116.147表示されていたもう一つのDNSがあれば入力します

    「保存」 をクリックし、ブラウザを開いて接続できるか(あるいはログイン・規約同意画面が表示されるか)確認します。

    まとめ

    なぜPCだけDHCPがうまく動かなかったのか?は不明ですが、ちょっとしたネットワークの知識があるとこのようなトラブルシューティングにも対応できるようになるので、勉強を頑張ろう と思いました。

    あとフリーWifi使うときには必ずVPNつなぎましょうね!

  • 情報や思考の[整理]に関して

    情報や思考の[整理]に関して

    about this page(このページについて)

    【WHY?】: なぜ書くのか?

    • 整理に関するメソッドを明確にして、今後の人生で計画や思考を行う際の指針とする。

    【WHO?】誰に向けて書くか?

    • 自分自身
      • ビジネスパーソン
      • 目的に向けて前に進めていない人

    【WHAT?】 何を書くか?

    • 書籍に記載されていた[整理]に関する方法論を抽出し、自分自身のメソッドとマージをする。

    【HOW?】 どのように書くか?

    • [終わりから考える]先に、全体の構成を決めておき、肉付けを行う。

    はじめに

    私の実家は禅宗のお寺です。
    私なりの解釈ではありますが、「シンプルに生きよ」というのが「禅」の基本的な教えだと考えています。
    しかし、私の実家は「モノ」や「しがらみ」が多く、私が思う「禅」とはけはなれてしまっています。

    私は「シンプル」なものが好きです。
    そして、情報過多の社会の中で「シンプル」に生きる秘訣はこの投稿でまとめた「整理」にあると考えます。

    この投稿を禅僧であった父へと送りたいと思います。

    [整理] = [仕分け]

    整理とは、一言で言うと「”要”と”不要”を仕分けること」です。
    まずは、この「仕分ける」という行為の恩恵について考えていきます。

    「仕分ける」ことの恩恵

    「パレートの法則」という法則があります。
    別名[80:20の法則]とも呼ばれており、簡単に説明をすると
    「わずか20%の要因が、全体の80%の結果を産み出す。」という法則です。

    もしも、「仕分ける」ことを軽んじて作業を開始してしまった場合、
    作業時間の80%を「ほとんど結果を産み出さない80%の要素」に対して使用することになります。時間や集中力を無駄にしてしまうでしょう。
    まずは「仕分ける」ことで「重要な20%の要素」に対して、時間や労力を使うことができるのです。

    [整理]の手法

    この章では「整理」の具体的な手法について考えていきます。
    先述した通り、「整理」とは、「”要”と”不要”を仕分けること」です。
    基本的な考えとしては、「必要なものを抽出する」ではなく「不要なものを排除する」にフォーカスを当てていきます。

    コラム: 「捨てること = 苦しい」

    「創ること」よりも「捨てること」は苦しく、労力が必要です。

    以下のような例です。

    • 物は、「買う」時は楽しい、「捨てる」時は苦しい。
    • 子供の写真は、「撮る」のは楽しい、「削除する」のは苦しい。
    • 文章は、「書く」のは楽しい、「消す」のは苦しい

    生きている限り、人間は「モノ」や「執着」を集め続け、何かを産み出し続けます。仏教用語で言う、「集諦」です。
    「創ること」は容易く、「捨てること」は苦しいのは世の常かもしれないですね。

    具体的な整理方法

    前段がかなり長くなってしまいましたが、具体的な「整理」の方法について紹介をしていきます。

    整理については、「DDC」(あるいはD2C)という方法を提案します。

    • 定義する(DEFINE)
    • 廃棄する(DISCARD)
    • 分類する(CATEGORIZE)

    【DEFINE】定義する

    まず、「定義する(DEFINE)」です。

    このステップでは「不要なもの」について定義をします。
    「仕分ける」すなわち「不要なものを切り捨てると判断する」ための一つの方法として、 「不要」の軸をきちんと持つことが大切です。
    この「不要」の軸がしっかりしていれば、案外すんなりと苦しむことなく捨てることができます。
    先に挙げた通り、「捨てる」という判断はとてもエネルギーのいることです。
    自分の決めた「不要」の軸に従って80%を捨て、重要な20%に対して、そのエネルギーを遣うべきです。

    【DISCARD】廃棄する

    次のステップは「廃棄する(DISCARD)」です。

    このステップでは、軸に従って「不要」と判断したものを廃棄していきます。

    廃棄する際は、いきなり削除してしまうのではなく、
    一時置き場を用意しておくと良いでしょう。
    (ただし、この一時置き場は最後まで終わったら必ず削除しましょう。)

    また、廃棄する順序としては、「思い入れのないもの」、「明らかに価値のないもの」から対応をしておくと良いです。

    【CATEGORIZE】分類する

    最後のステップは「分類する(CATEGORIZE)」です。

    このステップでは、自分で決めた軸に従って【分類】を行い、整頓して入れ直しましょう。

    前の手順の【廃棄】の最中に、大枠のカテゴリーは頭の中で整理できていると思うので、先に箱(置き場)を準備して、放り込むのが良いです。

    分類に関するアイディア

    「分類する」と一言に言っても、「軸」がなければ分類ができないと思います。
    この章では、「分類」に関するアイディアを記載します。

    「時間」による分類

    1つ目は、「時間」による[分類]です。
    業務や家事などのタスクの整理に有効なアイディアになります。

    具体的には「日次」, 「週次」, 「月次」、「年次」の4つの軸で分類を行います。
    タスクだけでなく、モノやPCのディレクトリ、ファイルにも活用することができるでしょう。

    例: PCのファイルの整理:

    • 毎日使うファイル: デスクトップに配置する
    • 毎週使うファイル: マイドキュメントに配置する
    • 毎月使うファイル: クラウドに配置する
    • 毎年使うファイル: クラウドにzip化して配置する
    「大項目、中項目、小項目」による分類

    2つ目のアイディアは「大項目、中項目、小項目による分類」です。
    何から手を付けたりいいのか分からない時にこのアイディアを使用してください。

    方法としては、「まずは大きく分類」を行い、
    そこから「中項目」、「小項目」と細分化していきます。

    私の本業はシステムエンジニアなのですが、テスト仕様書を作成するときにはこの整理法を使用します。
    まずは、目に見える「画面」や「利用者」による分類(大項目による分類)を行った後に、「機能」による分類(中項目による分類)、最後に分岐などのパターンによる分類(小項目による分類)という風に整理を行っていきます。

    例: テスト仕様書の作成:

    • 大項目による分類: 画面、利用者
    • 中項目による分類: 機能、ユースケース
    • 小項目による分類: パターン

    整理のために役立つツール

    最後に整理を行う上で役に立つ技術やツールを紹介します。

    markdown記法

    markdown記法とは、ITの世界ではデファクトスタンダードとなっている記法の一つです。
    簡単に構造化した文章を書くことができる記法のため情報や頭の整理役に立ちます。

    先述した大項目、中項目、小項目の手法で整理するときに使用するとよいです。
    くわしい書き方は、Webで検索するとよいです。

    スプレッドシート

    スプレッドシート(ソフトウェア)とは、行と列に分かれたセルに対して数字や文字などのデータを入力するソフトウェアの総称です。
    有名なところで言えばExcelです
    ライセンスがなくてもGoogleスプレッドシートは無料で使用することができます。

    Excelは、ITの業界では神Excelと揶揄されるほど汎用性の高いソフトウェアで、
    仕様書や要件定義書や、プレゼン資料までExcelで作成してしまう現場もあるほどです。

    行と列という2つのベクトルで直感的に操作ができるので、整理にも役立ちます。

    生成AI

    AIを利用して、雑多にまとめた内容を箇条書きにしてAIにまとめを依頼することで、
    簡単に情報を整理することができます。

    懸念点としては、楽にまとめたものは記憶にも残らないし、自分の中で整理がしきれていないので役に立たないことです。
    まさしく、「Easy come, Easy go」です。

    「整理」に役に立つフレームワーク

    最後に、情報の整理をするために有効なフレームワークについて解説します。
    といっても、ほとんどの誰もが知っている当たり前の手法です。

    これは持論ですが、目新しい考え方や、手法なんてものは存在しないし、
    大抵のメソッドやフレームワークは過去の発明の焼き直しでしかないです。

    5W1Hによる整理フレームワーク

    5W1Hは実は、紀元前から使用されているフレームワークです。
    それだけ汎用性と有用性が高いということです。

    前準備

    整理を行う前に背景や目的などを明確にする。
    対象を明確にすることで、不要な考察などを排除することが目的である。

    WHY?: 目的と背景を明確にする

    まずは、[なぜ?]について考えます。
    この問いに答えることで、背景が明確になるし、そもそもこの問いに答えられないものは整理するに値しないです。
    また、目的を明確にすることで、ゴールを意識することができます。
    この際に、目的はシンプルで単一にしておくとよいです。
    7つの習慣の[終わりから考える]の考え方に通じます。

    WHO?: 相手の立場に立って考える

    次に、[誰のため?]を明確にします。
    対象が、自分、なのか、玄人、なのか、3才児なのかで残すべき情報、モノは変わっていきます。

    ステークホルダを明確にして、それぞれのポジションで俯瞰的に考えると良いでしょう。
    一つの視点ではなく、それぞれの視点に立って考えるようにしましょう。

    WHAT?: 対象をはっきりさせる

    次は、[何を?]に関する質問です。

    「何を対象にするのか?」を明確にすることで、目的達成への筋道がはっきりとしてくるはずです。

    HOW?: 具体的な方法を考えていく

    最後に「どのように?」に関する質問です。

    具体的な方法を考えることで、作業完了までスムーズに整理を終えることができます。

    WHERE?: 情報の格納場所を考える

    方法を考える際に「どこに?」について考えます。

    分類を終わらせた対象の置き場所を事前に準備しておくことで、
    効率的に作業を進めることができるでしょう。

    WHEN?: 期限を決める

    最後に「期限」に関して考えます。
    「整理」という作業は終わりのない行為です。

    作業に割ける作業時間が決まったら、タイマーなどをセットして開始すると良いでしょう。

    むすび

    この記事では整理に関する内容を記載しました。
    自戒のために記載した部分も多いです。

    今後の人生に活かせていけたらと思います。

    誰かのお役に立てれば幸いです。

  • ThinkPad X13 Gen1のバッテリー交換

    ThinkPad X13 Gen1のバッテリー交換

    about this page(このページについて)

    【WHY】このページの目的

    • ThinkPad X13 Gen1のバッテリー交換に関する作業記録を残す。
    • 自分に対する備忘録と、同じことをするひとのための備忘録

    【WHAT】このページで行うこと

    • ThinkPad X13 Gen1のバッテリー交換に関する作業手順をまとめる

    【WHO】このページの対象読者

    • 私自身
    • ThinkPad X13 Gen1のバッテリー交換を行おうとしている人

    【HOW】どのようにして目的を達成するのか

    • 作業記録を写真付きで紹介する
    • 詰まったポイントがわかるように書く

    作業内容

    0. バッテリーの購入

    • 使用したバッテリーはこちら
      • アフィってないので安心して買ってください

    1. 内蔵バッテリーの無効化

    1-1. BIOS画面の表示

    • シャットダウン後、電源ケーブルを抜いてください。
    • 電源ボタンを押し、lenovoのロゴが表示されている間にF1ボタンを押下してください。

    1-2. 内蔵バッテリーの無効化

    • BIOS画面で、Config > Powerの順に選択をしてください。
    • Disable Built-in Bateryを選択して、Enter > Yesを選択してください。

    参考動画

    2. 下部カバーの取り外し/取り付け

    • ThinkPad裏面の5つのネジを緩めてください。
    • すべてのネジが緩んだら、隙間にオープナーなどを差し込み本体下部を取り外してください。
    • 注意: かなり固かったので、ビビらずに外してください
      • 割れても責任取れませんが…

    参考動画

    3. バッテリー取り外し/交換

    • 本体とバッテリーを繋いでいるケーブルを取り外します。
    • バッテリーを留めている4つのネジを外します。

    参考動画

    おまけ

    交換後、バッテリーレポートの結果がDESIGN CAPACITYをオーバーしていた笑

    ちょっと得した気分だけど、爆発しないよね?笑

    Before

    After

    参考リンク

  • 【TS】LightsailでSSL/TLS 証明書の取得に失敗する

    【TS】LightsailでSSL/TLS 証明書の取得に失敗する

    about this page

    【WHAT】このページには何が書いてあるのか?

    • LightsailでSSL/TLS証明書の取得に失敗したときの対処法
    • 以下のエラーの原因と、その対処法について
    We encountered an error while configuring the Let's Encrypt SSL/TLS certificate on your instance blog in the ap-northeast-1 Region. Try again later.
    
    1 DNS records do not match instance IPs. Did not find IPv6 match for 1 domain(s). Verify the values for your DNS records are correct. After you change DNS record values, you must wait for the DNS cache to expire before you can try again.

    【WHY】このページの目的

    • 同じエラーに出くわした人の助けになるため。
    • 自分の備忘録としての記録

    【WHO】このページの対象読者

    • LightsailでWordPressを運用しており、SSL/TLS証明書の取得に失敗した人
    • 自分自身

    【HOW】どのようにして記載するのか?

    • 対処方法を端的に説明した後、原因を解説する

    発生した現象について

    エラー画面

    エラー画面
    発生したエラーの内容

    エラー内容

    Amazon LightsailでWordPressのインスタンスを作成し、Route53でドメインを取得後、Lightsailのセットアップ機能でセットアップを行っていたところ、SSL/TLS証明書の取得時に下記のエラーが発生した。

    We encountered an error while configuring the Let's Encrypt SSL/TLS certificate on your instance blog in the ap-northeast-1 Region. Try again later.
    
    1 DNS records do not match instance IPs. Did not find IPv6 match for 1 domain(s). Verify the values for your DNS records are correct. After you change DNS record values, you must wait for the DNS cache to expire before you can try again.

    対応方法

    対応方法は以下の2ステップになります。

    1. インスタンスに IPv6 アドレスをアタッチする。
    2. 対象ドメインのDNSレコードのAAAAレコードにPv6アドレス設定する。

    【手順1】インスタンスにIPv6アドレスをアタッチする

    対象インスタンスをクリックして選択してください。

    1. 対象インスタンスを選択する
    1. 対象インスタンスを選択する

    「ネットワーキング」タブを選択してください。

    2. 「ネットワーキング」タブを選択
    2. 「ネットワーキング」タブを選択

    画面を下にスクロールして、IPv6アドレスを取得してください。

    3. IPv6アドレスを取得する
    3. IPv6アドレスを取得する

    【手順2】対象ドメインのDNSレコードのAAAAレコードにPv6アドレス設定する

    左パネルから「ドメインとDNS」を選択し、対象DNSゾーンの設定画面に遷移してください。

    4. 「ドメインとDNS」を選択し、対象DNSゾーンの設定画面に飛ぶ
    4. 「ドメインとDNS」を選択し、対象DNSゾーンの設定画面に飛ぶ

    「DNSレコード」タブを選択後、「レコードの追加」をクリックし、DNSレコードの追加画面に遷移してください。

    5. レコードの追加画面に遷移
    5. レコードの追加画面に遷移

    プルダウンから「AAAA」レコードを選択し、ドメイン名の箇所に@マークを入力してください

    「解決先」テキストボックスに取得したIPv6アドレスを入力してください。

    6. AAAAレコードの設定
    6. AAAAレコードの設定

    設定が完了したら、Lightsailのコンソールから「WordPressウェブサイトをセットアップする」のガイダンスに従って操作をしてください。

    私のケースでは、これで解決しました。
    もし、上手くいかない場合や、情報が不足している場合、コメント等でフィードバックをいただけると幸いです。

    この記事が誰かの役に立つことを願いします。


    問題の原因

    以下では、「なぜSSL証明書の取得に失敗したのか?」と「なぜ、今回の作業で解決したのか?」の2点について解説していきます。

    なぜSSL証明書の取得に失敗したのか?

    エラー文言の内容を理解する

    まずは、エラー文言の内容を正しく理解するところから始めましょう。

    We encountered an error while configuring the Let's Encrypt SSL/TLS certificate on your instance blog in the ap-northeast-1 Region. Try again later.
    
    1 DNS records do not match instance IPs. Did not find IPv6 match for 1 domain(s). Verify the values for your DNS records are correct. After you change DNS record values, you must wait for the DNS cache to expire before you can try again.

    翻訳すると、以下のような文章になります。

    We encountered an error while configuring the Let's Encrypt SSL/TLS certificate on your instance blog in the ap-northeast-1 Region. Try again later.
    (インスタンス blog に対して、ap-northeast-1 リージョンで Let's Encrypt SSL/TLS 証明書の設定中にエラーが発生しました。後でもう一度試してください。)
    
    1 DNS records do not match instance IPs. Did not find IPv6 match for 1 domain(s). Verify the values for your DNS records are correct. After you change DNS record values, you must wait for the DNS cache to expire before you can try again.
    (1 DNS レコードがインスタンスの IP と一致しません。1 つのドメインに対して IPv6 の一致が見つかりませんでした。DNS レコードの値が正しいことを確認してください。DNS レコードの値を変更した後、DNS キャッシュが期限切れになるまで待ってから、もう一度試す必要があります。)

    要約すると以下のような内容です。

    「IPv6のDNSレコードが正しく設定されていないので、証明書の取得に失敗しているよ」

    なぜ、今回の作業で解決したのか?

    Lightsailで提供されているWordPressの設定ツールは、SSL/TLS証明書を取得する際に、内部的にLet’s Encryptを利用しています。

    Let’s Encryptは、ドメインの所有権を確認するために、DNSレコードをチェックします。
    AWS Lightsailでは、デュアルスタック(IPv4とIPv6の両方)をサポートしており、デフォルトでIPv6アドレスが割り当てられます。

    今回のエラーは、DNSレコード(AAAAレコード)にIPv6アドレスが正しく設定されていなかったため、Let’s Encryptがドメインの所有権を確認できず、証明書の取得に失敗していました。

    AAAAレコードに正しいIPv6アドレスを設定することで、Let’s Encryptがドメインの所有権を確認できるようになり、証明書の取得に成功した。というわけです。

    参考にしたサイト