2022年05月19日 05時00分 公開
特集/連載

AWS「EC2 Instance Connect」のエラー原因は「IAM」「IPアドレス」にあり?「EC2 Instance Connect」エラー対処法【後編】

「EC2 Instance Connect」を使用する際に発生するエラーの原因として、「IAM」やパブリックIPアドレス関連の不備が考えられる。何が問題なのか。対処するにはどうすればいいのか。

[Ernesto Marquez,TechTarget]

 Amazon Web Services(AWS)のSSH(Secure Shell)接続サービス「EC2 Instance Connect」は、仮想マシンサービス「Amazon Elastic Compute Cloud」(Amazon EC2)を使いこなす上で役立つ。ただしEC2 Instance Connectを生かすにはさまざまなエラーを想定し、その対処法を知る必要がある。前編「AWSの『EC2 Instance Connect』がエラーを起こす“あの原因”とは?」はEC2 Instance Connectのエラーを引き起こす主要な4つの原因のうち、1つ目と2つ目を取り上げた。後編となる本稿は、3つ目と4つ目を紹介する。

3.「IAM」の不十分なアクセス許可

 EC2コンソールまたは一般的なSSHクライアントを使用する場合、AWSへのアクセス管理サービス「AWS Identity and Access Management」(IAM)のプリンシパル(アクションを実行するエンドユーザーやアプリケーション)に、「ec2-instance-connect:SendSSHPublicKey」の権限を付与する必要がある。ec2-instance-connect:SendSSHPublicKeyは、パブリックキー(公開鍵)をEC2インスタンス(EC2で稼働するサーバ)に配信するアクションだ。EC2 Instance Connectのコマンドラインインタフェース(CLI)を使用する場合は、EC2インスタンスを一覧表示するアクション「ec2:DescribeInstances」の権限をIAMプリンシパルに付与することも必要となる。エンドユーザーが、頭文字が「ec2:」のアクションに対するアクセス許可しか持っておらず、割り当てられたIAMポリシーにec2-instance-connect:SendSSHPublicKeyの権限が含まれていない可能性があるので確認が必要だ。

4.パブリックIPアドレスの未割り当て

 EC2コンソールからEC2インスタンスに接続する場合、対象のEC2インスタンスには、パブリックIPアドレスが割り当てられている必要がある。EC2インスタンスがプライベートIPアドレスしか持たない場合、EC2 Instance ConnectのCLIや通常のSSHクライアントを使用できるが、EC2インスタンスのプライベートIPアドレスにアクセスできるサーバから接続する必要がある。そのためには、EC2インスタンスと同じ「Amazon Virtual Private Cloud」(VPC、AWSの仮想ネットワークサービス)またはVPCピアリング(異なるVPCを接続する仕組み)内にあるEC2インスタンスから接続することになる。

 他にも、EC2インスタンスのVPCにアクセス可能なVPN(仮想プライベートネットワーク)クライアントや、プライベート接続を可能にするサービス「AWS PrivateLink」の利用が選択肢になる。いずれの場合も前編で述べたように、対象のEC2インスタンスに、接続するサーバからの受信トラフィックを許可するセキュリティグループルール(セキュリティグループに関連付けられたEC2インスタンスに到達することを許可する仕組み)が設定されていることが必要だ。

TechTarget発 世界のインサイト&ベストプラクティス

米国TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。

ITmedia マーケティング新着記事

news025.jpg

求心力のある変革ビジョンに必要な「PECの工夫」
変革ビジョンの策定に当たっては、その内容もさることながら「決め方や伝え方」に心を配...

news045.jpg

マーケティングDXをけん引するリーダーの役割
デジタルツールとデータを活用することで優れた顧客体験を提供するマーケティングDXの推...

news038.jpg

コロナ禍で変化した採用トレンドとこれからの採用メディア戦略
デジタルシフトで新卒採用の在り方が変化しています。企業と接触するタイミングが早まり...