ちょっと話題の記事

AWSの無料SSL証明書サービス”Certificate Manager”をELBに設定して『https』になるか確認してみる

AWS営業部の洲崎です! Certificate Managerを使ってhttpsになるか試してみました。
2021.01.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、初心者向けシリーズです。
今回はAWSの無料SSL証明書サービス”Certificate Manager”をELBに設定してみようと思います!

そもそもSSL証明書とは?

SSLとは、ブラウザとウェブサーバ間でデータの暗号化をする仕組みのことです。
インターネット上で送受信される個人情報や、クレジットカード情報等を暗号化して通信を行うことで、盗聴や情報改ざんを防ぐ役割を持っています。
SSL証明書が適用されてるサイトはHTTPSで通信されることになり、URLの頭に「https://~」と、鍵マークが表示されます。

認証レベル(方式)により、3タイプに分かれます。
ドメイン認証
個人・法人で発行可能。問い合わせフォーム等の各種フォームやイントラネット等で利用がおすすめ。
企業認証
法人のみ発行可能。個人情報やクレジットカード等の入力が必要なサイトにおすすめ。
EV認証 法人のみ発行可能。最も厳格に審査し、登記簿謄本や第3者機関のデータベース等により実在性を確認する。

SSL証明書を適用することでのよくあるメリットとしては下記になります。

  1. 暗号化による情報の保護
  2. 企業認証による組織の法的実現性

AWSのサービスでCertificate Managerを利用すれば、無料でSSL証明書のドメイン認証の利用が可能です。
AWS Certificate Manager

では、今回はドメイン認証をAWSのCertificate Managerでやってみます!

ドメインを用意する

まず、ドメインが必要になりますので、もしドメインを持っていない方は下記記事を参考にドメインをとってみてください。
無料ドメイン(.tk)とRoute53を利用して0円でHTTPS環境を設定してみた
私もドメインを持っていなかったので.tkドメインを取ってみました!
記事を参考にAmazon Route53のホストゾーンも作成し、NSレコードを発行したドメイン(freenom)のNameserverに登録します。

また、有償になりますがAmazon Route53でもドメイン取得が可能です。
Route 53 でドメインを取得・購入する(2019版)

Certificate Managerで証明書を作成

マネジメントコンソールでCertificate Managerのページを開いて、”証明書のプロビジョニング”を選択します。

証明書のリクエストでパブリック証明書のリクエストで進めていきます。

検証方法の選択で”Eメールの検証”をクリックします。

タグは分かりやすい名前を入力して、検証を続行します。

検証保留中の画面が表示されました!

ここでSESを活用してメールの受信と、中にあるhttps://~で始まるリンクを踏めば認証が完了します。
詳しくは下記ブログを参照してみてください。
[ACM] SSL証明書発行時のドメイン認証メールをSESで受け取ってみた

※はまったポイント※
Certificate Managerに登録する際にEmailによる認証の場合、freenomで取得した”.tk”ドメインだとメールの受信ができないのでSESを使う必要があります。
その際、2021/1/16時点ではSESでメール受信は東京リージョンは対応していないので、米国リージョンを使いましょう。

EC2でテストページを作成

EC2にapacheサーバをインストールして、サンプルのhtmlファイルも作成しておきます。
amazonlinux2 t2.microでパパッと作成します。
ELB作成にはサブネットが2つ必要なのでそこも作成しましょう。
EC2に入って下記コードでapacheサーバとサンプルhtmlファイルを作成します。

#apacheインストール
sudo yum update -y
sudo yum install httpd -y
#ドキュメントルートに移動
cd /var/www/html
#新規ファイルを作成
sudo touch index.html
#ファイルを編集
sudo vi index.html
<h1>Suzaki World!</h1>
#Apacheサーバ起動
sudo systemctl start httpd
#いつでもApacheサーバを立ち上げるように
sudo systemctl enable httpd


ELB作成

次にELBを作成していきます!ALBの作成をクリックして、リスナーはHTTPSにします。

セキュリティ設定のところでACMから証明書を選択し、Certificate Managerで作成したのを選択します。

セキュリティポリシーはTLS1.1やTLS1.2に対応するか等を考えて選択する必要があります。下記ブログをご参照ください。
ELB のセキュリティポリシー変更はブラウザの対応プロトコルを考慮して慎重に

セキュリティグループもHTTPSで進めていきます。

あとはターゲットグループを作成し、先ほど作成したEC2を対象にしましょう。

Route53でレコード追加

最後にRoute53のページに飛び、自分の作成したホストゾーンからレコードを作成をクリックします。

レコードの作成で、シンプルルーティング、レコード名(任意)、トラフィックのルーティング先をALBの作成したロードバランサーを選択します。

そしてAレコードが作成できたらhttps://ysuzaki.tk に接続すると・・

無事、鍵マークが表示されてSSL証明書が適用された確認ができました!

まとめ

今回はSSL証明書を適用してhttpsになるかを試してみました!
SSL証明書が無料で使えて設定までAWS内で完結できるのはいいですね。

また弊社では企業認証やEV SSL認証レベルも代理で手配が可能です。
是非これからSSL証明書利用を検討するけども不安等ございましたら、お気軽にお問い合わせ頂けますと幸いです。

ではまた!AWS営業部の洲崎でした。