EC2とは?
ChatGPTに質問しました。
Q:EC2に関しても教えてください
A:
Amazon EC2(Elastic Compute Cloud)は、AWSが提供するスケーラブルな仮想サーバーのサービスです。
必要なときにオンデマンドでコンピューティングリソースを立ち上げられ、CPU、メモリ、ストレージなどを自由に選択できます。
EC2インスタンスの利用時間に応じて料金が発生するため、コスト効率よくサーバーを運用できます。
また、オートスケーリングやElastic Load Balancingなどと組み合わせて、トラフィックの変動に応じたスケーラビリティの向上も可能です。
いわゆるサーバーです。
Amazon Linux、Ubuntu、Red HatなどのOSを使用することができます。
ここで出てくるElastic Load Balancing(ELB)は、一般的にロードバランサー・負荷分散装置とも呼ばれます。
仮にサーバーが一台で、想定以上のアクセス数に耐え切れずダウンしてしまうと、サービスが止まってしまいます。
ELBによって複数サーバーに負荷分散をすることによってそれを防ぐことができます。
※ELBの手順も執筆予定
作業内容
インスタンスを起動
EC2の画面に遷移して、[インスタンスを起動]ボタンを押す
- 「名前」を入力する
※本記事ではproject-dev-ec2とする - 「アプリケーションおよびOSイメージ」で「Amazon Linux」を選択する
※執筆時点で最新の「Amazon Linux 2023」を使用する
- 「インスタンスタイプ」を選択する
※ひとまず無料枠のt2.microを選択 - 「キーペア」で「新しいキーペアの作成」をする
- 「キーペア名」を入力する
- 「キーペアのタイプ」:RSA
- 「プライベートキーファイル形式」:.pem
- [キーペアを作成]を押す
※この時、秘密鍵がダウンロードされるので必ず保管する
その後、作成したキーペアが選択された状態になっていることを確認する
「ネットワーク設定」の[編集]ボタンを押すと詳細な項目が表示される
- 「VPC - 必須」で、作成したproject-dev-vpcを選択する
- 「サブネット」が「project-dev-subnet-public1-ap-northeast-1a」になっていることを確認する
- 「パブリックIPの自動割り当て」が無効化になっていることを確認する
※後でElasticIPと関連付ける - 「ファイアウォール」で「既存のセキュリティグループを選択する」を選択する
- 「共通のセキュリティグループ」で、project-dev-ec2-sgを選択する
※ElasticIPとは固定のIPアドレスで、AWSで使用する単語です。
「パブリックIPの自動割り当て」にすると、インスタンスを起動する度にIPアドレスが変わってしまうので、ElasticIPを使用することで固定化することができます。
[インスタンスを起動]する
しばらく待って、ステータスチェックが完了するまで待機
ElasticIPを割り当て、関連付ける
EC2>ネットワーク&セキュリティ>Elastic IPと進み、[Elastic IP アドレスを割り当てる]ボタンを押す
特に入力せず[割り当て]を押す
[このElastic IP アドレスを関連付ける]を押す
※チェックボックスにチェック>アクション>このElastic IP アドレスを関連付ける、でもOK
先に作成したEC2インスタンスを選択して、[関連付ける]を押す
SSH接続でインスタンスに入れることを確認する
キーペア作成時にダウンロードした秘密鍵の場所を確認する
※今回は~/.ssh/
に配置
下記コマンドでlogin
※初回はフィンガープリントの確認が表示されるのでyes
と入力する
ssh -i ~/.ssh/project-dev-ssh-key-pair.pem ec2-user@<Elastic IPアドレス>
下記みたいになればOK
shin-gee@workspace:~$ ssh -i .ssh/project-dev-ssh-key-pair.pem ec2-user@11.22.333.44
, #_
~\_ ####_ Amazon Linux 2023
~~ \_#####\
~~ \###|
~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
Last login: Thu Oct 24 07:32:31 2024 from 555.66.77.88
[ec2-user@ip-11-2-3-444 ~]$
※余談
ec2-user
はAmazon Linuxの場合のデフォルトのユーザーなので、OSによって異なる