BETA

【AWS】HTTPS化のアレコレ

投稿日:2020-08-04
最終更新:2020-08-04

うわぁ!やっちゃった!

今朝、社内でテストなどに使っているAWS CloudWatchからコスト超過のSlackが来ました。
まだ8月に入ったばかりです。やばい、と会社の先輩と原因を調べてみると、

CertificateManager $386.85

なんかめっちゃ高い項目ある!なんだろ… あ、これ先月に私が作ったプライベートCAだ

私がプライベートCAを立てた経緯

工数管理・トレーサビリティ向上のために社内AWS環境にRedmineを構築(bitnami AMI)
→ https化(自己署名証明書)を依頼される
→ 「AWS https化」で検索、ネット記事の手順をそのまま実施
→ プライベートCAを作成

Redmineは社内でしか使わない、セキュリティグループもそのように設定しているので
プライベートCAを立てずに自己署名証明書のみで良かった!(ていうか、そう依頼されていた)

よく分からないままエイヤでやってしまった

根本的な原因はこれです。https化、自己署名証明書の仕組みを理解せず作業してしまいました。
なので、今勉強しておきます!

HTTPS化とは

HTTPSとは 安定のピヨ太くん分かりやすいですね

HTTPだと通信の内容が見られてしまう危険性があるため、
暗号化通信のSSLがセットになったHTTPSを使おう!ということ

HTTPSには「サーバ証明書」が必要(暗号化する鍵)

  • お客様が見るサイトはパブリック認証局が発行するサーバ証明書を使う
  • 社内向けサイトはプライベート認証局(プライベートCA)が発行するサーバ証明書を使う
    • プライベートCAの証明書のみを信頼できるルートとすると、発行した証明書が信頼性のあるものになる
  • 自分しか見られない、暗号化するだけが目的だったらサーバ自身が発行する自己署名証明書

AWSでのHTTPS通信

【初心者向け】AWSのサービスを使ってWebサーバーをHTTPS化する

AWSでのHTTPS通信を実現するには以下2通りの方法がある

  1. EC2に証明書をインストール
  2. ELBに証明書をインストール
    • ELB(ロードバランサー)でHTTPS→HTTPに変換してEC2にアクセス

何か違いはあるのかな??
→ EC2上のWebサーバなどがHTTPS非対応だったらELBに証明書をインストールして
  ELB-EC2間はHTTP通信にする

結論:脳死状態でAWS触らない

自分が何をしているのかハッキリ分かっていない状態での環境構築は控えましょう
糖分をとって分からないことは調べて聞いて目的と手順をきちんと理解して作業しましょう
そして会社のみなさんごめんなさい!!

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう