前回はVPCにプライベートサブネット・パブリックサブネット・NATGatewayを構築する手順について書きました。今回はパブリックサブネットに踏み台用のLinuxサーバーを構築し、パブリックIPアドレスで接続するまでの手順をご紹介します。
「AWSのパブリックサブネットに踏み台サーバーを構築し、プライベートサブネットのサーバーへSSHする」の手順記事まとめ
①VPC・サブネット作成
②踏み台Linuxサーバー構築←今ここ
③踏み台経由のSSH接続
④Windowsnの踏み台サーバー作成
⑤プライベートサブネット上のLinuxサーバーをWEBサーバー化しWindowサーバーから接続確認をする
※関連記事
Route53でPrivateHostedZoneを作成しVPC内の名前解決を行う
構成の確認
前回構築したパブリックサブネットに、サーバー(EC2)を1台構築します。今回はAmazonLinux2023を使用してサーバーを構築します。サーバーにはセキュリティグループを設定し、インバウンドルールにユーザーのパブリックIPアドレスを設定します。
サーバーへの接続はインターネットゲートウェイ経由で行います。サーバーへの接続はTeratermを利用します。
用語の確認
構成を確認する前に、簡単に用語を確認しておきます。
構築手順だけ知りたい方はこの章は読み飛ばして「EC2(サーバー)の構築」にお進みください。
EC2
EC2はAmazon Elastic Compute Cloudの略です。AWS上で利用できる仮想サーバーのサービスです。
参考:EC2とは
セキュリティグループ
セキュリティグループは、VPC内で利用できるステートフルの仮想ファイアウォールです。ステートフルの為、例えばインバウンドルールで許可したIPアドレスからのインバウンド通信については、戻りのアウトアウトバウンド通信も自動で許可されます。
参考:セキュリティグループ
EC2(サーバー)の構築
EC2のサービス画面に移動します。
左メニューから「インスタンス」を押下します。
「インスタンスを起動」を押下します。
EC2の構築画面が表示されます。
EC2構築画面では、サーバー本体とEBS(ディスク)に一気にタグを設定します。「名前とタグ」セクションの「さらにタグを追加」を押下します。
タグと「キー」「値」を入力します。「リソースタイプ」のプルダウンメニューから「インスタンス」を押下します。
「アプリケーションおよびOSイメージ」のセクションに移動します。
「クイックスタート」のタブからOSを選択します。今回はAmazonLinuxを選択します。
Amazonマシンイメージ(AMI)のプルダウンメニューから「AmazonLiux2023AMI」を選択します。
「インスタンスタイプ」のプルダウンメニューからインスタンスタイプを選択します。インスタンスタイプを指定することで、サーバーのメモリ・CPU・スペックが決まります。
(参考:インスタンスタイプ)
今回はインスタンスタイプは「t2.micro」を指定します。
「キーペア」のセクションに移動します。「新しいキーペアの作成」を押下します。
キーペア作成画面を表示されます。「キーペア名」のテキストボックスにキーペア名を指定します。「キーペアのタイプ」には「ED25519」を指定し、「キーペアを作成」を押下します。
(※AmazonLinux2023を構築する際に「RSA」を指定した場合は、使用するターミナルのバージョンによっては接続エラーが発生します)
「キーペアを作成」を押下するとキーペアが作成され、ダウンロードされます。
キーペアをなくすとサーバーへ接続できなくなる為、新規作成・ダウンロードしたキーペアは大事に保管してください。
キーペアのダウンロード・保存完了後、再度AWSマネジメントコンソールに戻ります。
EC2構築画面の「ネットワーク設定」セクションに移動します。「編集」を押下します。
ネットワーク設定が編集できるようになります。「VPC」のプルダウンメニューから、前回作成したVPC(HTTPS_DEMO_VPC)を指定します。「サブネット」のプルダウンメニューから、前回作成したサブネット(HTTPS_DEMO_SUB_PUB1a)を指定します。「パブリックIPの自動割り当て」を「有効化」に指定します。
ファイアウォール(セキュリティグループ)のセクションに移動します。
今回はセキュリティグループを新規策際のため、「セキュリティグループを作成する」を選択します。「セキュリティグループ名」のテキストボックスにセキュリティグループ名を入力します。今回は「HTTPS_DEMO_SG」と入力しました。「説明」のテキストボックスにセキュリティグループの説明を入力します。
インバウンドルールを入力します。今回はLinuxサーバーを立てるため、「タイプ」に「ssh」を指定します。「リソースタイプ」に「自分のIP」を指定します。自分のIPを指定すると、利用しているグローバルIPアドレスが設定されます。
「高度なネットワーク設定」のメニューを展開します。
「プライマリIP」のテキストボックスにサーバーのプライベートIPアドレスを指定します。今回は10.0.0.0/24のサブネットにサーバーを構築するため、「プライベートIP」には「10.0.0.4」を指定します。プライマリIPは空欄のままで作成することもできます。プライマリIPを指定せずインスタンスを作成した場合は、サブネットのIPアドレス範囲から空いているIPがランダムで振られます。
「ストレージを設定」のセクションに移動します。「アドバンスド」を押下します。
「ボリュームタイプ」のプルダウンメニューから「gp3」を指定します。
「高度な詳細」に移動します。
高度な詳細セクションを展開すると、サーバーに指定する権限(IAMロール)やインスタンスの自動復旧の設定など、細かい設定が行えます。
今回は検証環境のため、設定は変更せず「インスタンスを起動」を押下します。
「インスタンスが起動しています」と表示されます。
「成功」が表示されます。「インスタンスID」のリンクを押下します。
インスタンス一覧が表示されます。「ステータスチェック」の状態が「実行中」となれば、接続可能の状態となります。
該当インスタンスのチェックボックスにチェックを入れます。
コンソール下部にインスタンスの詳細画面が表示されます。「パブリックIPアドレス」の欄に表示されるIPアドレスを控えておきます。
踏み台サーバーへの接続
EC2(サーバー)の構築が完了したら、実際にサーバーへ接続してみます。
WindowsPCからLinuxサーバーへ接続する場合は、Teratermなどのターミナルソフトを使用します。Teratermをインストールし、起動します。
画像はTeraterm4の日本語版をインストールし、起動した状態です。
Teratermを起動すると、「新しい接続」のウィンドウが立ち上がります。
「ホスト」のテキストボックスに先ほど構築した踏み台サーバーのパブリックIPアドレスを入力し、「OK」を押下します。
「認証が必要です」と表示されます。
今回はAmazonLinuxでサーバーを構築しています。
AmazonLinuxの初期ユーザーはec2-userとなるため、「ユーザー名」には「ec2-user」と入力します。(参考:Linux インスタンスのユーザーアカウントを管理する)
「認証方式」のセクションで「RSA/DSA/ECDSA/ED25519鍵を使う」のチェックボックスにチェックを入れます。
「秘密鍵」のプルダウンメニューから、先ほど保管したEC2のキーペアを指定します。
ユーザー名・秘密鍵の指定が完了したら、「OK」を押下します。
これで踏み台サーバーへのログインが完了しました。
プライベートサブネットにサーバーが存在する場合は、この踏み台サーバーからさらにSSHを使用して接続することとなります。
ここまでお読みいただきありがとうございました。
次回
はプライベートにEC2をもう一台構築し、踏み台サーバー経由でSSH接続してみます。