EC2のキーをリージョンをまたいで使用する方法

## EC2のキーとは

EC2インスタンスへ入る際に使用するキー。
EC2の作成時には以下の画面でキーペアを決定します。

![2021-08-261インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/138eb0b2-38f5-efab-755d-f06575d77c58.png)


## EC2のキーをリージョンをまたいで使用する方法

### 概要

今回は、東京リージョンのEC2で使用したキーを
オハイオリージョンのEC2でも使用できるようにしてみます。

![1# EC2のキーをリージョンをまたいで使用する方法 - diagrams.net - Google.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/a49fd667-abaa-3a04-c879-58b6a1380ba9.png)


### 目次

1. 東京リージョンでEC2を作成(キーも新規に作成)
2. 秘密鍵から公開鍵を生成
3. オハイオリージョンにキーのインポート
4. オハイオリージョンでEC2を作成(インポートしたキーを使用)


### 東京リージョンでEC2を作成(キーも新規に作成)

- EC2の作成

[こちら](https://qiita.com/miyuki_samitani/items/61e1548cb61f4053e78d) を参考にEC2インスタンスの作成を行う。

`key-tokyo` というキーペアを作成

![2021-08-262インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/04e32bb9-6b1a-e33a-b223-439f4e3c8b91.png)


無事インスタンスの作成を行えました。

![2021-08-263インスタンス _ EC2 Management Console - Google Chrome 20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/e0c9e04f-9b70-749f-698d-98d2526c391b.png)


インスタンスへのログインも出来ました

```
[centos@ip-XXX-XXX-XXX-XXX ~]$ ip a
```

### 秘密鍵から公開鍵を生成

- キーを確認

key-tokyo.pemが存在します。

```
[root@localhost ~]# ll
合計 4
-rw-r--r-- 1 root root 1700  8月 26 19:25 key-tokyo.pem
```

- 権限を変更

変換する際に権限を400にしないと以下のように怒られるので、変更します。

```
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
```

400に変更

```
chmod 400 key-tokyo.pem
```

400になりました。

```
[root@localhost ~]# ll
合計 4
-r-------- 1 root root 1700  8月 26 19:25 key-tokyo.pem
```

- 秘密鍵から公開鍵を生成

`ssh-keygen` コマンドを使用

```
ssh-keygen -y -f key-tokyo.pem
```

以下のような文字列が出力されます、これが公開鍵です。

```
ssh-rsa AAAAB3NzaC1yc2EXXXXXXXXXXXXXXXXXX.....
```

### オハイオリージョンにキーのインポート

- オハイオリージョンへ移動

![2021-08-265キーペア _ EC2 Management Console - Google Chrome 2021.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/223a84d5-5261-75ed-b1af-55f02dc724f8.png)


- インポートを行う

`EC2 > ネットワーク&セキュリティ > キーペア` へ移動し、
`アクション > キーペアをインポート` を行います。

![2021-08-264キーペア _ EC2 Management Console - Google Chrome 2021.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/d9f7c12e-f8d8-7cf0-e97e-e08369c2d085.png)


- 設定

名前と公開鍵情報を入力します。
名前は何でもいいですが、キーペアファイルには↑で出した
公開鍵の情報を入力してください

![2021-08-266EC2 Management Console - Google Chrome 2021-08-26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/11c64a38-5155-cf9a-e555-96418973e80d.png)


- キーペアの完了

![2021-08-267キーペア _ EC2 Management Console - Google Chrome 2021.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/aab00214-8fc9-b16c-eb17-bdffa4a0ceb9.png)


### オハイオリージョンでEC2を作成(インポートしたキーを使用)

- EC2の作成

↑と同じように、[こちら](https://qiita.com/miyuki_samitani/items/61e1548cb61f4053e78d) を参考にEC2インスタンスの作成を行う。

`key-tokyo` というキーペアを作成

![2021-08-267インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/49031d43-6da9-846f-e859-8115413ee713.png)


出来ました。

![2021-08-268インスタンス _ EC2 Management Console - Google Chrome 20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/3801a927-0d27-31e7-656f-77fa6a77583f.png)


ログインも出来ました

```
[centos@ip-XXX-XXX-XXX-XXX ~]$ ip a
```

## 勉強後イメージ

秘密鍵から公開鍵が作れるのか・・・
まぁ、、たしかにそうだよね

## 参考

- [すべての AWS リージョンで 1 つの SSH キーペアを使用する方法を教えてください。](https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-ssh-key-pair-regions/)
- [AWS EC2のキーペアを別リージョンにコピーする方法](https://ameblo.jp/hackerbobchan/entry-12572572238.html)
- [リージョン間で同じEC2キーペアを利用する](https://oreout.hatenablog.com/entry/aws/ec2/1)