EC2はAWSのサービスのひとつで仮想マシン(仮想サーバー)を提供しています。EC2から選択できる仮想サーバーはWindows・Linuxの様々なOSをすぐに実行できる環境を用意することができます。また、リソース(CPU・メモリ・ディスク)を必要に応じて変更することができるためAWSのなかでも利用者が多いサービスです。
本記事では、AWS のサービスを運用するために必要なパッケージや設定が事前に導入(AWSとの連携を目的としたaws-cliなどのツールや設定を含む)されているLinux サーバーOS「Amazon Linux 2」をAWS環境外の特定端末からのみSSH接続する手順を解説します。※Amazon LinuxはRedhatをベースに開発されていてRedhatやCentOSとほぼ同じコマンド操作が可能です。
AWS環境外の特定端末からEC2インスタンスに接続するイメージ図は以下の通りです。

以降、特定の外部端末からEC2インスタンス(Amazon Linux2)の接続・構築手順を解説します。
EC2 Amazon Linux2 インスタンス初期設定
手順 1:
AWSマネージメントコンソールのサービスを検索から「 EC2 」を入力 -> EC2[クラウド内の仮想サーバー]を選択します。

手順 2:
「 インスタンス 」を選択します。

手順 3:
「 インスタンスの作成 」を選択します。

手順 4:
「 コミュニティ AMI 」を選択します。
※AMIはインスタンスの作成に必要なソフトウェア構成(OS・アプリケーションサーバー・アプリケーション)を含むテンプレートです。

手順 5:
オペレーションシステムで「 Amazon Linux 」-> 「 amzn2 」を検索 -> 表示されたAMIから「選択」をクリックします。

手順 6:
インスタンスタイプを選択 -> 「次のステップ:インスタンスの詳細の設定」 を選択します。
※今回の目的はAmazon Linux 2に接続することのみが目的のためインスタンスタイプが低い「t2.micro」にしています。

手順 7:
自動割り当てパブリックIPを「有効」-> 「次のステップ:ストレージの追加」を選択します。

手順 8:
サイズ(GiB)・ボリュームタイプを指定します。

手順 9:
タグは必須ではありません。AWSマネージメントコンソールから分かりやすく管理するための設定です。
Name タグを付けると、EC2 インスタンスに名前を付けることができます。

手順 10:
キー:Name、値:任意の文字列を入力 ->「セキュリティグループの設定」を選択します。

手順 11:
特定の接続元端末からSSH接続を許可するためセキュリティグループの設定で以下を入力します。
・タイプ:SSH
・ポート範囲:22
・ソース:カスタム、グローバルIPアドレス(xxx.xxx.xxx.xxx/32)

グローバルIPアドレスは以下のサイトから確認できます。グローバルIPアドレスは一意のため同じアドレスが表示されます。接続元の端末で確認します。
・アクセス情報【使用中のIPアドレス確認】 – cman.jp:https://www.cman.jp/network/support/go_access.cgi
・確認くん – UGTOP:https://www.ugtop.com/spill.shtml

手順 12:
「確認と作成」を選択します。

手順 13:
インスタンス作成の確認画面が表示 -> 「起動」を選択します。

手順 14:
ログインに必要になるKeyペア(.pem)をダウンロードします。

手順 15:
ダウンロードしたキーペアを確認します。
※Google Chromeブラウザーでダウンロードし、自動で「ダウンロード」フォルダに格納されました。


手順 16:
「インスタンスの作成」を選択します。

手順 17:
作成ステータス画面で、表示されたインスタンスIDを選択します。

手順 18:
Amazon Linux2インスタンスが準備できました。
パブリックIP v4アドレスを確認しメモ帳などにアドレスを控えます。

Amazon Linux2 インスタンス接続(接続端末側)
手順 1:
リモートログオンクライアント「Tera Term」を起動します。
※Tera Termは、SSH・telnet・シリアルの各通信プロトコルに対応しておりWindows OSで使用できます。

手順 2:
以下、接続情報を入力します。
・ホスト:先程、控えておいたEC2インスタンスのIPアドレスを入力
・サービス:SSH
・TCPポート:22

手順 3:
Tera Termでホストに接続すると以下画面が表示されます。
「このホストをknown_hostsリストに追加する」にチェックを有効 -> 「続行」を選択すると秘密鍵が保存されます。

手順 4:
以下、接続情報を入力 -> 「OK」を選択します。
・ユーザ名:ec2-user
※Amazon Linux 2のEC2インスタンスを作成した際、ログインユーザーはec2-userです。
・秘密鍵:前手順でダウンロードしたKeyペア(.pem)を選択します。

手順 5:
ログインできました。Amazon Linux2に接続完了です。
