前提条件
- AWSアカウントを作成済みなこと
- macOSでターミナルの基本コマンド(cdとかchmodとか)が使えること
作業の大まかな流れ
- AWS EC2でインスタンスを立ち上げる
- セキュリティグループの追加(ポート解放をする)
- macOSでターミナルを使ってssh接続をする
AWSにアカウントを作ったら、EC2を開く
インスタンスの名前をつけたり、画像の通りに設定を行なっていく
新しいキーペアを作成を押すと、ウインドウが立ち上がるので、キーペア名を入れて.pemファイルを生成してダウンロードしておく。
インスタンス作成が成功したら、全てのインスタンスを表示ボタンを押す。
(補足)インスタンスを削除したいとき
インスタンス一覧で、消したいインスタンスにチェックをつけて、「インスタンスの状態」から「インスタンスを終了」を選ぶ。
なぜか、「終了」がAWSでは「削除」っていう意味なのだ。
すぐにインスタンス一覧から消えませんが、放っておくと消えていくパターンなので心配しないで大丈夫です。
(補足2)設定がAWSの画面に反映してない時
インスタンスを作成した、といった作業をしたにもかかわらず、表示に反映されないときは 慌てずリロードしましょう。
AWSは画面反映が遅い傾向があります。
セキュリティグループ追加
インスタンス一覧でインスタンスIDを押すと概要が表示されます。
概要が表示されたら、セキュリティをクリックして、セキュリティグループ名を押しましょう。使用しているセキュリティグループの概要が表示されます。
セキュリティグループの概要が表示されたら、インバウンドタブルールと、チェックボックスがオンになっているのを確認して、インバウンドのルールを編集ボタンを押す。
編集画面が出たら、ルールを追加ボタンを押して、タイプはHTTP、ソースの検索窓には0.0.0.0/0と入力します。
もう一つ追加しないといけないので、またルールを追加ボタンを押して、タイプはHTTP、ソースの検索窓には::/0を入力しましょう。
できたら最後にルールを保存ボタンを押します。
ターミナルでSSH接続してみる
画面が切り替わったら、SSHクライアントタブを表示させる。
ターミナルを開いて、cd
でさっきインスタンスを作った際にダウンロードした.pemファイルの置いてある階層に行く。
そこで、AWSの画面にあるchmod 400 自分のつけたキー名.pem
のコマンドをコピーして、ターミナルに貼り付け、アクセス権限を所有者のみ読み込みを許可するように変更する。
次に、またAWSの画面にある接続用のコマンドssh -i "自分のつけたキー名.pem" ユーザ名@なんとかかんとかamazonaws.com
をコピーして、ターミナルにペーストして接続。
すると、Are you sure you want to continue connecting (yes/no/[fingerprint])?
と聞かれるので、yes
とキーで入力。
マシン名:.ssh ユーザ名$ ssh -i "自分のつけたキー名.pem" ユーザ名@なんとかかんとかamazonaws.com
The authenticity of host 'なんとかかんとか.amazonaws.com (*.*.*.*)' can't be established.
ED25519 key fingerprint is SHA256:なんとかかんとか.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:*: なんとかかんとか.amazonaws.com
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
そしたらEC2というアスキーアートが出て、繋がります。
Warning: Permanently added 'なんとかかんとか.amazonaws.com' (ED25519) to the list of known hosts.
Last login: Thu Sep 22 00:57:24 2022 from ***.ne.jp
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@**** ~]$
あとは、EC2にターミナルからコマンドを入れて、NGINXやApatchを入れたり、MySQLを入れたりして使いましょう。