LoginSignup
1
0

More than 3 years have passed since last update.

【画像付き】AWSでSSL化させる【丁寧に解説】

Last updated at Posted at 2020-11-20

前提

  • EC2にデプロイ済みであること
  • ドメインを取得しElastic IPと紐付けていること。つまりhttp://ドメイン名でサイトにアクセスできるようになっていること。

ドメインの取得方法は下記記事を参考にました!

【ドメイン取得】お名前.comとawsでドメイン取得

そもそもSSL化ってなに?

簡単にいうと「セキュリティが強い、安全なサイトにすること」です。
詳しい説明は下記記事を参考にしてください。

SSLって何?意味や仕組みをわかりやすく解説!

方法

  1. Certificate ManagerでSSLサーバー証明書を発行
  2. ロードバランサーにてSSLサーバー証明書とEC2インスタンスを紐付ける
  3. EC2インスタンスのポート開放
  4. 動作確認

この順番で行きたいと思います。
まずはゴールを御覧ください。

最終形のイメージ

スクリーンショット 2020-11-17 18.54.09.png

 引用 AWSでWebサイトをHTTPS化 全パターンを整理してみました

ポイントは2つ!

  • 今回はサーバー証明書はCertificate Managerで取得して、ロードバランサー(ELB)に紐づける
  • EC2とELBはHTTP通信。ELBとクライアントをHTTPS通信するよう設定する

では行ってみましょう!

1. Certificate ManagerでSSLサーバー証明書を発行

Certificate Manager

まず検索バーでCertificate Managerを検索
スクリーンショット 2020-11-18 19.04.42.png

今すぐ始めるを選択
スクリーンショット 2020-11-18 19.06.47.png

証明書のリクエストを選択
スクリーンショット 2020-11-18 19.07.32.png

取得したドメイン名を入力します。例:〇〇.com など
スクリーンショット 2020-11-18 19.09.56.png

DNSの検証を選択し次へをクリック
スクリーンショット 2020-11-18 19.10.44.png

何も入力せずに確認を選択
スクリーンショット 2020-11-18 19.11.08.png

入力したドメイン名が出現します。
確認とリクエストをクリック
スクリーンショット 2020-11-18 19.11.40.png

そうするとDNSの検証の準備が始まります。
状況が「検証保留中」と出ているはずです。
ドメインの名の横の「 ▼ 」をクリックすると名前、種類、値のレコードが出てきます。
この値をメモアプリに保存しましょう。
DNS設定をファイルにエクスポートでも値は確認できます。
スクリーンショット 2020-11-18 19.19.49.png

Route53

Route53に移ります。
指定したドメインのホストゾーンでレコードを作成をクリック。
スクリーンショット 2020-11-18 19.24.29.png

シンプルルーティングを選択し、次へをクリック。
スクリーンショット 2020-11-18 19.27.15.png

シンプルなレコードを定義をクリック。
スクリーンショット 2020-11-18 19.27.44.png

エンドポイントを選択をクリック。
レコードタイプに応じたIPアドレスまたは別の値を選択
スクリーンショット 2020-11-18 19.29.11.png

先程のメモをご用意ください。
レコード名に、「名前」
ルーティング先に、「値」をコピペ。
レコードタイプは「CNAME」を選択し、シンプルなレコードを定義をクリック。
スクリーンショット 2020-11-18 19.30.48.png

このようにタイプCNAMEのレコードができたら準備OKです。
スクリーンショット 2020-11-18 19.36.02.png

Certificate Manager

再びCertificate Managerに戻り、以下のように「発行済み」になっていたらSSLサーバー証明書の発行が完了です。
スクリーンショット 2020-11-18 19.20.59.png

ここまでよろしいでしょうか?
どんどん行きましょう!!

2. ロードバランサーにてSSLサーバー証明書とEC2インスタンスを紐付ける

ロードバランサー

EC2のページからロードバランサーをクリック。
スクリーンショット 2020-11-20 18.37.54.png

ロードバランサーの作成をクリック。
※筆者は既にロードバランサーを1個作ってあるため、下に表示されています。
スクリーンショット 2020-11-20 18.38.53.png

Application Load Balancerの作成をクリック。
スクリーンショット 2020-11-20 18.39.49.png

任意の名前を記入し、
リスナーの追加でHTTPSを追加。
アベイラビリティーゾーンでは2つ以上、サブネットを選択します。
その後次の手順をクリック
スクリーンショット 2020-11-20 18.41.18.png

ACMから証明書を選択をするを選択、
証明書の名前は先程作成した証明書を選択してください。
その後次の手順をクリック。
スクリーンショット 2020-11-20 18.44.04.png

EC2インスタンスが使っているセキュリティーグループを選択し、
その後次の手順をクリック。
スクリーンショット 2020-11-20 18.45.31.png

ターゲットグループに任意の名前を付けます。
プロトコルはHTTP、ポートは80のデフォルト設定でOKです。
EC2インスタンスとELBはHTTP通信のためです。
その後次の手順をクリック。
スクリーンショット 2020-11-20 18.46.42.png

任意のEC2インスタンスを選択肢し登録します。
その後次の手順をクリック。
スクリーンショット 2020-11-20 18.47.54.png

確認画面です。
作成をクリック。
スクリーンショット 2020-11-20 18.49.39.png

下記の通りになればバランサー制作完了です!
スクリーンショット 2020-11-20 18.52.28.png

お疲れさまです!
後もう少しです!

Route53

Route53に戻り、先程作ったロードバランサーとドメインを紐付けます。

タイプAのレコードを選択して編集をクリック。
スクリーンショット 2020-11-20 19.13.16.png

ルーティング先を先程作ったロードバランサーと紐付け、変更を保存をクリック。
スクリーンショット 2020-11-20 19.12.44.png

3. EC2インスタンスのポート開放

EC2

EC2インスタンスのポートを下記のように開放します。
スクリーンショット 2020-11-20 18.55.17.png

以上で完了です!!!!
それではhttps://ドメイン名で検索してみましょう!

4. 動作確認

下記のように鍵マークが付けば完了です!!
スクリーンショット 2020-11-20 18.56.33.png

まとめ

ドメイン取得紐付け後の、ドメインのSSL化を解説しました。

自分はEC2とALBの間をHTTPS通信しようとして、かなりハマりました。
皆さんにはそうなって欲しくないためココに記しました。

私自身もプログラミング初心者のため間違っていることが、ありましたらご指摘ください。
最後まで読んでいただき、ありがとうございました!

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0