AWS Systems Manager 機能の Fleet Manager または Session Manager を使用して Amazon EC2 インスタンスを管理することをお勧めします。SSH で直接アクセスする代わりに、これらのサービスを使用することで、セキュリティグループでインバウンドトラフィックを許可する必要がなく、多要素認証 (MFA) を利用することが可能になり、コマンド履歴の監査機能も提供されます。Windows インスタンスでは、Fleet Manager を使用してリモートデスクトップ (RDP) にもアクセスできます。
要塞化された踏み台ホストやサードパーティのトンネリングソリューションを使用して外部に露出するリソースの量を制限することもできますが、管理ポートへのトラフィックを完全に閉じ、AWS Systems Manager Agent (SSM Agent) を活用して管理用接続を開始することがより良い方法です。
Fleet Manager は AWS Systems Manager 内の無料機能で、SSM Agent を有効にする必要があります。SSM Agent は 多くの Amazon Machine Image (AMI) にプリインストール
されていますが、Systems Manager に必要なアクセス権限をインスタンスに設定
し、管理ポリシーAmazonSSMManagedInstanceCore
を持つインスタンスプロファイルとして IAM ロールを追加する必要があります。また、NAT ゲートウェイまたは Systems Manager 用 VPC エンドポイントを作成して、AWS サービスエンドポイントへのネットワークアクセスを提供する必要があります。
Session Manager を使用すると、SSH を使用する代わりに Unix/Linux インスタンスに、または PowerShell を介して Windows インスタンスに接続できます。
Fleet Manager は、インスタンスを管理するための複数の機能 (プロセスの終了、インスタンスにログインせずにファイルのアップロード/ダウンロードなど) を提供し、リモートデスクトップを使用して Windows インスタンスへの接続を提供します。Fleet Manager から Session Manager 接続を開くこともできます。
AWS マネジメントコンソールへのアクセスには、AWS IAM Identity Center または IAM ユーザーで多要素認証 (MFA) を設定することが可能です。さらに、Fleet Manager や Session Manager を使用する際には、実行されたコマンドの監査ログをオプションで有効にすることができます。
Fleet Manager を Windows インスタンスへの接続に使用する場合、AWS IAM Identity Center、OS の認証情報、またはキーペアを使用して認証できます。AWS IAM Identity Center との統合を活用することで、追加の認証情報を提供せずに Windows インスタンスにワンクリックでログインできます。
特権アクセス管理 (PAM) のための複数のソリューションがあります。これらはインスタンスでログ記録のあるシェルを提供しますが、多くの場合、そのソリューションから管理ポート (22/3389) へのネットワークアクセスを提供する必要があります。このタイプのソリューションを使用する場合は、そのソリューションの IP アドレスからのみのアクセスを許可するようにしてください。