LoginSignup
10
9

More than 3 years have passed since last update.

【AWS】ALB->ドメイン->SSL証明書 メモ

Last updated at Posted at 2019-10-28

概要

AWSでインフラ構築する一部分のメモ
実際にどういう構成で構築するのか次第で柔軟に参考にして頂ければ幸いです。

最終的にできる構成

今回出来上がる構成は以下の通りです

Request(https) -> Route53 -> ALB -> EC2

構築の流れ

※前提:「EC2インスタンス有」「ドメイン取得済み(今回はfreenom)」「セキュリティグループ有」

  1. Route53設定 (ネームサーバ)
  2. ACMで証明書取得
  3. ALB (httpsリスナー)
  4. Route53でドメイン割り当て

1 で「リクエスト -> Route53」の流れを用意
2,3 で「ALB -> EC2」の流れを用意
4 で 「Route53 -> ALB」の流れを用意

のようなイメージです。

Route53 ドメインの設定

AWSマネジメントコンソールでRoute53に進む
スクリーンショット (220)_LI.jpg

「ホストゾーンを作成」を押下

スクリーンショット (221)_LI.jpg

もう一度「ホストゾーンを作成」を押下

スクリーンショット (222)_LI.jpg

すると右側にホストゾーン設定の画面が出てくるので予め取得してあるドメインを「ドメイン名」の部分に入力し下の「作成」を押下

スクリーンショット (223)_LI.jpg

するとホストゾーンが作成されたので、以下のようにできているのかを確認。

スクリーンショット (226)_LI.jpg

次にドメインにネームサーバの設定をします

※今回は「freenom」を使っています

自分のドメインの一覧画面で各ドメインの右側にある「Manage Domain」を押下

スクリーンショット (228)_LI.jpg

するとこのような画面に入るので、

スクリーンショット (229)_LI.jpg

「Management Tools」の「Nameservers」を選択

スクリーンショット (230)_LI.jpg

「Use custom nameservers」にチェックを入れるとフォームが出てくるので
既に用意したRoute53 のホストゾーンの「タイプ:NS」の値4つをそれぞれ入れていきます

入力後「Change Nameservers」を押すと完了です

スクリーンショット (231)_LI.jpg

ACMでSSL証明書取得

AWSのCertificate Managerを選択し、「証明書のリクエスト」を押下する

スクリーンショット (210)_LI.jpg

右下の「証明書をリクエスト」を押す

スクリーンショット (212)_LI.jpg

そのまま右下の「確認」を押下

スクリーンショット (213)_LI.jpg

右下の「確認とリクエスト」を押下

スクリーンショット (214)_LI.jpg

ドメインの「▶」押すと出てくる、「Route53でのレコードの作成」の青いボタンを押し、

その後「続行」を押下

スクリーンショット (215)_LI.jpg

直後は画像のように検証保留中となっていますが、この部分が「発行済み」に変わると完了です

スクリーンショット (217)_LI.jpg

ALB設定 (httpsリスナー)

EC2のサイドバーから「ロードバランサー」を選択して「ロードバランサ―の作成」を押下

スクリーンショット (197)_LI.jpg

「Application Load Balancer」の「作成」を押下

スクリーンショット (198)_LI.jpg

プロトコルで「HTTPS」を選択

スクリーンショット (199)_LI.jpg

「アベイラビリティゾーン」はEC2インスタンスがあるところを含めて2つ選び、
右下の「次の手順:セキュリティ設定の構成」を押下

スクリーンショット (200)_LI.jpg

上で作った証明書を選択して、右下の「次の手順:セキュリティグループの設定」を押下

スクリーンショット (201)_LI.jpg

「新しいセキュリティグループを作成する」を選択し、
HTTP(80), HTTPS(443)のルールを準備後
右下の「次の手順:ルーティングの設定」を押下

スクリーンショット (263)_LI.jpg

「新しいターゲットグループ」を選択し、任意の「名前」を付けた後
右下の「次の手順:ターゲットの登録」を選択

スクリーンショット (203)_LI.jpg

ここではターゲットグループに新しくEC2インスタンスを追加します。
下にはまだ未追加のインスタンスが一覧表示されているので、今回ALBで振り分ける先の
インスタンスを選択し、

スクリーンショット (205)_LI.jpg

「登録済みに追加」を押す。

スクリーンショット (207)_LI.jpg

すると、画面上部の登録済ターゲットの一覧に追加されるので、
そのことを確認後、画面右下の「次の手順:確認」を押下。

スクリーンショット (208)_LI.jpg

今までの設定を確認後、右下の「作成」を押下。

スクリーンショット (209)_LI.jpg

EC2セキュリティグループにつなげる

マネジメントコンソールの「セキュリティグループ」を選択、
今作ったALBのセキュリティグループのIDをコピーする

スクリーンショット (264)_LI.jpg

EC2インスタンスが所属しているグループを選択して
「インバウンド」の「編集」を押す

スクリーンショット (265)_LI.jpg

HTTPのソース部分に今コピーしたALBセキュリティグループのIDを入力して保存する

スクリーンショット (267)_LI.jpg

ALBリスナーに HTTP->HTTPS 転送設定

ALBにhttpリクエストが来た時に、httpsにリダイレクトするようにしておきます
先ほど作ったALBのリスナータブを選択し、「リスナーの追加」を押下します

スクリーンショット (260)_LI.jpg

「プロトコル:ポート」をHTTP:80を指定してアクションを追加します。
「リダイレクト先...」を選択して`HTTPS:443'にリダイレクトするように設定します

入力後右上の保存を押して完了です

スクリーンショット (261)_LI.jpg

※「セキュリティグループ」のインバウンドのタイプで
httpsを追加していない場合はこのタイミングでしておきましょう

Route53でドメイン割り当て

スクリーンショット (218)_LI.jpg

「Route53」の設定画面に移動し、上記で作成した「ホストゾーン」を選択、「レコードセットの作成」--> 右の「エイリアス先」で作ったALBが一覧に表示されているのでそれを選択後「作成」を選択。

※サブドメインを指定したい場合は「名前」の欄にサブドメインを指定すれば可能です。

これで、今設定したドメインにhttpsアクセスできるようになりました。

スクリーンショット (219)_LI.jpg

参考記事

⇊僕は今回「freenom」使ったので参考にしました。

10
9
0

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
10
9