🦄

AWSのEC2のUbuntuでLet's Encrypt入れてSSL化しようとしたら数時間嵌った話とChatGPTが教えてくれた解決策

2023/11/03に公開

AWSのEC2のUbuntuでLet's Encrypt入れてSSL化しようとしたら数時間嵌った話とChatGPTが教えてくれた解決策

用語

AWSとは

  • AWS(Amazon Web Services)は、Amazon.comが提供するクラウドコンピューティングサービスです。
  • クラウドコンピューティングとは、インターネットを介してコンピューターの処理能力やデータを提供することです。
  • AWSは、多数のサービスを提供しており、それらを利用することで、企業や個人が必要なコンピューティングリソースを手軽に利用できます。

メリット

  • 多数のサービスを提供しているため、必要なコンピューティングリソースを手軽に利用できる。
  • スケーラビリティが高く、必要に応じてリソースを増減できる。
  • セキュリティが高い。

デメリット

  • 初期設定が複雑である。
  • 利用料金が高額になる場合がある。

EC2とは

  • EC2(Elastic Compute Cloud)は、AWSが提供する仮想サーバーです。
  • EC2を利用することで、必要な時に必要なだけサーバーを起動することができます。
  • EC2は、LinuxやWindowsなどのオペレーティングシステムを利用することができます。
  • EC2で利用する代表的なOSには、AmazonLinuxとUbuntuがあります。

メリット

  • 必要な時に必要なだけサーバーを起動することができる。
  • スケーラビリティが高く、必要に応じてリソースを増減できる。
  • オペレーティングシステムを自由に選択できる。

デメリット

  • 初期設定が複雑である。
  • 利用料金が高額になる場合がある。

Amazon Linux

メリット

  • AWSで運用するための環境が整えてある。
  • AWS内の他サービスに接続するモジュールが事前に入っている。
  • 無料で利用することができる。

デメリット

  • 初期設定が複雑である。

Ubuntu

  • Ubuntuは、Linuxの一種で、オープンソースのオペレーティングシステムです。
  • Ubuntuは、無料で利用することができます。
  • Ubuntuは、多数のアプリケーションを利用することができます。

メリット

  • 無料で利用することができる。
  • 多数のアプリケーションを利用することができる。
  • オープンソースであるため、カスタマイズが容易である。

デメリット

  • サポートが有料である場合がある。

Let's Encryptとは

  • Let's Encryptは、無料で利用できるSSLサーバー証明書を提供する認証局です。
  • SSLサーバー証明書を利用することで、Webサイトの通信を暗号化することができます。
  • Let's Encryptは、手軽にSSL化することができるため、多くのWebサイトで利用されています。

以下は、中学生でも理解できるように箇条書きで説明したリストです。

Let's Encryptとは

  • Let's Encryptは、無料で利用できるSSLサーバー証明書を提供する認証局です。
  • SSLサーバー証明書を利用することで、Webサイトの通信を暗号化することができます。
  • Let's Encryptは、手軽にSSL化することができるため、多くのWebサイトで利用されています。

メリット

  • 無料で利用できる。
  • 手軽にSSL化することができる。
  • 多くのWebサイトで利用されている。

デメリット

  • セキュリティが低いと考える人もいる。
  • 有料のSSLサーバー証明書に比べると、期限が短い。

SSL化とは

  • SSL化とは、Webサイトの通信を暗号化することです。
  • SSL化をすることで、Webサイトの通信内容が盗聴されることを防ぐことができます。
  • SSL化をすることで、Webサイトのセキュリティを向上させることができます。

メリット

  • Webサイトの通信内容が盗聴されることを防ぐことができる。
  • Webサイトのセキュリティを向上させることができる。
  • 検索エンジンがHTTPS化のサイトを優遇することがある。

デメリット

  • 有料のSSLサーバー証明書に比べると、期限が短い。
  • 有料のSSLサーバー証明書に比べると、セキュリティが低いと考える人もいる。

前置きが長くなった理由

  • 説明したらいろんな層のユーザーが見てくれそうだから。

インストール内容

UbuntuのnginxにLet's Encrypt

certbotなるものをインストール設定すれば良い。
certbotのすごいのが、OSとサーバ種類を指定すると必要なコマンドが出てくるUI

https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal

エラー

言われたとおりにしたらできるならエンジニアはいらない

Keeping the existing certificate
Could not automatically find a matching server block for . Set the `server_name` directive to use the Nginx installer.

IMPORTANT NOTES:
 - Unable to install the certificate
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live//fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live//privkey.pem
   Your cert will expire on 2024-01-31. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"

対策

chatGPTにエラー内容ぶっ込んで、ssl.conf作って と聞いただけ。
ただし、ここまで来るのに数時間かかっている。
なぜなら、自分でどうにかできると思ってたから。

反省

サーバー設定ファイルはChatGPTに作ってもらおう
ただし、そのまま使っても別のエラーが出るからサーバー構築の基礎知識は必要

起業・転職・フリーランス・プログラミング研修・エンジニア採用コンサルティングのご相談

https://park.jp/service_menu/2491

  • 60分の人生相談を行っております。
  • 企業の方は初回限定割引はご利用できません。
  • 企業向けDXコンサルティングは年間契約でお受けしております。

https://park.jp/service_menu/2491

自分でもサービスを販売したい方へ

副業として無形のサービス提供をする場合、できるだけ手数料を下げて、安心して支払ってもらうスキル販売ショップサービス、【PARK】のご紹介です。

  • クラウドワークスが運営
  • 販売手数料 3%・決済手数料 3.5% + 40円/件
  • サービスを提供する予定がなくてもストレスを減らす方法で使える(⇠重要)
    ↓ご登録はこちらから↓

クラウドワークス運営スキル販売ショップPark

Discussion