エンジニア歴20年以上、フリーランスでソフトウェアエンジニア・ゲームクリエイター・シナリオライターをやっております『ユウイチ』と申します。
今回はAWSでLinuxサーバ-を簡単に構築する方法を紹介します。今回は無料枠を使用した簡単なLinuxサーバー構築方法の紹介になりますので本格的にLinuxサーバーを立ち上げたいという用途には向かないですが、これからLinuxを始める方など、「Linuxを勉強したい!」という方は、この方法で簡単にLinuxサーバーを構築して学習をスタートできると思います。※AWSアカウントがある前提で説明していきます
EC2インスタンスの作成
今回はAWSのIaaSサービス、「EC2」を使用して構築していきます。では、早速構築していきます。
AWS マネジメントコンソールにログインし、EC2サービスを立ち上げます。
立ち上げたら、まずリージョンを選択しましょう。リージョンとはデータベースを構築する場所でAmazonが用意している世界中の場所から選択することができます。今回は「大阪」で作成しました。日本では「東京」しか選択できなかったのですが、2021年から大阪リージョンが立ち上がったみたいです。画面の右上部分で選択します。
リージョンを選択したら「インスタンスを起動」を押下し、インスタンス作成を開始します。
クイックスタートで設定
下にスクロールしていくと「クイックスタート」がありますので、そこで設定を行っていきます。
まず、「名前とタグ」でタグを設定します。ここで設定した値が「Name」タグに設定され、今回作成するEC2の名前になります。今回は「My Linux Server」としました。
次にOSを選択します。今回はEC2を管理するためのプログラムが用意されているAmazon Linux2を選択しました。他のLinuxディストリビューションもubuntuやRedHatなどが選択できます。
OS選択後にインスタンスタイプを選択します。今回は無料枠を使用するので、1年間の無料枠があるt2.microを選択します。
次にキーペアを作成します。今回はSSHでLinux サーバーに接続するのですが、SSH接続の際にこのキーを使用します。デフォルトは「キーペアなし」となっているのですが、セキュリティを考えてキーを作成しておくことをおススメします。
「新しいキーペアの作成」から作成します。
今回はキーペア名を「mykey」、キーペアのタイプ「RSA」、プライベートキーファイル形式を「.pem」としました。
設定後「キーペアを作成」を押下します。このとき、設定したキーペア名とファイル形式の拡張子(今回の例ではmykey.pem)でファイルが作成(ダウンロード)されますので、保存しておきます。
その後、作成したキーが選択できるようになっています(今回の例ではmykey)ので、選択します。
次にネットワーク設定です。基本デフォルトのままでよいと思うのですが、「からのSSHトラフィックを許可する」にチェックを入れておきます。
こうしておくと、選択したIPアドレス(設定に使用しているPCのグローバルIPアドレス)以外からアクセスできなくなりますので、セキュリティ対策になります。ストレージはデフォルトのままでよいと思います。
これで設定は完了です。「インスタンスを起動」押下します。
インスタンスの状態が「実行中」になっていれば正常に起動できています。
次にSSHでアクセスするのですが、右に行くと「パブリックIPv4」という項目ありここにサーバーのIPアドレスが設定されていますので、覚えておきます。
SSHで接続
それでは、作成したLinuxサーバーへ接続してみます。今回はフリーソフトのTera Termを使用しSSHで接続します。
Tera Termを起動し、ホストに「パブリックIPv4」に設定されていたIPアドレスを入力。SSH(SSH2)を選択し、OKを押下します。以下の画面が出てきたら「このホストをknown hostsリストに追加する」にチェックを入れ続行します。
以下の設定画面になりますので、ユーザー名にAmzon Linux2に用意されているユーザー「ec2-user」を入力し、秘密鍵にダウンロードした鍵(今回の例ではmykey.pem)を選択し「OK」を押下します。
以下の画面になれば正常に接続できています。
「exit」コマンドが×で画面を閉じると切断できます。
以上、今回はAWSで無料枠を使用したLinuxサーバーの構築方法について紹介しました。
まとめ
AWSなどのサービスがない頃、Linuxの勉強しようと思うと手持ちのPCにLinuxをインストールするか、WindowsにCygwinを入れるとかの方法で対応する方が多かったと思うのですが、クラウドサービスが個人でも簡単に利用できるようになりましたので、今回紹介したような方法でLinuxサーバーを立ち上げて学習するのも全然ありだと思います。
また、目的が学習なら常にサーバーを稼働しておく必要もありませんので、使用しないときは停止しておくこともできます。「インスタンスの状態」→「インスタンスを停止」で停止できます。
また実行するときは同じところの「インスタンスを開始」から実行できますので、学習の開始、終了に合わせてサーバーも実行、停止しておいてもよいと思います。
まだまだ僕もAWS勉強中ですが、今後もAWS関連の記事を書いていきたいと思います。
最後まで読んでくださりありがとうございました。