logo サブスレッド

aws cli コマンドで ELB に証明書を登録する

水曜日担当の秋山です。よろしくお願いします。

今週の「社内「今何してる掲示板(仮)」をつくる」はお休みです。すみません(´・ω・`)

今日のひとネタ

ある案件で、AWS のコンソールから ELB に証明書を登録する際に

Server Certificate not found for the key: arn: aws:iam::***********:server-certificate/hogehoge

が延々と出てロールバックする症状に見舞われた事がありまして。
そんな(´・ω・`) 他の ELB では普通にコンソールから登録出来たのに…

こんな時にどうすれば良いかというと

諦めて aws cli コマンドを打って証明書をアップロードします!

手順

予め、aws cli を実行する為のIAMユーザーを作成しておきます。ポリシーは適当に、IAMFullAccess をアタッチ。
(用事が済んだらすぐ削除しようという考え)

  1. (Mac) awscli をインストール

    pip install awscli
    
  2. (Mac) aws cli の設定をする

    aws configure
    AWS Access Key ID [None]: (IAMユーザーのアクセスID)
    AWS Secret Access Key [None]: (IAMユーザーのシークレットキー)
    Default region name [None]: (お使いのリージョン)
    Default output format [None]:
    
  3. aws cli コマンドから証明書をアップロード

    --server-certificate-name
    証明書の保管名
    --certificate-body
    証明書(例: file://certificate.pem)
    --private-key
    プライベートキー(例: file://privatekey.pem)
    --certificate-chain
    中間証明書(例: file://certificate.chain.pem)
    

大体こんな感じのコマンドになります。

aws iam upload-server-certificate --server-certificate-name hogehoge --certificate-body file://certificate.pem --private-key file://privatekey.pem --certificate-chain file://certificate.chain.pem

これを実行して…
こんな感じのJSONが返って来たらOK。

{
    "ServerCertificateMetadata": {
        "ServerCertificateId": (省略)
        "ServerCertificateName": "hogehoge",
        "Expiration": "2016-07-02T20:00:00.855Z"
        "Path": "/",
        "Arn": "arn:aws:iam::************:server-certificate/hogehoge",
        "UploadDate": "2016-07-06T20:00:00.855Z"
    }
}

∩(・ω・)∩ヤッター
無事証明書が登録出来ました!

わからない時は割とハマりそうなひとネタでした。

現在の位置:サブスレッド ホーム > 技術ブログ > aws cli コマンドで ELB に証明書を登録する