Production Level Knowledge & Tips

  1. プログラミング
  2. 6 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. SSL 自己証明書の作成と AWS Application Load Balancer へ…

  2. 私はこの勉強方法で GCP Professional Cloud Architect に合…

  3. HiveでGROUP BYを伴うサブクエリのネストからGROUP BYのキー以外のカラムを…

  4. HiveでExternal Tableを削除する方法メモ

  5. [触ってみた]Microsoft Quantum Development Kit

関連記事

コメント

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

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

PAGE TOP