備忘録

Windows,Linux,Mac,AWS,VMware,ネットワークなどの検証

セッションマネージャーを使ってEC2にブラウザからアクセスする(インターネットに接続できないインスタンスの場合)

インターネットへの接続がないEC2インスタンスへ、セッションマネージャーで接続してみます。

 

参考:

aws.amazon.com

dev.classmethod.jp

 

前提条件
・EC2にはSSM Agentをインストールします。ここでは適用済みのAmazon Linuxを使用します。

 

目次

 

VPCの設定(「DNSホスト名」を有効化する)

・新しく作成、または既存のVPCの「アクション > DNSホスト名を編集」にて、「DNSホスト名」を有効化します。

f:id:tksfj17:20220316204757j:plain 

f:id:tksfj17:20220316204825j:plain

 

VPCエンドポイント用のセキュリティグループの作成

VPCエンドポイントにアタッチするセキュリティグループを作成します。

「インバウンドルール」は、
  タイプ:HTTPS
  ソース:カスタム > 10.0.0.0/16 などVPC内全体をあらわすIPアドレス範囲を設定。
 「アウトバウンドルール」は削除します。(アウトバウンドを許可しなくても通信できるため)

f:id:tksfj17:20220316205436j:plain

f:id:tksfj17:20220316205450j:plain


EC2インスタンス用のセキュリティグループの作成

・EC2インスタンスにアタッチするセキュリティグループを作成します。

インバウンドルールは削除。アウトバウンドルールは全接続を許可。

※今回は他のサーバや外部との通信を行わないので、インバウンドルールは設定しません。

f:id:tksfj17:20220316210228j:plain

f:id:tksfj17:20220316210240j:plain

 

VPCエンドポイントの作成

・「VPC」にて「エンドポイント」>「エンドポイントを作成」から作成。
作成するVPCエンドポイントは4つ。

サービス名は次のとおり。それぞれ作ります。
 ・com.amazonaws.ap-northeast-1.ssm
 ・com.amazonaws.ap-northeast-1.ec2messages
 ・com.amazonaws.ap-northeast-1.ssmmessages
 ・com.amazonaws.ap-northeast-1.s3

f:id:tksfj17:20220316210447j:plain

 

※4つめの com.amazonaws.ap-northeast-1.s3 は、「タイプ」が「Gateway」の方を選択します。

f:id:tksfj17:20220316210733j:plain

 

※ご注意
Interfaceタイプのエンドポイントは、課金されます。(1つあたり$0.014 / 月)
エンドポイントは3つ作成するので、$0.014 x 3つ x 24時間 x 30日 = $30.24/ 月
1ドル115円で換算すると、115円 x $30.24  = 3477.6円/月 かかることになります。

 

EC2インスタンスにアタッチするIAMロールを作成

・「IAM」を開き、ロールを作成します。
「信頼されたエンティティタイプ」:「AWSのサービス」
ユースケース」:「EC2」

f:id:tksfj17:20220316211548j:plain

「許可ポリシー」の検索窓に「AmazonSSMManagedInstanceCore」と入力して検索し、選択します。

f:id:tksfj17:20220316211616j:plain

f:id:tksfj17:20220316211636j:plain

IAMロールをEC2インスタンスにアタッチする

・「EC2」を開きます。アタッチするEC2インスタンスを選択して、「アクション > セキュリティ > IAMロールを変更」を押します。
※EC2インスタンスをまだ作成していないときは、ここで作成します。
「IAMロール」に、先ほど作ったIAMロールを選択します。

f:id:tksfj17:20220316211909j:plain

 

セキュリティグループをEC2に適用する

・セッションマネージャで接続したいEC2インスタンスを選択して、「アクション > セキュリティ > セキュリティグループを変更」を押します。
「関連付けられたセキュリティグループ」の検索窓から、EC2インスタンス用に作成したセキュリティグループをアタッチします。

f:id:tksfj17:20220316212101j:plain

ブラウザから接続してみる

・接続したいEC2インスタンスを選択して、「接続」ボタンを押します。

f:id:tksfj17:20220316212241j:plain

 

「セッションマネージャー」タグを選択して「接続」を押します。

f:id:tksfj17:20220316213638j:plain

 

接続されます。

f:id:tksfj17:20220316212256j:plain

 

※普段使用する ec2-user にログインするには、次のコマンドを実行します。
sh-4.2$ sudo su ec2-user

f:id:tksfj17:20220316212357j:plain

 

「セッションマネージャー」のエラーが出た場合

※EC2インスタンスとセッションマネージャーが通信できるようになるまで、10分~20分程度かかります。
「セッションマネージャー」のエラーが出た場合は、各設定値を確認しながら再度接続してみてください。

f:id:tksfj17:20220316212659j:plain