初学者向け「Amazon EC2」インスタンスにブラウザ上でSSH接続するにはAWSチートシート

「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「Amazon EC2」インスタンスにブラウザ上でSSH接続する方法を紹介する。

» 2020年12月14日 05時00分 公開
[酒井幹士東京ITスクール]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。本稿は、AWS初学者の方に特にお薦めの内容です。

 AWSを初めて学習する方は、記事や書籍を参考に「Amazon EC2」インスタンスを起動することが多いかと思います。その際に「Tera Term」「putty」を利用した、SSH(Secure Shell)接続を試みる場合、外部ツールをインストールしなくてもEC2インスタンスに接続することが可能です。今回は、その方法を紹介します。

「EC2 Instance Connect」とは

 今回の手順では「EC2 Instance Connect」を使用します。以下公式ドキュメントです。

 EC2 Instance Connectは「AWS Identity and Access Management」(IAM)の権限でアクセスを制御できます。一時的に生成した公開鍵でSSHログインが可能となり、キーペアが不要となります。ブラウザベースの接続がサポートされており、非常にシンプルにEC2インスタンスに接続することが可能です。

 注意点として、サポートされているOSが限定されています。

  • Amazon Linux 2(全てのバージョン)
  • Ubuntu 16.04以降

 上記以外のLinuxディストリビューションはサポートされていないので、ご注意ください。今回は「Amazon Linux 2」の例を紹介します。構成は図1のように非常にシンプルです。

図1 EC2インスタンスにブラウザ上でSSH接続

EC2インスタンス1台をパブリックサブネットに配置し、SSH接続

 ここからは、EC2インスタンス1台をパブリックサブネットに配置し、SSHで接続してみましょう。

EC2インスタンスの作成

 まずはAWSにログインして、「AWSマネージメントコンソール」を開きましょう(図2)。今回は「東京リージョン」で作成します。

図2 AWSマネージメントコンソール

 左上の「サービス」一覧から、「EC2」と検索して選択します(図3)。

図3 「EC2」と検索して選択

 EC2のダッシュボードが表示されます。画面中央部分を表示し、「インスタンスを起動」をクリックします(図4)。

図4  EC2のダッシュボードで「インスタンスを起動」をクリック

 インスタンスを起動する際の「Amazon Machine Image」(AMI)を選択する画面に遷移します。今回は「Amazon Linux 2 AMI」を選択するので、一番上に表示されているAMIの「選択」をクリックします(図5)。

図5 「Amazon Machine Image」(AMI)を選択する画面で「Amazon Linux 2 AMI」を選択

 インスタンスタイプの選択画面に遷移します。デフォルトの「t2.micro」を選択している状態で、「次のステップ:インスタンスの詳細の設定」をクリックします(図6)。

注意!

 t2.microは無料利用枠の対象です。他のインスタンスタイプを設定すると、無料期間中でも料金が発生するので、ご注意ください。


図6 インスタンスタイプの選択画面で「t2.micro」を選択している状態で、「次のステップ:インスタンスの詳細の設定」をクリック

 インスタンスの詳細設定の画面に遷移します。こちらもデフォルトの設定で「次のステップ:ストレージの追加」をクリックします(図7)。今回は「デフォルトVPC」を選択して、進めていくことになります。

図7 インスタンスの詳細設定の画面で「次のステップ:ストレージの追加」をクリック

注意!

 デフォルトVPCはAWSアカウント作成時に、自動的に作成されるVPCです。最初からインターネット接続に必要な設定となっています。本番運用時は新規でVPCを作成することを推奨します。

 詳しくは下記ドキュメントをご参照ください。


 インスタンスのストレージの設定画面に遷移します。デフォルトの状態で、画面右下の「次のステップ:タグの追加」をクリックします(図8)。

図8 ストレージの設定画面で「次のステップ:タグの追加」をクリック

 タグの追加画面に遷移します。タグを適切に設定することで、インスタンス一台一台を分かりやすく管理することができます。今回は1台のみの構成なのでデフォルトの状態で、「次のステップ:セキュリティグループの設定」をクリックします(図9)。

図9 タグの追加画面で「次のステップ:セキュリティグループの設定」をクリック

 セキュリティグループの設定画面に遷移します。ここでは起動するインスタンスの、ファイアウォールを設定できます。1つのセキュリティグループを複数のEC2インスタンスに割り当てることも可能です。今回は「セキュリティグループ名」を「ec2-ssh」に、「説明」を「ec2-ssh・・・(以降デフォルト文言)」にして、新しいセキュリティグループを作成しましょう。

 次に、「タイプ」を「SSH」に、「ソース」(または「リソースタイプ」)を「カスタム」(0.0.0.0/0)にして、ルールを追加します。「プロトコル」「ポート範囲」は自動的に選択されます。「説明」は入力不要です。

 図10のサンプル画面のように設定したら、右下の「確認と作成」ボタンをクリックしてください。

図10 セキュリティグループの設定画面で、設定後に「確認と作成」ボタンをクリック

注意!

 今回の記事では、分かりやすさ優先するために送信元IPアドレスを制限していません。全世界からアクセスできる設定になっているため、本番環境では、セキュリティ設計に基づいて適切に送信元を設定してください。


 確認画面に遷移するので、右下の「起動」ボタンをクリックしましょう(図11)。

図11 「起動」ボタンをクリック

 キーペアの設定が求められます。キーペアは、インスタンスへの接続時の身分証明に使用します。通常は接続時に必要となりますが、今回はEC2 Instance Connectでブラウザ接続をするため、不要です。

 プルダウンから「キーペアなしで続行」を選択し、チェックボックスを選択後、「インスタンスの作成」をクリックしましょう(図12)。

図12 「キーペアなしで続行」を選択し、チェックボックスを選択後、「インスタンスの作成」をクリック

 これで無事にインスタンスを作成できます。作成ステータス画面が表示され、「インスタンスは現在作成中です。」と表示されると思います。「次のインスタンスの作成が開始されました: i-※※※※※」と表示されているリンクをクリックすることで、インスタンスの詳細画面に遷移できます。クリックしてみましょう(図13)。

図13 「次のインスタンスの作成が開始されました: i-※※※※※」と表示されているリンクをクリック

 インスタンスが実行中になれば起動完了です。ステータスチェックが合格になるまで、少し時間がかかるので、画面をリロードして待機しましょう(図14)。

図14 ステータスチェックが合格になるまで、待機

EC2インスタンスに接続

 EC2インスタンスに接続してみましょう。先ほど起動完了した、EC2インスタンスを右クリックすると、選択項目が出てきます。上から3番目の「接続」を選択してください(図15)。

図15  EC2インスタンスをすると、選択項目が出てくる。上から3番目の「接続」を選択

 「インスタンスに接続」画面に遷移します。デフォルトの設定のまま、右下の「接続」ボタンをクリックしてください(図16)。

図16 「インスタンスに接続」画面で「接続」ボタンをクリック

注意!

 Amazon Linux 2の場合、「ユーザー名」が「ec2-user」になります。AMIで「ubuntu」を選択した場合は、ユーザー名が「ubuntu」になるので、ご注意ください。


 新しいタブでコンソールが表示されます。「Amazon Linux 2 AMI」と表示されたら、無事に接続完了です(図17)。

図17 コンソールで「Amazon Linux 2 AMI」と表示されたら、接続完了

 もちろんコマンドを実行できます。Linuxコマンドを入力し、さまざまな設定が可能です。

止めるまでがクラウド

 今回は設定をデフォルトで進めましたが、本番環境作成時は項目ごとに適切に設定することを推奨します。また、AWSに限らずクラウドは“利用した分だけ料金が発生する”従量課金制です。学習用でEC2インスタンスを起動された方は、必ずインスタンスを削除するようにご注意ください。

 インスタンスを右クリックし、「インスタンスを終了」を選択することで、課金が停止されます(図18)。「帰るまでが遠足」ではないですが、「止めるまでがクラウド」と癖を付けておきましょう。

図18 インスタンスを右クリックし、上から8番目の「インスタンスを終了」を選択

まとめ

 このように、EC2 Instance Connectにブラウザベースで接続することで、外部ツールをインストールせずにSSH接続が可能です。

 AWSを初めて利用する方はEC2を起動することが多いと思います。しかし、会社のPCで許可されていないツールのインストールができず、せっかくサーバを起動したのに、接続せずに諦めてしまう方も多いようです。

 この機能を使うことで、AWSの公式ドキュメントや市販の参考書のハンズオンを試しやすくなると思いますので、ぜひ有効に活用してもらえたら幸いです。Linuxの学習環境としてうってつけといえるでしょう。

筆者紹介

酒井幹士(さかいまさし)

株式会社システムシェアード

多数のシステム開発案件を経て、2015年から企業向けIT教育業務に携わる。東京ITスクール講師として、Java研修を中心に幅広い講座に登壇。日本に少数しか存在しないAWS認定インストラクター(AAI)。現在は「安心サンドボックス」の開発や、企業のクラウド導入のサポートを担当。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。