LoginSignup
3
2

More than 3 years have passed since last update.

キーペアのないEC2運用

Last updated at Posted at 2020-06-06

キーペアというネックポイント

EC2を作成すると、通常はキーペアを使用してSSH接続するかと思います

誰もが使用する22番ポートへの攻撃は、SecurityGroupでIPを絞るなどの対応ができますが
キーペアを紛失してしまうとあまりよろしくない。

AWSのSystemsManagerではセッションマネージャーというものがあり、
AWSマネジメントコンソールから、ブラウザ上でセッションを確立でき、いつも通りコマンドも叩けます。

方法

今回はPublicSubnetにあるEC2への、セッションマネージャによるアクセスをやってみます。
前提として、使用する IAMユーザー がSSM等の使用権限を持っていること
※マネジメントコンソールでSSMを操作する権限の話

Public.png

対象のEC2にRoleをアタッチ

EC2に最低限必要なポリシーは1つ
・AmazonSSMManagedInstanceCore

このIAMポリシーを持ったIAM Roleを作成したら、EC2にアタッチします。

①IAMRoleの作成画面へ
②Roleにアタッチするポリシーはデフォルトで存在する、
 AmazonSSMManagedInstanceCore を選択
③EC2インスタンスの画面へ移動して、アクセスするEC2に対して、作成したRoleをアタッチ

SSMで確認、セッション開始

Roleがアタッチされると、SystemsManager > マネージドインスタンス内にインスタンスが存在するので
この時点で準備OKかと思います。

※出てこない場合、プロファイルが読み込まれていないので暫く待つか、再起動で表示されます。

セッションを開始する場合はこの画面からも開始できますが
スクリーンショット 2020-06-06 15.40.37.png

EC2インスタンス画面からも接続可能です。↓
スクリーンショット 2020-06-06 15.41.20.png
「接続」から↓
スクリーンショット 2020-06-06 15.41.52.png

注意点など

Networkingの観点

今回はPublicSubnet、つまりインターネットゲートウェイがルーティングされた環境のインスタンスへの接続を実行しました

Public0.png

よりセキュアにしたい場合は、VPCエンドポイントがルーティングされたSubnetの用意が必要です

Private2(1).png

VPCエンドポイントは、AWSネットワークからインターネットに出ずにアクセス先のAWSリソースへアクセスさせてくれる子なので
今回であればSSMまでのアクセスをAWSネットワーク内で完結してくれます。

VPCエンドポイントに登録するAWSサービス名は以下です
※詳細は時間あったらまた今後追記

com.amazonaws.region.ssm
com.amazonaws.region.ec2messages
com.amazonaws.region.ssmmessages

コスト観点

EC2セッションマネージャーの使用でかかる追加料金はありません
https://aws.amazon.com/jp/systems-manager/pricing/

ただし、VPCリソースの料金はかかります。
例えばVPCエンドポイントの場合

VPCエンドポイントの料金目安、東京リージョン
・各AZのVPCエンドポイント料金:0.014USD/時間
・処理データ1GBあたりの料金:0.01USD/GB
サービス(エンドポイント)毎にかかる
接続の有無に関わらずエンドポイントの料金はかかる

あらかじめVPCリソースの料金は算出しておいたほうがいいですね。
(個人で使っていると、このエンドポイント料金は大きかった)

こう考えてみると、よりコストを意識(重視)する必要がある場合、予め存在する踏み台サーバーのSSHポートを閉じて、PublicSubnetの踏み台サーバーを経由したアクセスが無難そう。
スペックによるが、踏み台のEC2料金のほうが安い場合がある。。

ただ、あくまでセキュリティを重視すべきであれば、PrivateSubnetならVPCエンドポイントで構築したほうが良い。

監査観点

SSMはCloudTrailと統合されているため、APIコールのログが残ります。
CloudTrailはデフォルトで有効となっているので、確認できます

また、セッションマネージャーの画面から、監査ログ等を取得する設定も可能
スクリーンショット 2020-06-06 16.24.45.png

まとめ

セッションマネージャーを使うメリットがたくさんある
キーペアが不要のため、管理する危なっかしいものが減る
・ブラウザでアクセスできるから、WindowsサーバーもRDPであることを意識しなくても済む
・VPC Network環境によって使い分ける
・ログも残してくれる

お試しの場合
・IAMやVPCの勉強になる

以上です!ありがとうございました。

次はトラブルシューティングの記事とか書こうかなーと思っています

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2