サーバー証明書をCLIでアップロードする

こんにちは、技術1課の多田です。 皆さん、普段AWS CLI(以下、CLI)を利用されているでしょうか?
私は、AWSマネジメントコンソールとCLIを併用しているのですが、今回はサーバー証明書をCLIでアップロードする記事になります。
尚、今回動作確認を行ったのは、『
Amazon Linux AMI 2016.03.0』になります。
  以下、目次です。

  1. 証明書アップロードの手段について
  2. CLIのセットアップ
  3. 既存のサーバー証明書の確認
  4. 不要な証明書を削除する
  5. サーバー証明書のアップロード
  6. まとめ

証明書アップロードの手段について

SSL証明書をアップロードする方法には2種類あります。
1つは、AWSマネジメントコンソールからアップロードする方法です。
もう1つは、CLIを利用してアップロードする方法で、こちらのアップロード方法について今回フォーカスします。
尚、予めCLIを導入していることを前提としているため、こちらを参考に導入してください。
また、以下のコマンドを実行して導入したバージョンを確認できます。 今回、動作を確認したAmazon Linuxでは、デフォルトでCLIが導入されておりました。

CLIのセットアップ

CLIセットアップの時は、以下のコマンドを実行し、各種必要な情報を入力します。 CLIセットアップが完了しましたら、サーバー証明書をアップロードを実行します。

既存のサーバー証明書の確認

以下のコマンドを実行して、既存のサーバー証明書を確認します。 証明書が1件存在する場合の実行結果は、次の通りです。   証明書が存在しない場合の実行結果は次の通りです。

不要な証明書を削除する

以下のコマンドを実行することで、アップロードした証明書を削除することが可能です。
尚、削除を実施する場合、既にサービスで証明書を紐付けしているのであれば、その紐付けを解除する必要があります。
例えば、Elastic Load Balancing(以下、ELB)の場合、Listenersタブ > Editボタン > 該当の証明書が登録されている行の「×」ボタンを押下 > Saveボタンを押下して設定の解除を実施して下さい。 sslcertificate_1 その後、以下のコマンドを実行して既存の証明書を削除して下さい。

サーバー証明書のアップロード

以下の手順を実行して、サーバー証明書をアップロードします。 まずは、アップロードするファイルの確認をします。 以下のコマンドを実行して、『20160417-example』という名前の証明書をアップロードします。 尚、ELBであれば、上記のコマンドを実行すれば、AWSマネジメントコンソールの証明書一覧から使用できますが、
Amazon CloudFront(以下、CloudFront)については、上記のコマンドに以下のような--path」オプションを付与する必要がありますので、ご注意下さい。
また、「--path」オプションで指定するファイルパスの最後は、スラッシュ(/)で閉じなければいけないこともご注意ください。
詳しくは、こちらをご覧ください(英語のドキュメントになります)。 以上の作業でAWSにサーバー証明書がアップロードされているので、ELBやCloudFrontでアップロードした証明書を使ったHTTPSアクセスが設定可能になります。

まとめ

今回は、サーバー証明書のアップロードをCLIで実現する方法をご紹介しました。
サーバーのローカルで証明書を作成して、CLI実行環境があればすぐに証明書をアップロードできるので、作業効率化になります。
また、AWSマネジメントコンソールからアップロードすることもできますが、証明書アップロードした時のログを残す意味でもCLIを利用するのも良いと言えます。
今回、紹介した手順は、弊社エンジニアも寄稿しております、『Amazon Web Services実践入門』にも詳しく記載されておりますので、ぜひご一読ください!

AWS運用自動化サービス「Cloud Automator」無料トライアルはこちらから

CATEGORY :

COMMENT ON FACEBOOK