🔐

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