【AWS】SSM Session Managerの利用方法について



# Session Manager用のEC2ロールを作成する

アタッチするポリシー

- AmazonSSMManagedInstanceCore  
 System Managerサービスコア機能にアクセスするために必要なアクセス許可
- AmazonSSMDirectoryServiceAccess  
 Windows Server の EC2 インスタンスを Microsoft AD ディレクトリに結合する場合にのみ必要なアクセス許可
- CloudWatchAgentServerPolicy  
 メトリクスを読み取り、インスタンスにデータのログを記録して、Amazon CloudWatch に書き込むために、インスタンスにCloudWatchエージェントをインストールして実行する場合に必要なアクセス許可

# EC2へのロール割り当て
設定したいEC2インスタンスを選択し、`IAMロールの割り当て`を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/4dc48f0b-ecf9-be96-95df-51aa202d3c7e.png)

設定したいIAMロールを選択し、`適用`をクリックします。

EC2の再起動を行い、設定を反映させます。
再起動できない場合は、SSMサービスの再起動でも良いそうです！
※ 15分ほど待てば反映されます。

# 接続してみる
AWS System Managerのセッションマネージャーの項目に移動し、セッションの開始を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/6a46bf46-7d21-93d7-dad4-34b90bf47d2b.png)

正しく接続されていると思います。


# プライベートEC2に接続する為には

VPC内のプライベートなEC2を作成して以下の手順をおこなってください。

## 1.SSMエージェントの確認
SSMエージェントがインスタンスにインストールされていることを確認します。
## 2.IAMロールの作成
上記で作成したSystem Manager用のIAMロールを作成してください。
## 3.IAMロールの割り当て
上記で作成したSystem Manager用のIAMロールをEC2に割り当ててください。
## 4.VPC IDとSubnet IDの確認
Amazon EC2コンソールを開いてからインスタンスを選択し、**VPC ID**と**Subnet ID**をメモします。
## 5. エンドポイントの作成 × ３個
System Manager用のVPCエンドポイントを３つ作成します。
### １個目 ： com.amazonaws.region.ssm
 [こちら](https://console.aws.amazon.com/vpc/)のページで作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/0a40e64e-445e-4434-3e14-5f0e82227028.png)

サービスを名前で検索をクリックし、
**Service Name** で **com.amazonaws.region.ssm** を入力し、`検証`を押します。
regionの値は自分の環境で置き換えてください。
東京の場合：**com.amazonaws.ap-northeast-1.ssm**

**VPC** で、ご自身のインスタンスの `VPC ID` を選択します。
**サブネット** でインスタンスの `Subnet ID` を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/3ad8e38c-691a-b7e6-da29-cbdf0f0be3e5.png)


**Enable Private DNS Name** で `このエンドポイントで有効にする` を選択します。
**Security Group** をクリックし、既存のセキュリティグループを選択するか、新しいセキュリティグループを作成します。セキュリティグループはポート 443 でインスタンスからのインバウンドトラフィックを許可する必要があります。
今回は、新しくセキュリティーグループを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/4f25415d-f813-5e6c-9924-7225b39f6fcc.png)

`セキュリティーグループの作成`をクリックし、適当な「名前」と「説明」を入力します。
また、VPCは現在、対象としているVPCを選択してください。
セキュリティーグループの新規作成が完了したら、**インバウンドのルール**を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/2d32f97f-619a-2278-e06a-d904198c1c5b.png)

タイプで`HTTPS`を選択し、
ソースは、操作したいEC2インスタンスが所属するSubNetのCRIDを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/4a1730ff-b3b1-e8a1-6a64-2b1fc942bf1d.png)

新しいセキュリティグループを作成する場合は、Group ID をメモします。

エンドポイントの作成画面へ戻り、先ほど作成したセキュリティーグループを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/3579d2c8-8dc2-292b-8d8e-f1fc0cc86095.png)


### ２個目 ： com.amazonaws.region.ec2messages
**Service Name** で **com.amazonaws.region.ec2messages** を入力し、`検証`を押します。
regionの値は自分の環境で置き換えてください。
東京の場合：**com.amazonaws.ap-northeast-1.ec2messages**
VPCとサブネット・セキュリティーグループも１個目と同様に選択します。

### ３個目 ： com.amazonaws.region.ssmmessages
**Service Name** で **com.amazonaws.region.ssmmessages** を入力し、`検証`を押します。
regionの値は自分の環境で置き換えてください。
東京の場合：**com.amazonaws.ap-northeast-1.ssmmessages**
VPCとサブネット・セキュリティーグループも１個目と同様に選択します。

# 接続してみます
選択する欄に表示され接続する事ができました。





# 参考サイト

[Systems Manager を使用してインターネットアクセスなしでプライベート EC2 インスタンスを管理できるように、VPC エンドポイントを作成するにはどうすればよいですか？](https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-systems-manager-vpc-endpoints/)