- 新卒ブログとは?
- 2024年4月に新卒入社したLIGメンバーが、日々の学びや気づきを綴るブログです。彼らがふだんどんなことを学んでいるのか、気軽にのぞいてみてください。
こんにちは、テクノロジー部の山﨑です。
本記事は、実際にサーバーを構築しながら、よく使われる用語や構築の仕方をわかりやすく解説するシリーズです。サーバーをろくに触ったことのない新卒の自分が、サーバー移管作業を任されたときの経験をもとに作成しましたので、ご安心ください! 一緒に学んでいきましょう!
今回はその第二回目で「AWSアカウント作成からSSH接続するまで」を実際に手を動かしながら解説していきます。
この記事に沿って進めると、EC2インスタンスの作成とEC2インスタンスへのアクセスができるようになります。インスタンスとは何か、SSHについて等わからない箇所は、前回の記事にまとめてありますので、そちらをご覧ください。
Amazon EC2でWebサーバーを構築してみた〜用語説明編〜
DNS設定や必要なソフトウェアのインストールについては、第三回目にまとめていく予定です!
目次
AWSアカウントの作成
まずはAWSアカウントの作成をしましょう。手順に以下が必要になりますので、ご用意をお願いいたします。
- メールアドレス
- クレジットカードまたはデビットカード
支払い情報を入力する必要があり、クレジットカードかデビットカードの用意が必要になります。アカウントの作成自体に費用は一切かかりませんが、無料利用枠を超えた分だけ登録したクレジットカードから引き落とされるので注意しましょう。この記事は利用枠を超えないように作成しております。
すでにアカウントをお持ちの方は、「EC2インスタンスの作成」へ飛んでいただいて問題ございません。
1. メールアドレスとアカウント名の登録
AWSのログインページを開き、赤枠の「Create a new AWS account」からアカウントを新規作成します。
こちらの画面に遷移するので、「Root user email address」にログイン時に使用するメールアドレス、「AWS account name」に アカウント名を入力してください。アカウント名は設定完了後に変更可能になっています。
どちらも任意のもので問題ありませんが、以下の点に注意してください。
- 半角英数字で入力
- 一つのメールアドレスに対し、一つのアカウントが作成可能
- 過去にAWSへ登録済みのメールアドレスは使用できない
入力が完了したらVerify email addressをクリックし、確認メールを受け取りましょう。
2. 確認コードの入力
先程入力したメールアドレスに確認コードが送られてきますので、確認コードをこちらの画面で入力してください。
3. パスワード設定
メールアドレスの確認が完了できたら、こちらの画面でパスワードの設定をします。
AWSにログインする際に使用するパスワードです。こちらも任意のもので問題ありませんが、以下の点に注意してください。
- 8文字以上の半角英数字
- 数字が含まれていること
- 英数字以外(@ * ! #など)が含まれていること
- 大文字と小文字が混在すること
4. 連絡先情報の入力
パスワードの設定ができたら、こちらの画面で連絡先情報の入力をします。
今回、利用用途は個人を選択して進めます。職場や学校等で使用する場合は法人を選択して、各情報を入力してください。その際、以下の点に注意しましょう。
- 電話番号:ハイフン・記号なし
- 州/都道府県または地域:半角アルファベット(例:Tokyo)
- 郵便番号:ハイフンあり
5. 請求情報の入力
こちらの画面で請求情報の入力を行います。
冒頭でもお伝えしましたが、アカウント登録自体は無料ででき、サービスを使用しない限りは請求はありません。
6. 本人確認
SMSか通話で認証コードを受け取ります。携帯電話番号の入力とセキュリティチェックの文字を入力したら認証コードを受け取りましょう。
7. 認証コードの入力
先ほど受け取った認証コードをこちらの画面で入力してください。
8. AWSアカウント作成完了
ここまで来れたらAWSアカウント作成完了です!
AWSマネジメントコンソールに進み、AWSを始めましょう!
EC2インスタンスの作成
1. EC2のダッシュボードを開く
AWSマネジメントコンソールで「EC2」と検索し、EC2のダッシュボードを開きましょう。
EC2ダッシュボード左のメニューからインスタンスを開き、「インスタンスの起動」をクリックして、インスタンスの作成画面に移動します。
2. 名前とタグの設定
名前とタグを設定します。作成したインスタンスがどんな用途のインスタンスなのかわかりやすく区別するために設定するものですので、ご自身で管理しやすい任意の名前を設定しましょう。
今回は「yamazaki web server for blog」という名前で作成します。
3. Amazonマシンイメージの選択
次にAmazonマシンイメージ(AMI)を選択します。
今回は、無料利用枠でデフォルトで設定されている「Amazon Linux 2023 AMI」を選択して進めます。
- AMI
- AMIとは、仮想マシンを起動させるために必要なアプリケーションソフトウェアやOSがあらかじめパッケージ化されたもの、つまり、EC2インスタンスを起動させるために必要な情報がまとめられているテンプレートのことです。
AMIを使用することで、複数のインスタンスを作成したとしても一貫性を保つことができるなど、効率的にインスタンスの構築をすることができます。
4. アーキテクチャの選択
次にアーキテクチャを選択しましょう。今回はサーバーでの採用が多い64ビット(x86)を選択します。
- アーキテクチャ
- アーキテクチャとは、コンピュータの頭脳であるCPUがどのように動作し、データの処理をするのかを決める設計や構造のことを指します。
- 64ビット(x86):Intel社のアーキテクチャ。高性能で消費電力が高いことが特徴で、パソコンやサーバーで多く採用されている。
- 64ビット(Arm):ARM社のアーキテクチャ。省電力・低コストなものから高性能なものまで幅広い用途で使われ、エアコンなどの家電やスマホにも採用されている。
5. インスタンスタイプの選択
次にインスタンスタイプを選択します。今回は無料枠のt2.microを選択します。性能が足りない場合は、あとから変更も可能です。
- インスタンスタイプ
- インスタンスタイプとは、EC2インスタンスがどれくらいの計算能力(CPU)、メモリ(RAM)、ストレージ、ネットワーク性能を持つかを決めるハードウェアの組み合わせのことです。その能力や性能の高さで料金が大きく異なります。
6. キーペアの設定
次にキーペアの設定をします。まだキーを作成していない方は、「新しいキーペアの作成」から新たに作成しましょう。
すでに作成している方は8. ネットワーク設定まで飛ばして問題ありません。
- キーペア
- キーペアとは、セキュリティ認証を行うために使用される鍵のセットのことで、公開鍵と秘密鍵の2つで成り立ちます。公開鍵はEC2で保管、秘密鍵はユーザーが保管します。公開鍵が鍵穴、秘密鍵が鍵とイメージすると理解しやすいでしょう。場合によっては、秘密鍵が鍵穴、公開鍵が鍵のような役割になることもあります。
SSH接続を行う際にこのキーペアの入力が求められます。
7. 新しいキーペアの作成
キーペア名は任意ですが、何に使う鍵なのかわかるように命名すると良いです。今回はキーペアのタイプはRSA、プライベートキーファイル形式は.pemを選択します。
「キーペアを作成」をクリックすると、秘密鍵がダウンロードされますので、大切に保管しておきましょう。
- RSAとED25519
- RSAとED25519はどちらも暗号化方式の一つですが、それぞれ異なる特徴があります。利用する環境に応じて使い分けましょう。
- RSA:素因数分解に基づくアルゴリズムで、安全性が鍵の長さに依存している。鍵が長いほど安全になるので、処理速度が遅くなることもあるが、歴史が長く、その高い信頼性と互換性の良さからさまざまな用途で広く使われている。
- ED25519:Curve25519という楕円曲線暗号を用いている。比較的新しい暗号化方式のため、RSAほど広く使われていないが、鍵の長さが短くても高い安全性を担保できるため、処理速度がかなり早くなる。
- .pemと.ppk
- 公開鍵も秘密鍵もファイルとして提供されます。
- pem:Privacy Enhanced Mailの略で、証明書や鍵を入れることができる入れ物のようなもの。pemはSSH接続だけでなく、SSL等幅広く使われている。
- ppk:Putty Private Keyの略で、入れ物ではなくファイル形式。Windows環境のSSH接続に特化している、Windows限定の形式。
8. ネットワーク設定
次に、どこのVPC内でEC2を起動するのかを定めるネットワーク設定を行います。今回はデフォルトの設定を使用します。
- VPC
- VPCとはVirtual Private Cloudの略で、AWSの仮想ネットワークサービスの一つです。専用の仮想ネットワーク空間を構築し、EC2等のサービスはVPC内で利用することができます。
VPCはコストを省いて簡単にネットワークを構築することができ、カスタマイズ性にも長けているなどメリットが多くあります。
- サブネット
- サブネットとは、大きなネットワークを小さく区切って作られた、ネットワークの中のネットワークです。使用サービスが増えたり、ネットワークが大きくなったりすると、ひとつのネットワークだけでは管理が難しくなってしまいます。そこで、ネットワークを複数の小さな単位に分割したものがサブネットになります。サブネットを作ることで効率的なデータ通信が可能になります。
- セキュリティグループ
- セキュリティグループは、VPC上での通信を制御するためのファイアウォール機能です。今回はEC2の前に作られる仮想の防壁であり、インバウンド(サーバーへの受信通信)とアウトバウンド(サーバーからの送信通信)の両方向で通信制御を行います。
通信を許可する際は、IPアドレス単位、VPC単位(VPCのCIDRを指定)、他のセキュリティグループ単位でアクセス制御が可能です。セキュリティグループはVPC作成時に「default」という名前で一つ作成され、インバウンドで許可された通信に対する応答は自動的に許可される仕組みになっています。
9. ストレージ設定
ストレージ設定をします。こちらは無料枠を利用し、デフォルトのままの設定にします。
- S3等のストレージサービスとの違いは?
- データを保存するという意味では同じ役割ですが、ストレージサービスとサーバーのストレージでは用途が異なります。サーバーはOSやソフトウェア等、サーバーにインストールされたデータを保存します。一方でS3等のストレージサービスは、ファイルのバックアップや共有などが主な用途になります。
10.高度な詳細
今回はこちらの設定は行いませんが、「終了保護」を有効化することで、間違えてインスタンスを削除してしまった際にも削除エラーを出してくれるため、トラブルを防ぐことができます。
11. インスタンスを起動
設定は以上です! こちらをクリックしてインスタンスを起動しましょう!
12. SSH接続
最後に作成したインスタンスにSSH接続します。
chmod 400 /path/key-pair-name.pem
ターミナルを開き、上記のコマンドを実行し、秘密鍵(.pem)を読み取り専用に設定しましょう。
/path/key-pair-name.pemはダウンロードした秘密鍵のパスを入力してください。
ssh -i /path/key-pair-name.pem ec2-user@instance-public-dns-name
次に上記のコマンドを入力し、SSH接続をします。
この鳥が表示されたら、SSH接続成功です!
- パブリックDNSはどこにあるの?
- instance-public-dns-nameは作成したインスタンスのパブリックDNSを入力します。以下の箇所のアドレスをコピーしてください!
まとめ
今回はAWSアカウントの作成からEC2インスタンスへSSH接続できるようになるまでをまとめました。
自分が作成時理解できなかったところや不安を感じた箇所についてはできるだけわかりやすくまとめましたので、参考にしていただけると幸いです。
次回は、作成したEC2インスタンスのセキュリティ強化やWebサーバーとして必要なソフトウェア等をインストールして、Webサーバーを完成させます。
- 日本・フィリピン・ベトナムでの活躍チャンス
- 最先端技術と多言語環境での成長
- 有識者による月1回の勉強会
現在、海外拠点(フィリピン、ベトナム)に関われるエンジニアを募集しています。日本だけじゃなく世界で活躍することに興味のある方は、以下よりぜひご応募ください!