ステップ 1: AWSでUbuntuインスタンスを作成する
インスタンスとは、一つの仮想サーバーのことを指します。Amazon Web Services(AWS)のEC2サービスを使用することで、簡単にインスタンスを作成し、任意の操作を実行することができます。ここでは、UbuntuのOSがインストールされたインスタンスを作成します。
- AWSのマネージメントコンソールにログインします。
- 「サービス」から「EC2」を選択します。
- 「インスタンス」ページに移動し、「インスタンスの作成」をクリックします。
- Ubuntu Serverを選択し、インスタンスの詳細設定を行います。
ステップ 2: キーペアの生成とダウンロード
キーペアとは、公開鍵暗号方式に基づいて生成される一対の鍵のことを指します。一方の鍵を公開鍵、もう一方を秘密鍵と言います。公開鍵で暗号化されたデータは対応する秘密鍵でしか復号化できないため、この鍵の組み合わせを使って安全に情報を交換します。AWSでは、インスタンスへのログイン認証に公開鍵暗号方式を利用します。そのため、インスタンスを作成する際にキーペアを生成し、秘密鍵(.pemファイル)をダウンロードします。この秘密鍵はインスタンスに接続する際に必要となるため、絶対に紛失しないように保管してください。
- インスタンスの作成時に、新しいキーペアを生成してダウンロードします。このキーペアはインスタンスに接続するための鍵となります。ここではキーペアの名前を「AWS-Ubuntu」とします。
ステップ 3: インスタンスへの接続
まずは、ターミナルを開きます。ターミナルとは、コマンドラインから操作を行うためのツールです。Macでは「ターミナル」アプリケーション、Windowsでは「コマンドプロンプト」や「PowerShell」がこれに該当します。
- ダウンロードした.pemファイル(ここでは「AWS-Ubuntu.pem」)へ
のパーミッションを変更します。この操作は、.pemファイルを安全に使用するために必要です。以下のコマンドを実行します(「[path_to_pem_file]」はダウンロードした.pemファイルのパスに置き換えてください):
chmod 400 [path_to_pem_file]
- sshコマンドでAWSのUbuntuインスタンスに接続します。sshとは、遠隔地のサーバーに安全に接続するためのプロトコルです。以下のコマンドを実行します(「[path_to_pem_file]」はダウンロードした.pemファイルのパス、「[public_IP]」はAWSから割り当てられたインスタンスの公開IPアドレスに置き換えてください):
ssh -i [path_to_pem_file] ubuntu@[public_IP]
また、ここで使用される「ubuntu」は、接続先のユーザー名を指します。AWSのUbuntuインスタンスのデフォルトユーザー名は「ubuntu」なので、このように接続します。
ステップ 4: インスタンスでの作業
コマンドラインで接続が成功すると、以下のような表示が出てきます。
Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.19.0-1025-aws x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
これは、AWSのUbuntuインスタンスへの接続が成功し、操作が可能な状態であることを示します。インスタンスで作業が必要な場合は、この状態で任意のコマンドを実行できます。
作業が終わったら exit
コマンドでインスタンスからログアウトします。なお、必要なデータは適切に永続化しておいてください。それ以外のデータはインスタンス停止時に失われますので注意してください。
以上で、AWS上のUbuntuインスタンスに接続し、作業する方法の説明を終わります。インスタンスの管理やデータの永続化など、さらに詳しい操作が必要な場合は、AWSの公式ドキュメントや、それを解説した教材を参照してください。
また、本記事で言及したIPアドレスは実際にはAWSから割り当てられたIPアドレスを使用してください。IPアドレスとはインターネット上の端末を一意に識別するためのアドレスで、IPv4では「172.16.254.1」のように4つの数値(0〜255)で構成されます。これにより、世界中のどのデバイスからでも特定のデバイスやサーバーに接続することが可能となります。
これで終わりです。AWS上のUbuntuインスタンスに接続して作業を行う手順について理解できたことを願っています。