AWS Session Manager ハンズオン

**■AWS Systems Managerとは？**
・EC2インスタンスにSSH・RDPで接続せずにブラウザ上からCLI操作ができる機能です。
・ブラウザがSSHクライアントとして動作している訳でなく､制御はSSMによって実現されています｡
・セキュリティグループのインバウンド設定や踏み台ホストを作ること無く安全にEC2インスタンスへ接続できます。

---
###1.SSMエージェントをバージョンアップする###

バージョンアップをしていないと↓のような画面が表示され、バージョンアップしてくれと表示されてしまいます。
![スクリーンショット 2018-10-10 18.49.58.png](https://qiita-image-store.s3.amazonaws.com/0/280929/31bab2ab-6312-231b-3540-1b2c42604f37.png)

[SSM エージェント をインストールし設定する](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/ssm-agent.html) を参考にアップデートしてください。

今回は、Amazon Linux2 の手順を紹介します。

下記コマンドでインストールします。
`yum install -y https://amazon-ssm-ap-northeast-1.s3.amazonaws.com/latest/linux_amd64/amazon-ssm-agent.rpm`
![スクリーンショット 2018-10-10 19.10.08.png](https://qiita-image-store.s3.amazonaws.com/0/280929/9d399177-7aa9-58ae-ceab-a77eba1ef363.png)

SSM エージェント が実行中であるか確認してください。
`sudo systemctl status amazon-ssm-agent`
![スクリーンショット 2018-10-10 19.11.02.png](https://qiita-image-store.s3.amazonaws.com/0/280929/82b534ee-b7ee-c712-bfb5-f97df06f9c1b.png)


###2.EC2インスタンスにIAMロールを設定する###

EC2インスタンスのIAMロールにAWS管理ポリシー AmazonEC2RoleforSSM を割り当てます。
割り当てていないと、↓感じの画面が出て怒られました。
![スクリーンショット 2018-10-10 19.30.24.png](https://qiita-image-store.s3.amazonaws.com/0/280929/85c42081-e2ec-77c3-9668-8ec39c50e183.png)

IAMを開き、「ロール」から「ロールの作成」をクリックします。
![スクリーンショット 2018-10-11 23.41.36.png](https://qiita-image-store.s3.amazonaws.com/0/280929/2005d863-9019-b6f7-aa36-3aae7ce01e6f.png)

「EC2」を選択し、「次のステップ：アクセス権限」に進みます。
![スクリーンショット 2018-10-11 23.43.48.png](https://qiita-image-store.s3.amazonaws.com/0/280929/009ba477-ad8b-2679-46aa-51954d231019.png)

「AmazonEC2RoleforSSM」を選択し、「次のステップ：確認」に進みます。
![スクリーンショット 2018-10-11 23.44.38.png](https://qiita-image-store.s3.amazonaws.com/0/280929/2361652e-6eea-ffc8-cb1d-6a9f8d64b4d7.png)

適当なロール名を入力し、「ロールの作成」をします。
![スクリーンショット 2018-10-11 23.45.35.png](https://qiita-image-store.s3.amazonaws.com/0/280929/6f0a813b-09e2-c2c6-b807-556b9d512b5b.png)

EC2を開き、「インスタンスの設定」から「IAMロールの割り当て/置換」を選択します。
![スクリーンショット 2018-10-11 23.46.40.png](https://qiita-image-store.s3.amazonaws.com/0/280929/df31d2d6-4c55-efa6-a874-cb0834ae9bac.png)

先程作成した[IAM ロール]を選択し、「適用」します。
![スクリーンショット 2018-10-11 23.48.44.png](https://qiita-image-store.s3.amazonaws.com/0/280929/7db21720-fc6d-4231-fa78-a34d171d79bf.png)


###3.セッションの開始###

準備ができたので、接続して見ましょう！

Systems Mangerの画面を開き、「セッションマネージャー」から該当のインスタンスを選択し、「セッションの開始」をクリックします｡
![スクリーンショット 2018-10-10 19.38.38.png](https://qiita-image-store.s3.amazonaws.com/0/280929/47dfce4e-9af4-5879-813f-f8759d55a7e8.png)

はい、これだけです！(Amazon Linux2の場合)
![スクリーンショット 2018-10-10 19.28.30.png](https://qiita-image-store.s3.amazonaws.com/0/280929/323b88d2-67e8-e8ab-91f6-5bb2e43440b8.png)


###4.接続ログを保存する（必要であれば）###

CLIの操作ログをS3 と CloudWatch Logsに保存することができます｡
S3 と CloudWatch Logs を準備します。（手順は省きます。）

「設定」より[Amazon S3 バケットへのセッション出力の書き込み]と[CloudWatch Logs へのセッション出力の送信]を設定「保存」してください。

（S3）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/001219c4-0dd7-d6fd-f7f4-205434e80649.png)

（CloudWatch Logs）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/651d84ea-2fcd-62ee-0b43-7fc883e885ea.png)

設定を有効にした後､セッションを開始し、適当なコマンドを実行してセッションを「終了」します｡
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/8ffea531-9696-2a2b-e913-3e92f540d698.png)

接続ログは「セッション履歴」から一覧で見ることができます｡
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/ffbc7cdb-e6ed-b2e2-b57e-f6f36af69861.png)

（S3）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/14d487b5-7396-94e7-5e8f-e637dd9dac25.png)

（CloudWatch Logs）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/cb7a0cd8-9736-8b29-c413-ce1632d97490.png)