1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

今回はALBに独自ドメインでアクセスして、EC2にインストールしたApacheにアクセスできるようにしていきたいと思います。

環境イメージ

今回構築する環境は以下となります。
ACMを使って東京リージョンで証明書を使えるようにします。
ALBデプロイ時に443でリッスンするように設定し、またRoute53のPublic Hosted ZoneにAレコードを作成します。設定した独自ドメインでALBにセキュアに通信できる環境を作っていきます。
※本来であればALB⇔EC2間もSSL化したほうが良いらしいです。
 これに関してはおいおい確認していきます。
20240620から-ページ27.drawio.png

構築

ACMで証明書払い出し

今回、EC2とALBは東京リージョンにデプロイしますので、リージョンを東京にした上でACMの管理画面を開きます
Untitled (15).png

CloudFrontでACMを使う時との違い CloudFrontで証明書を払い出すときは米国東部(バージニア北部)で払い出さなければならないのですが、それを東京リージョンにデプロイしたALBに使用することはできません。 東京用として別途払い出しをしなければなりません。

参考:https://qiita.com/ohtsuka-shota/items/7ebc8c0977b2cbdb9833

パブリック証明書をリクエストを選択した状態で次に進みます。
Untitled (16).png
以下の設定でリクエストを実行します。
screencapture-ap-northeast-1-console-aws-amazon-acm-home-2024-07-15-13_52_54 (1).png
払い出しが出来たことを確認します。
私の環境では事前にCloudFrontで別途証明書を払い出し、Route53にレコードを作成している為、自動でステータスが成功となりますが、もし初めて払い出した場合はRoute53でレコードを作成ボタンを押下して、Route53にレコードを作成してください。
image.png

EC2のデプロイとapache環境の作成

今回は別のSubnetに2台EC2をデプロイしていきます。
apacheをインストール出来ればここはなんでもよいかと思います。
但し、セキュリティグループは今回80が空いているものを指定することだけは。
screencapture-ap-northeast-1-console-aws-amazon-ec2-home-2024-07-15-13_16_47 (1).png
正常にデプロイできたことを確認します。
Untitled (17).png
それぞれのEC2にSSHして以下のコマンドを実行。とりあえずapacheをインストールして起動しておきます。

[ec2-user@ip-192-168-1-200 ~]$ sudo su -
[root@ip-192-168-1-200 ~]# dnf update && dnf upgrade -y
[root@ip-192-168-1-200 ~]# dnf install -y httpd
[root@ip-192-168-1-200 ~]# systemctl start httpd
[root@ip-192-168-1-200 ~]# systemctl enable httpd

ALBをデプロイする

ターゲットグループを作成する

以下の設定でターゲットグループを作成します。
今回、EC2に対してはたとえALBからであってもHTTPを使うためそのように設定しています。
screencapture-ap-northeast-1-console-aws-amazon-ec2-home-2024-07-15-13_44_21 (1).png
screencapture-ap-northeast-1-console-aws-amazon-ec2-home-2024-07-15-13_44_42 (1).png
作成出来たことを確認します。
Untitled (18).png

ALBを作成する

ロードバランサを作成します。
タイプを選択するように求められますので、Application Load Balancerの作成ボタンを押下します。
screencapture-ap-northeast-1-console-aws-amazon-ec2-home-2024-07-15-13_30_13 (1).png
スキームに関しては、このALBを使ってローカルのPCからAWS内のEC2にアクセスするので、インターネット向けを選択します。
ネットワークマッピングに関してはEC2がデプロイされているVPCやSubnetを選択します。
セキュリティグループに関しては443が空いているものを選択します。
リスナーとルーティングについてはHTTPSを選択。セキュリティポリシは推奨のものを選択。SSLサーバ証明書でACMを選び、登録した独自ドメインのものを選択します。
この設定でデプロイしていきます。
screencapture-ap-northeast-1-console-aws-amazon-ec2-home-2024-07-15-13_57_22 (1).png
デプロイできたことを確認します。リスナーとルールでHTTPS:443を押してみます。
Untitled (20).png
証明書が紐づいていることが確認できます。
Untitled (21).png
試しにALBに紐づているDNS名を使ってHTTPS接続をしてみます。今回の場合https://alb-test-https-234963113.ap-northeast-1.elb.amazonaws.com/みたいな感じでアクセスをしてみると、アクセスは出来るものの、保護されない通信として警告が表示されます。
Untitled (22).png
この警告は証明書のドメインと、アクセスに使用しているドメインが異なるためですね。
Untitled (23).png

Route53にAレコードを作成して独自ドメインでALBにHTTPS接続する

Route53の管理画面に移動し、独自ドメインを管理しているPublic Hosted Zoneを開きます。レコードを作成を押下します。
Untitled (24).png
今回ALBに紐づけるドメインはs3.ohtsuka-aws.xyzとしました。
レコードタイプはAレコード。エイリアスを有効にします。
ALBを選択し、ALBをデプロイしているリージョンを選択。ALBの名前を選択して、レコードを作成します。
Untitled (25).png
作成出来たことを確認します。
Untitled (26).png
登録したドメインでHTTPS接続が出来るかを確認します。
接続でき、かつ先ほどのような警告が出ていないことが確認できます。以上!
Untitled (27).png
Untitled (28).png

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?