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

## 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](https://park.jp/?outer_ref=INV-BU076T "クラウドワークス運営のスキル販売ショップPark")