プライベートサブネットでセッションマネージャー(SSM)を利用する場合はSSM用エンドポイントが必要

  • 投稿者:
  • 投稿カテゴリー:aws

エラー内容

プライベートサブネットでセッションマネージャー(SSM)を利用しようとしたところ以下のエラーになった。

解決策

セッションマネージャー(SSM)を利用するためには、インターネット or SSM用エンドポイントを経由して、SSMにアクセスする必要がある。

今回はプライベートサブネットのためSSM用のエンドポイントを作成した。必要なエンドポイントはプライベートサブネットに配置したEC2にAWS Systems Manager Session Managerを使ってアクセスするに記載されている。

シェルにアクセスしたいだけだったため、VPCから以下2つのエンドポイントを作成した。
・com.amazonaws.ap-northeast-1.ssm
・com.amazonaws.ap-northeast-1.ssmmessages
※この2つはインターフェイスVPCエンドポイントという方式であり、ルートテーブルへの設定は不要だった。

そのほかの設定はうまくいっていたため、接続できるようになった。

その他のハマりどころ – EC2ロールについて

AmazonSSMManagedInstanceCoreを指定する。
※リリース当時はAmazonEC2RoleforSSMを指定することとなっていたが、許可している権限の範囲が広いため将来的には非推奨となる予定。

参考

ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築ハンズオン 手順
PrivateLinkがリリースし新たにEC2, Systems Manager, ELB, Kinesis, Service CatalogがVPCエンドポイントに対応しました