Tech Tips

  1. プログラミング
  2. 7905 view

SSL 自己証明書の作成と AWS Application Load Balancer への設定

Bethany DrouinによるPixabayからの画像
たまに、技術検証用として、openssl コマンドで自己証明書(RSA)を作成して Web サーバ等に設定したりしています。 しかし、コマンドが覚えられず毎回調べ直してしまっているので、備忘録として自己証明書の作成方法、そして AWS の Application Load Balancer (ALB)への設定の仕方を書きます。 また、SSL 証明書の仕組みを、さっとおさらいしたいときは以下の記事を読み直しています。

自己証明書の作成方法

以下のコマンドで秘密鍵を作成します。
$ openssl genrsa -out ./server.key 2048
次に、以下のコマンドで公開鍵を作成します。後で使う ALB を東京リージョンで作成すると、現時点では「*.ap-northeast-1.elb.amazonaws.com」のドメインになるので、Common Name にはそのように設定しています。
$ openssl req -new -key ./server.key -out ./server.csr
...
Country Name (2 letter code) []:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) []:Unknown
Organization Name (eg, company) []:zuqqhi2
Organizational Unit Name (eg, section) []:
Common Name (eg, fully qualified host name) []:*.ap-northeast-1.elb.amazonaws.com
Email Address []:
...
A challenge password []: 
最後に、以下のコマンドで証明書を作成します。
$ openssl x509 -in ./server.csr -days 365 -req -signkey ./server.key -out ./server.crt
これで SSL 自己証明書の作成は完了です。 次に、作成した証明書を AWS の ALB に設定してみます。

AWS ALB への作成した SSL 自己証明書の設定

作成した証明書を AWS Certificate Manager (ACM) へインポートします。 ACM コンソールの「証明書のインポート」をクリックします。
「証明書本文」に server.crt の中身を、「証明書のプライベートキー」に server.key の中身をコピーします。「証明書チェーン」は空欄のまま、「次へ」をクリックします。(画像ではエラーが出てますが、コピーしたあと別の欄を選択すると、正しく作成できている場合はエラーは表示されません。)
次の画面で、「レビューとインポート」をクリックし、その後「インポート」をクリックすることで、作成した証明書を ACM にインポートすることができます。 ALB のバックエンドとして、以下のように設定した EC2 インスタンスを作成します。以下の表に記載していない項目についてはすべてデフォルトです。また、以降はデフォルトの VPC にインターネットゲートウェイが設定されている前提で勧めます。
設定項目
Amazon マシンイメージ(AMI)Amazon Linux 2 AMI (HVM), SSD Volume Type
01748a72bed07727c
インスタンスタイプt2.micro
ユーザーデータ#!/bin/bash
sudo yum update -y
sudo yum install -y httpd
echo Welcome to $HOSTNAME > /var/www/html/index.html
service httpd start
chkconfig httpd on
セキュリティグループdefault
次に、ターゲットグループを作成し(名前以外、すべてデフォルトの設定)、先ほど作成した EC2 インスタンスをターゲットに追加します。 最後に以下のように設定した ALB を作成します。
設定項目
ロードバランサーの種類Application Load Balancer
名前適当に設定してください。
ロードバランサーのプロトコル「リスナーの追加」をクリックして、
プロコトルが「HTTPS(セキュア HTTP)」でポートが「443」のリスナーを追加します。
アベイラビリティーゾーンap-northeast-1a 、ap-northeast-1c 、ap-northeast-1d すべて選択します。
セキュリティ設定の構成証明書タイプ: ACM から証明書を選択する (推奨)
証明書の名前: 先ほど作成した自己証明書
セキュリティグループ– default
– 以下のインバウンドルールを持つセキュリティグループ
タイプ: HTTP 、HTTPS
ソース: マイ IP
ターゲットグループターゲットグループ: 既存のターゲットグループ
名前: 先ほど作成したターゲットグループ
ALB のプロビジョニングが終了したら、HTTPS プロトコルで ALB の DNS 名にアクセスしてください。 警告は無視してアクセスしてください。Google Chrome の場合は、以下の記事の方法で警告を無視することができました。 「Welcome to …」というようなテキストのみ表示される画面が出たら、設定完了です。

プログラミングの最近記事

  1. PlatformIO IDE for VSCode を使用して VSCode で Ardu…

  2. ROS Docker イメージで発生した GPG error の解消方法

  3. Streamlit で訪れた国を色づけした世界地図を作成できるアプリケーションを作成してみ…

  4. M5Stack Core2 for AWS – ESP32 IoT開発キットで…

  5. D3.js v7 で点・線・テキスト・ツールチップ・ズームを設定する方法

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP