「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「Amazon EC2」インスタンスにブラウザ上でSSH接続する方法を紹介する。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。本稿は、AWS初学者の方に特にお薦めの内容です。
AWSを初めて学習する方は、記事や書籍を参考に「Amazon EC2」インスタンスを起動することが多いかと思います。その際に「Tera Term」「putty」を利用した、SSH(Secure Shell)接続を試みる場合、外部ツールをインストールしなくてもEC2インスタンスに接続することが可能です。今回は、その方法を紹介します。
今回の手順では「EC2 Instance Connect」を使用します。以下公式ドキュメントです。
EC2 Instance Connectは「AWS Identity and Access Management」(IAM)の権限でアクセスを制御できます。一時的に生成した公開鍵でSSHログインが可能となり、キーペアが不要となります。ブラウザベースの接続がサポートされており、非常にシンプルにEC2インスタンスに接続することが可能です。
注意点として、サポートされているOSが限定されています。
上記以外のLinuxディストリビューションはサポートされていないので、ご注意ください。今回は「Amazon Linux 2」の例を紹介します。構成は図1のように非常にシンプルです。
ここからは、EC2インスタンス1台をパブリックサブネットに配置し、SSHで接続してみましょう。
まずはAWSにログインして、「AWSマネージメントコンソール」を開きましょう(図2)。今回は「東京リージョン」で作成します。
左上の「サービス」一覧から、「EC2」と検索して選択します(図3)。
EC2のダッシュボードが表示されます。画面中央部分を表示し、「インスタンスを起動」をクリックします(図4)。
インスタンスを起動する際の「Amazon Machine Image」(AMI)を選択する画面に遷移します。今回は「Amazon Linux 2 AMI」を選択するので、一番上に表示されているAMIの「選択」をクリックします(図5)。
インスタンスタイプの選択画面に遷移します。デフォルトの「t2.micro」を選択している状態で、「次のステップ:インスタンスの詳細の設定」をクリックします(図6)。
t2.microは無料利用枠の対象です。他のインスタンスタイプを設定すると、無料期間中でも料金が発生するので、ご注意ください。
インスタンスの詳細設定の画面に遷移します。こちらもデフォルトの設定で「次のステップ:ストレージの追加」をクリックします(図7)。今回は「デフォルトVPC」を選択して、進めていくことになります。
デフォルトVPCはAWSアカウント作成時に、自動的に作成されるVPCです。最初からインターネット接続に必要な設定となっています。本番運用時は新規でVPCを作成することを推奨します。
詳しくは下記ドキュメントをご参照ください。
インスタンスのストレージの設定画面に遷移します。デフォルトの状態で、画面右下の「次のステップ:タグの追加」をクリックします(図8)。
タグの追加画面に遷移します。タグを適切に設定することで、インスタンス一台一台を分かりやすく管理することができます。今回は1台のみの構成なのでデフォルトの状態で、「次のステップ:セキュリティグループの設定」をクリックします(図9)。
セキュリティグループの設定画面に遷移します。ここでは起動するインスタンスの、ファイアウォールを設定できます。1つのセキュリティグループを複数のEC2インスタンスに割り当てることも可能です。今回は「セキュリティグループ名」を「ec2-ssh」に、「説明」を「ec2-ssh・・・(以降デフォルト文言)」にして、新しいセキュリティグループを作成しましょう。
次に、「タイプ」を「SSH」に、「ソース」(または「リソースタイプ」)を「カスタム」(0.0.0.0/0)にして、ルールを追加します。「プロトコル」「ポート範囲」は自動的に選択されます。「説明」は入力不要です。
図10のサンプル画面のように設定したら、右下の「確認と作成」ボタンをクリックしてください。
今回の記事では、分かりやすさ優先するために送信元IPアドレスを制限していません。全世界からアクセスできる設定になっているため、本番環境では、セキュリティ設計に基づいて適切に送信元を設定してください。
確認画面に遷移するので、右下の「起動」ボタンをクリックしましょう(図11)。
キーペアの設定が求められます。キーペアは、インスタンスへの接続時の身分証明に使用します。通常は接続時に必要となりますが、今回はEC2 Instance Connectでブラウザ接続をするため、不要です。
プルダウンから「キーペアなしで続行」を選択し、チェックボックスを選択後、「インスタンスの作成」をクリックしましょう(図12)。
これで無事にインスタンスを作成できます。作成ステータス画面が表示され、「インスタンスは現在作成中です。」と表示されると思います。「次のインスタンスの作成が開始されました: i-※※※※※」と表示されているリンクをクリックすることで、インスタンスの詳細画面に遷移できます。クリックしてみましょう(図13)。
インスタンスが実行中になれば起動完了です。ステータスチェックが合格になるまで、少し時間がかかるので、画面をリロードして待機しましょう(図14)。
EC2インスタンスに接続してみましょう。先ほど起動完了した、EC2インスタンスを右クリックすると、選択項目が出てきます。上から3番目の「接続」を選択してください(図15)。
「インスタンスに接続」画面に遷移します。デフォルトの設定のまま、右下の「接続」ボタンをクリックしてください(図16)。
Amazon Linux 2の場合、「ユーザー名」が「ec2-user」になります。AMIで「ubuntu」を選択した場合は、ユーザー名が「ubuntu」になるので、ご注意ください。
新しいタブでコンソールが表示されます。「Amazon Linux 2 AMI」と表示されたら、無事に接続完了です(図17)。
もちろんコマンドを実行できます。Linuxコマンドを入力し、さまざまな設定が可能です。
今回は設定をデフォルトで進めましたが、本番環境作成時は項目ごとに適切に設定することを推奨します。また、AWSに限らずクラウドは“利用した分だけ料金が発生する”従量課金制です。学習用でEC2インスタンスを起動された方は、必ずインスタンスを削除するようにご注意ください。
インスタンスを右クリックし、「インスタンスを終了」を選択することで、課金が停止されます(図18)。「帰るまでが遠足」ではないですが、「止めるまでがクラウド」と癖を付けておきましょう。
このように、EC2 Instance Connectにブラウザベースで接続することで、外部ツールをインストールせずにSSH接続が可能です。
AWSを初めて利用する方はEC2を起動することが多いと思います。しかし、会社のPCで許可されていないツールのインストールができず、せっかくサーバを起動したのに、接続せずに諦めてしまう方も多いようです。
この機能を使うことで、AWSの公式ドキュメントや市販の参考書のハンズオンを試しやすくなると思いますので、ぜひ有効に活用してもらえたら幸いです。Linuxの学習環境としてうってつけといえるでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.