sorta kinda...

主にAWS関連ですが、これに限らずいろいろ勉強したことや思ったことを書いていきます。

ELB に適用している証明書の更新の流れ [cloudpack OSAKA blog]

ナスです。

最近、ELB の証明書更新作業があったので、忘れないようにメモ記事書いておきます。本当にメモです。(なんせ年に 1 回しかしないので…

 

まずは証明書のアップロード

元ネタのドキュメントはこちら
docs.aws.amazon.com

# 証明書のアップロード
$ aws iam upload-server-certificate --server-certificate-name a-domain_20181025 --certificate-body file://xxx --certificate-chain file://yyy --private-key file://zzz
{
    "ServerCertificateMetadata": {
        "ServerCertificateId": "*********************",
        "ServerCertificateName": "a-domain_20181025",
        "Expiration": "2018-10-25T07:04:08Z",
        "Path": "/",
        "Arn": "arn:aws:iam::111122223333:server-certificate/a-domain_20181025",
        "UploadDate": "2017-09-01T05:47:35.946Z"
    }
}

# アップロード済みの証明書一覧を確認する
$ aws iam list-server-certificates
{
    "ServerCertificateMetadataList": [
        {
            "ServerCertificateId": "*********************",
            "ServerCertificateName": "a-domain_20160923",
            "Expiration": "2017-09-24T07:04:08Z",
            "Path": "/",
            "Arn": "arn:aws:iam::111122223333:server-certificate/a-domain_20160923",
            "UploadDate": "2016-09-23T08:00:49Z"
        },
        {
            "ServerCertificateId": "*********************",
            "ServerCertificateName": "a-domain_20181025",
            "Expiration": "2018-10-25T07:04:08Z",
            "Path": "/",
            "Arn": "arn:aws:iam::111122223333:server-certificate/a-domain_20181025",
            "UploadDate": "2017-09-01T05:47:35Z"
        }
    ]
}

 

証明書の更新

元ネタのドキュメントはこちら
docs.aws.amazon.com

# 対象の ELB に適用されている証明書を確認する
$ aws elb describe-load-balancers --query 'LoadBalancerDescriptions[?LoadBalancerName==`elb-a-domain`].ListenerDescriptions[].Listener.SSLCertificateId'
[
    "arn:aws:iam::111122223333:server-certificate/a-domain_20160923"
]

# 適用する証明書を更新する
$ aws elb set-load-balancer-listener-ssl-certificate --load-balancer-name elb-a-domain --load-balancer-port 443 --ssl-certificate-id arn:aws:iam::111122223333:server-certificate/a-domain_20181025

# 対象の ELB に適用されている証明書を再確認する
$ aws elb describe-load-balancers --query 'LoadBalancerDescriptions[?LoadBalancerName==`elb-a-domain`].ListenerDescriptions[].Listener.SSLCertificateId'
[
    "arn:aws:iam::111122223333:server-certificate/a-domain_20181025"
]