Amazon Linux 2にMariaDB 10.2インストール

インスタンスを新規に立てた直後を想定

# 既存削除(postfixも削除されるので注意)
[ec2-user@ip-10-0-0-181 ~]$ sudo yum remove mariadb-libs
# extrasよりcommonとかlibをインストール
[ec2-user@ip-10-0-0-181 ~]$ sudo amazon-linux-extras install lamp-mariadb10.2-php7.2=stable

# yumよりインストール
[ec2-user@ip-10-0-0-181 ~]$ sudo yum install mariadb-server mariadb-devel
# 起動
service mariadb start

# 自動起動
systemctl enable mariadb

Amazon Linux 2にEBSを新規マウント

事前にVolumeを作成してEC2にアタッチが済んでいるところから

# アタッチされているものを確認
[ec2-user@ip-10-0-0-181 /]$ lsblk
NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:0    0   8G  0 disk 
├─nvme0n1p1   259:1    0   8G  0 part /
└─nvme0n1p128 259:2    0   1M  0 part 
nvme1n1       259:3    0  10G  0 disk  ←これが新規にアタッチしたVolume
# ext4 フォーマット
[ec2-user@ip-10-0-0-181 /]$ sudo mkfs -t ext4 /dev/nvme1n1 
# マウント先のディレクトリを作成
[ec2-user@ip-10-0-0-181 /]$ sudo mkdir /mnt/mysql
# マウント
[ec2-user@ip-10-0-0-181 /]$ sudo mount /dev/nvme1n1 /mnt/mysql

# チェック
[ec2-user@ip-10-0-0-181 /]$ df 
/dev/nvme1n1      10190100   36888 9612540    1% /mnt/mysql

Let’s Encryptにてワイルドカード証明書を取得する

いつの間にやらLet’s Encryptにてワイルドカード証明書が発行される様になりましたので記録します。(今回はTXTレコードにワンタイムトークンパターン)

取り合えず、certbotをgitから更新してあげます。

どうやら0.22.0以上が必要みたいなので

発行コマンド

./certbot-auto certonly --manual -d *.ドメイン名 -d ドメイン名 -m メールアドレス --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

ポイントはサブドメインのワイルドカードだけではなく、通常のドメインを指定してあげます。

こうしてあげないと例えば『market.kagamikarasu.net』は取得できますが、

『kagamikarasu.net』の証明書は発行されません。

--preferred-challenges dns-01

こちらはTXTレコードで認証を行う指定です。

--server https://acme-v02.api.letsencrypt.org/directory

上述URLにもある様に本番環境のエンドポイント指定です。

各種コマンドリンク

 

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.kagamikarasu.net with the following value:

gMMhxHib_7diSzom6AY6SraFylWNK9GfMyTa2DOrnN4

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.kagamikarasu.net with the following value:

9sRuHQUt2kDgSeg0s5Uy1zzei0v2pgJOTgT2eFxXQAY

Before continuing, verify the record is deployed.
------------------------------------------------------------------------------

_acme-challenge.、TXTレコードにそれぞれワンタイムトークンを書き込む。

 

Failed authorization procedure. kagamikarasu.net (dns-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain :: DNS problem: NXDOMAIN looking up TXT for _acme-challenge.kagamikarasu.net

もちろんTXTレコードが反映される前に『Press Enter to Continue』を押すとエラーが起きます。

 

dig -t TXT _acme-challenge.kagamikarasu.net

digとかnslookupでTXTレコードを確認しといてあげます。

確認出来れば下記の様に設定した値が返ってくるでしょう

;; ANSWER SECTION:
_acme-challenge.kagamikarasu.net. 3600 IN TXT "gMMhxHib_7diSzom6AY6SraFylWNK9GfMyTa2DOrnN4"
_acme-challenge.kagamikarasu.net. 3600 IN TXT "9sRuHQUt2kDgSeg0s5Uy1zzei0v2pgJOTgT2eFxXQAY"

これで証明書が発行されましたので、『/etc/letsencrypt/live』等を確認してみましょう。