「EC2 Instance Connect」を使用する際に発生するエラーの原因として、「IAM」やパブリックIPアドレス関連の不備が考えられる。何が問題なのか。対処するにはどうすればいいのか。
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つ目を紹介する。
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の権限が含まれていない可能性があるので確認が必要だ。
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の豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
「モンスト」「ウマ娘」は安定 中華系パズルゲームに怒涛の勢いetc. 2024年のゲームアプリトレンド
AdjustとSensor Towerが共同で発表した「モバイルアプリトレンドレポート 2024 :日本版...
Xが「YouTube TV」と見た目そっくりなCTVアプリを公開 目玉コンテンツは?
動画ファーストのプラットフォームを目指すXが次なるステップを踏み出そうとしている。Yo...
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2024年9月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...