検索
特集/連載

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

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

Share
Tweet
LINE
Hatena

 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の豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る