ec2 ドメイン取得からhttps化の流れ
初フレームワークで作ったサイトを無事デプロイできたので
次はドメインを取得してhttps化したいと思う
環境
Amazon Linux 2023
Apache
今回はRoute53にてドメイン取得
Let’s EncryptとCertbotにてhttps化していきたいと思う。
ドメイン取得
Route53にアクセス
ドメインの登録に希望のドメイン名を入力
カメラデータベースサイトをつくったのでシンプルにcamera-dbと入力
使用可能なドメイン一覧と年間料金がでてくる
一番安くて2211円/年間 一番高くて10468円/年間 ※2025年/9月時点
強いこだわりはないので一番安い .org
を選ぶ
自動更新はお好みで。
連絡先など入力して 送信。
・・・登録処理が終わるまで待機・・・
ステータスが成功
になればおっけー (今回は10分程度かかった)
ドメインとEC2の紐づけ
(camera-db.org
というドメインを入力したら、自分のEC2にアクセスが届くようにする設定)
必要事項を入力して レコードを作成
レコード名は未記入
レコードタイプはA
値には自分のElastic IPを入力
https化
サーバーにCertbotのインストール
sudo dnf install certbot python3-certbot-apache -y
証明書を取得
sudo certbot --apache
先ほど取得した自分のドメイン名を入力する
Successfully received certificate.
と表示されれば証明書の発行は成功
この時点でhttps化は完了
https://camera-db.org
オマケ
※Let’s Encrypt は 90日で失効 するので自動更新が必要
とくにデメリットがないのでついでに自動更新も有効化させることにする
自動更新に必要なタイマーがインストールされていなかったので作成する
2つのファイルを作る
sudo tee /etc/systemd/system/certbot-renew.service <<'EOF'
[Unit]
Description=Certbot Renewal
[Service]
Type=oneshot
ExecStart=/usr/bin/certbot renew --quiet
EOF
sudo tee /etc/systemd/system/certbot-renew.timer <<'EOF'
[Unit]
Description=Runs Certbot renewal twice daily
[Timer]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=3600
Persistent=true
[Install]
WantedBy=timers.target
EOF
# 有効化 & 起動
sudo systemctl daemon-reload
sudo systemctl enable --now certbot-renew.timer
# 有効化確認
systemctl list-timers | grep certbot
このように出力されれば自動更新化 成功!
Sat 2025-09-13 00:10:59 JST
→ 次に certbot-renew.timer
が起動される予定の日時(今回なら 9月13日 0時10分59秒)
9h left
→ 次の実行まであと9時間
-(次の2つの列)
→ 最後の実行時刻と経過時間(まだ一度も実行されていないので -)
certbot-renew.timer
→ 有効になっているタイマーの名前
certbot-renew.service
→ タイマーが起動する対象のサービス(実際に動くのはこのサービス)
Discussion