使ってEC2上のWebアプリをHTTPS(SSL)通信に対応させてみるnginxAWSSSLelbこんにちは。アクセスできるようにしてみたいと思います。使っていることまたすべて自己責任でお願いします。全体像のイメージ.Domainを取得する僕はこちらのサイトでドメインを取得しました。https://my.freenom.com/使用したいドメインを検索して、利用できるドメインを選択します。僕は無料のモノにしました。その後、チェックアウトします。Domainsを選択します。取得したドメインを設定していきます。左のメニューからホストゾーンを選択し、ホストゾーンの作成をクリック。取得しておいたドメインをドメイン名に入力して、作成をクリックします。するとこんな感じでドメインが設定されていると思います。.タイプがNSになっている4つの値を先ほどドメインを取得したサイトであるfreenom上に設定してあげます。Domainをクリック。Toolsをクリックし、Nameserversを選択する。Route53に表示されていた4つの値をこんな感じで設定してあげます。このときに末尾のピリオドは取り除いてください。手元のPCのターミナル上から次のようなコマンドを入力して、次のような応答があればOKです。このときまで、IPアドレスは返ってきません。EC2上のアプリとドメインを関連づけていないので。129これでネームサーバーにドメインを設定することができました。次にドメインとEC2上のアプリを関連づけていきます。AWSのEC2のダッシュボードを開き、左側のElasticIPをクリックします。.左上の新しいアドレスの割り当てをクリックし、割り当てをクリックします。その後、一覧画面に新しく割り当てられたElasticIPが表示されるので、右上のアクションからアドレスの関連付けを選択して、Webアプリを構築しているインスタンスを選択します。ElasticIPの値をメモしておきます。次の手順でドメインを用いてアクセスすることができます。再度Route53を開き、レコードセットの作成をクリック。名前は空で、タイプはA-IPv4アドレスを選択しておきます。値のところに先ほどメモしたElasticIPの値を貼り付けて作成をクリックします。これでブラウザにそのドメインを入力すると、アクセスすることができると思います。証明書を取得していきます。証明書のリクエストをクリックして、パブリック証明書のリクエストを選択します。次の画面でドメイン名のところにさきほど取得したドメイン名を入力します。次はDNSの検証を選択して確認をクリックします。次画面の確定とリクエストをクリックして、続行をクリックするとこんな感じで検証未完了の画面になると思います。▶︎マークをクリックして、Route53でのレコードの作成をクリックします。その後、Route53にドメインがCNAMEが追加されます。これをALBを使ってHTTPS通信できるようにしていきます。EC2のダッシュボードの左側のメニューからロードバランサーを選択し、ロードバランサーの作成をクリックします。Balancerを作成します。リスナーのところにHTTPとHTTPSを設定します。これによりクライアントからのHTTPSとHTTP通信を受け付けます。アベイラビリティーゾーンのところはすべてチェックします。僕は最初2つしかチェックせずに、このあと作成するターゲットと位置するアベイラビリティーゾーンが事なってしまったため、503エラーに悩まされましたので。ターゲットのアベイラビリティーゾーンとロードバランサーのアベイラビリティーゾーンを合わせれば2つでも問題ないかと思います。証明書の選択のところで先ほど準備した証明書を選択して次へ進みます。セキュリティグループは新しいセキュリティグループを作成するを選択して次のように設定します。ターゲットグループは名前のところだけ、適当に入力して次に進みます。次の画面では下の一覧表に表示されているインスタンスからWebアプリを構築しているインスタンスを選択して、登録済みに追加し、次に進みます。確認画面で問題がなければ作成をクリックします。ロードバランサーの画面で状態がactiveになっていればOKです!またターゲットグループ画面のしたのターゲットタブをクリックし、登録済みターゲットのステータスがhealthyになっていることも確認しておきましょう。僕はここがunsetになっていて、503エラーで半日悩んだので。インスタンスのセキュリティグループに先ほど作成したロードバランサーのセキュリティグループを追加していきます。インスタンス一覧から該当のインスタンスを選択して、右スクロールしていくと、セキュリティグループという項目があると思うので、クリックします。下のインバウンドタブを選択して、編集画面をクリックします。Route53で取得したドメインにきたリクエストをこのロードバランサーに振り分けてあげるように設定していきます。Balancerのところにある先ほど設定したロードバランサーを選択して、作成をクリックします。これでhttps://www.ドメイン名でアクセスしてあげれば表示されるかと思います。ちなみにhttpでアクセスがきた場合httpsにリダイレクトするにはnginxを次のように設定して上げる必要があります。}https通信に対応するために1日以上かかってしまいましたがなんとかできるようになってよかったです。requestStockLike0@hosa_progs4月からエンジニア。upLoginユーザーは見つかりませんでした。