RapidSSL証明書の更新（ELB）

# まえがき

備忘録です。
一度証明書の新規設置をしているはずなのに、忘れちゃった自分を殴りたい:punch_tone2:

# 証明書操作用のユーザーを作る

## 1. AWSにログイン

（いつも通りの）ルートユーザーでログイン

## 2. 証明書操作用のIAMからユーザーを作成する

### 1. IAMへ移動し、左上の「ユーザーを追加」ボタンを押下

### 2.【ユーザーを追加】
　ユーザー詳細の設定： 適当なユーザー名を付ける
　AWS アクセスの種類を選択：
　「**プログラムによるアクセス**」にチェックする
　「**AWS マネジメントコンソールへのアクセス**」にチェックする
　（**パスワードのリセットが必要**については、私はチェックを外しています）

### 3.【アクセス権限を設定 - 証明書操作権限を作成】

1. 「既存のポリシーを直接アタッチ」をクリック
2. 「ポリシーの作成」をクリック
3. 「独自のポリシー」をクリック
4. 下記を記入し、保存

　ポリシー名：適当（例：CertificateControl）
　詳細：適当
　ポリシードキュメント：

```json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:DeleteServerCertificate",
                "iam:ListServerCertificates",
                "iam:UploadServerCertificate"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

### 3.【アクセス権限を設定 - 権限を付与】

1. 「既存のポリシーを直接アタッチ」を選択する

2. 下部一覧から「poweruserAccess」を検索しチェックを入れる

3. 「更新ボタン」を押し上部3.で作成した証明書操作権限のポリシーを検索し、チェックを入れる
（恐らく、作成したポリシーは一覧の上部にあるかと）

4. 右下の「次のステップ：確認」を押下。

### 4.【確認】

下記のようになっていることを確認する。

![iam.png](https://qiita-image-store.s3.amazonaws.com/0/45080/28c5c32b-fb2d-1ce8-c01a-b8e67676591d.png)

問題が無ければ、右下の「ユーザーの作成」を押下する。

### 5. ユーザー作成完了

成功すると、下記のような画面が出てくるはずです。

![iam2.png](https://qiita-image-store.s3.amazonaws.com/0/45080/08fefcee-e2c0-74ac-8c0a-0065a729f274.png)

**:man_tone1: ここのCSVをダウンロードしておきましょう。**
アクセスキーIDとシークレットアクセスキーは、画面上からコピーし、落としたCSVに記入しておくといいです。

では、早速アクセスします。

## 3. 証明書操作権限を持ったユーザーでAWSマネジメントコンソールへアクセス

### 1. ログイン画面へのリンクを確認

方法１： 2-5の画面を開いていれば、「成功」という枠内にあるリンク(  https://xxxxxx.signin.aws.amazon.com/console  )をクリック
方法２： DLしてたCSVに載っている(Console login link)リンクを開く
方法３： その他の場合は、「IAM」から「ユーザー」を開き、対象のユーザー名をクリック
　「認証情報タブ」の「コンソールログイン」のリンク(  https://xxxxxx.signin.aws.amazon.com/console )をクリック

![iam3.png](https://qiita-image-store.s3.amazonaws.com/0/45080/815f29b4-6265-bea4-8533-8b452c183ef4.png)

### 2. ログイン画面から、ログインを行う

下記のような画面が表示されるはずです。（アカウントの欄は自動で入力されているはずです）

![iam4.png](https://qiita-image-store.s3.amazonaws.com/0/45080/d595f916-b595-7afb-e9b6-72d9876f7c37.png)

# 証明書を登録する

「対象のELB > リスナー」から更新します。

![iam5.png](https://qiita-image-store.s3.amazonaws.com/0/45080/3c1a29e3-196f-59cb-9c19-6564415cf513.png)

上記画像の青線の「変更」をクリックすると、証明書の変更画面がポップアップで表示されます。

### 1. 証明書タイプ

「AWS Identity and Access Management (IAM) に、新規のSSL 証明書をアップロードする」を選択

### 2. 証明書の名前

　重複しない、分かりやすく適当な名前を付ける。（ドメイン名を含んでいると分かりやすいかと）

### 3. プライベートキー

　初回証明書設置時に作成したプライベートキーをセット

```
-----BEGIN RSA PRIVATE KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END RSA PRIVATE KEY-----
```

### 4. パブリックキー証明書

　メールで送られてきている、「SSLサーバ証明書」をコピペします。
　私は内部的にnginxを使っているので、（X.509形式）にしました。

```
-----BEGIN CERTIFICATE-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END CERTIFICATE-----
```

### 5. 証明書チェーン

メールに載っている中間証明書と[クロスルート仕様の証明書](https://www.geotrust.co.jp/resources/rapidssl/repository/crossroot.html)を併せたものを使います。

```
-----BEGIN CERTIFICATE-----
メールに載っている中間証明書
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
クロスルート仕様の中間証明書
-----END CERTIFICATE-----
``` 

:angel_tone2: クロスルート仕様の中間証明書を含めなかった場合、Android全般・Mac版FireFoxにも対応されません(2016年12月26日現在)

### 6. 保存
右下にある「保存」ボタンを押下します。

```
※「証明書の登録はできたけど、セットは出来てないよ！」ってエラーが出た時は、もう一度「変更」ボタンを押下して
　「AWS Identity and Access Management (IAM) から、既存の証明書を選択する」を選択、
　「修了書」のプルダウンから、作成した証明書を選択し、保存してください。
```

# 終了！

使わなくなった証明書とかは、ACLで削除するのがおススメです:relaxed:！（超簡単！）