こんにちは!
分析官の望月です。
最近、クライアント先でトライアル利用しているMatillion(ELTツール)をhttps化しました。本記事ではその際の手順を備忘録的にまとめています。ちょっとマニアックなテーマにはなりますが、これからhttps化する人の参考になれば幸いです。
注意!
下記に記載している手順よりもスマートなやり方があると思ってます。
ご存じの方、共有していただけますと幸いです。
https化の必要性
- Matillionはデフォルトだとhttp通信しか対応していない
-
ブラウザ経由で安全に情報をやり取りするためにhttpで行われるweb通信に、SSL/TLSを加えてhttps化する必要がある
Matillion用インスタンス情報
- クラウド:GCP
- OS:CentOS 7
利用したサービス
- ドメイン取得&DNS設定:お名前.com
- SSLサーバ証明書発行:Let’s Encrypt
上記サービス利用費
- お名前.com:1円/年
※1 有効期限は1年間(2年目以降は1,408円)
※2 ドメインはcomを選択 - Let’s Encrypt:無料
※ 有効期限は90日間
手順
1. Matillion用インスタンスの外部IPを固定&お名前.comでドメイン取得・DNS設定
こちらの記事が参考になりました。
2. Let’s Encryptを利用してSSLサーバ証明書を取得
注意!
テキトーにいじってMatillion用インスタンスの環境を壊したくなかったので、初心者の望月はわざわざ証明書発行用インスタンス(CentOS 7)を作成しました。 ←多分こんなことする必要はなさそう…
2-1. 証明書発行用インスタンスにssh接続
2-2. snapdをインストール(certbotをインストールするのに必要)
# snapdのインストール
sudo yum install snapd
# サービス自動起動を有効化
sudo systemctl enable --now snapd.socket
# シンボリックリンクの設定
sudo ln -s /var/lib/snapd/snap /snap
2-3. snapdのバージョンが最新であることを確認
sudo snap install core; sudo snap refresh core
2-4. certbotをインストール(SSLサーバ証明書を発行するのに必要)
# certbotのインストール
sudo snap install --classic certbot
# シンボリックリンクの設定
sudo ln -s /snap/bin/certbot /usr/bin/certbot
※すでにapt, dnf, yum等でcertbotをインストールしている場合はあらかじめ削除しておく
2-5. SSLサーバー証明書を発行
# manual設定の場合
sudo certbot certonly --manual --preferred-challenges dns -d *.[任意のドメイン名(例:hogehoge.com)]
- 上記コマンドを実行→メールアドレス登録, 諸々の内容確認
- 最後に表示されるテキストレコードの情報をDNSサーバに登録
- Enterを押すと/etc/letsencrypt/live/[ドメイン名]直下に証明書が格納される
- README
- cert.pem
- chain.pem
- fullchain.pem
- privkey.pem
- 参考:https://hawksnowlog.blogspot.com/2018/08/certbot-dns-challenge-on-mac.html
3. Matillion用インスタンスにSSLサーバ証明書を格納
3-1. Matillion用インスタンスにSSH接続
3-2. 既存の証明書のバックアップを取得
sudo -i
cd /etc/tomcat8/
cp localhost.crt localhost.crt.bak
cp localhost.key localhost.key.bak
3-3. SSLサーバ証明書を格納
こちらの動画が参考になりました。
※上記動画で紹介されている方法で格納する場合、あらかじめSSL証明書をローカル環境に落としておく必要があります。
振り返り
わざわざ証明書発行用インスタンスを作成する必要はなさそうです。(Matillion用インスタンスでcertbotをインストール→SSLサーバ証明書を発行すれば良いかも)
残課題
手動でssl証明書を格納しているので90日に1回、SSLサーバ証明書再発行の手作業が発生してしまいます。(ここらへんが参考になりそう)
その他参考
certbotとは?:About Certbot
certbotのインストール方法(CentOS 7):Certbot Instructions