LoginSignup
1
2

More than 5 years have passed since last update.

AWS Certificate Manager に コマンドで 証明書をインポートする

Posted at

AWS Certificate Manager(ACM) に、COMODOなどで発行した証明書をコマンドラインでインポートする手順を紹介します。

ELBや AWS API Gatewayなどに独自ドメインを設定してhttpsでアクセスするようにしている場合、SSL証明書の設定が必要になります。
ELBは証明書の更新が楽でダウンタイムもないのですが、API Gatewayの場合手順によってはダウンタイムが発生します。
API Gatewayでは、直接証明書を設定することもできるのですが、この場合は証明書の更新のために 独自ドメイン設定を一度削除して、設定し直す 必要があるようです。
当然、削除してから再設定までの間は、ドメインが利用できずダウンタイムが発生してしまいますが、ACMを使えば無停止での証明書の更新ができるので、この手順をまとめます。

前提条件

  • 最新版のAWS CLI がインストール済み
  • jqがインストール済み
  • 実行環境が *nix(含むMAC OSX)
  • 証明書ファイルはnopass設定で用意済み
    • 秘密鍵
    • 公開鍵
    • 中間証明書

手順

1. ACM に証明書をインポートする

aws acm import-certificate --certificate file://{PATH_TO_CERTIFICATE} --private-key file://file://{PATH_TO_PRIVATEKEY} --certificate-chain file://file://{PATH_TO_CERTIFICATE_CHAIN}

※ もしリージョン指定が必要なら --region {AWS_REGION} を追加する

結果

一応マネジメントコンソールの画面です
範囲を選択_020.png

2. インポートした証明書にNameタグを追加する

インポートしただけだとNameタグが空なので、設定しておく

登録済みの証明書一覧

証明書の一覧を表示して、タグを追加したい証明書のarnをコピーします

aws acm list-certificates 

タグを追加

xargs aws acm add-tags-to-certificate --tags Key=Name,Value={NAME} --certificate-arn #{CERTIFICATE_ARN}

結果

一応マネジメントコンソールの画面です
範囲を選択_021.png

参考

参考にしたWebサイトや技術書などを列挙する

次にやること

あとは、ELBなりApi Gatewayなりで、インポートした証明書を指定して設定するだけです。
注意点としては、 Api Gatewayを利用する場合、証明書をインポートするリージョンは us-east-1 でなくてはいけません。
私は、最初 ap-northeast-1 に上げて、作業をやり直しました。(画像のリージョンがTokyoになっているのはそのため)
必要に応じてコマンドに --region us-east-1 を追加して実行してください。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2