AWS(Amazon Web Servises)
ただいまデプロイ周辺で絶賛つまづいてますので、復習します。
サーバのセットアップ ~ SSHでログインまでを書きます。
・クラウドコンピューティング
従来ダウンロードやインストールして利用していたデータやソフトを、ネットワークを通じて利用するもの。
レンタルサーバとは異なり必要な時に、必要な分だけ使う事ができる。
Gmailなどもクラウドコンピューティングの一つになります。
米Amazonが提供している クラウドコンピューティングサービス の総称。
代表的なサービスにAmazon EC2(仮想サーバ)、Amazon S3
(クラウドストレージ)、Amazon RDS(データベース)などがあります。
他サービスとの比較
始めやすそうですね!!ではまず会員登録です→aws
クレジットかデビットカードの登録が必要になります。
『AWSを使って最短でRuby on Railsのためのサーバを用意する』
に絞っていきます!!
①右上オレンジのサインアップをクリック。
②アカウント、連絡先情報、支払情報を入力して下さい。
③本人確認をしましょう。
④サポートプランを選択しましょう。無料のベーシックプランでOK。
⑤サインインしましょう。
・サーバのセットアップ ~SSHログイン
・リージョンの設定
物理的なサーバの場所を指定するものです。世界各地に存在し、一つは東京にあります。物理的なサーバなのでリージョン間の移動はできません。
ログインしたら画面右上のサポートの左側を東京にします。
・EC2インスタンスを作成
・EC2とは Amazon Elastic Compute Cloud (Amazon EC2)
・インスタンスとは AmazonのEC2はインスタンスという単位でサーバー環境が構築できる。OSを載せた仮想サーバーのこと。
・仮想サーバとは 1台のサーバを仮想上複数のサーバとみなして稼働させる仕組み。
①画面左上の サービス から EC2 をクリック。
②画面左の目次から インスタンス をクリック。
③青いボタン インスタンスを作成 をクリック。
④AMIの選択 画像の下側「 Amazon Linux AMI 」を選択。
・AMI(Amazon Machine Image)とは
OSの情報、ディレクトリ、ファイル、ブロックデバイスマッピングなど
必要な情報をまとめたもの(インスタンスはAMIのコピー)
⑤EC2インスタンスのタイプを選択。無料枠の「t2.micro」を選択し
右下青いボタン 確認と作成 をクリック、同じく 起動 をクリック。
⑥キーペアのダウンロード。新しいキーペア を選択しキーペア名を入力。
キーペア名にスペースが含まれていると後の作業でエラーが発生する可能性があります。 スペースを含まない名前にしましょう!
⑦キーペアのダウンロード をクリック。
インスタンスにSSHでログインする際に必要となる「秘密鍵」です。これがないとEC2インスタンスにログインできないので、必ずダウンロードしてパソコンに保存しておきましょう。
・SSH(Secure Shell)とは
安全に通信を行って、ネットワークに接続された機器を遠隔操作するための通信手段(プロトコル)の1つ。通信する側とされる側で、SSHでやり取りをしよう!と取り決めることで安全に通信を行う。
⑧ダウンロード完了後、右下青ボタン インスタンスの作成 をクリック。
⑨画面右下青ボタン インスタンスの表示 をクリック。
・Elastic IPの作成と紐付け
EC2インスタンスは、作成時にIPアドレスが自動で割り振られています。
これをパブリックIPと言います。しかし、サーバー再起動させるたびにパブリックIPが変わってしまうという欠点を持っています。IPが変わってしまうということは、設定ファイル等をその都度書き換えなければいけません。
これを解決してくれるのが、Elastic IPです。
・Elastic IPとは
AWSから割り振られた固定のパブリックIPアドレス。パブリックIPアドレスをEC2インスタンスに紐付けることで、インスタンスの起動、停止に関わらず常に同じIPアドレスで通信をするElastic IPことが可能になります。
①画面左の目次から Elastic IP をクリック。
②画面右上オレンジボタン Elastic IP アドレスの割り当て をクリック。
③Amazon の IPv4 アドレスプール をチェック。
④右下オレンジボタン 割り当て をクリック。
⑤画面右上 Action をクリック。
⑥Elastic IP アドレスの関連付け をクリック。
⑧画面中央の インスタンスタイプを選択します をクリック。
⑨作成したインスタンスIDが表示されるので選択。
⑩右下オレンジの 関連付ける をクリック。
インスタンスに戻り、作成したインスタンスをクリックすると画面の下に
インスタンスの説明が表示されます。「パブリック IP」と「Elastic IP」が同じものに設定されていれば成功です。
・ポートを開く
立ち上げたばかりのEC2インスタンスは、HTTPなど他の接続はつながらないようになっています。WEBサーバとして利用するEC2インスタンスは事前にHTTPがつながるように「ポート」を開放する必要があります。
①インスタンスの説明が表示されている画面で、セキュリティグループ欄にあるすぐ右側のリンクをクリック。
②遷移先画面右上 アクション をクリックし、
インバウンドのルールの編集 をクリック。
③ルールを追加する をクリックし、HTTPを追加、ソースも変更する。
「ルールの追加」を行い、元の「ssh」の設定がなくならないよう注意。
④画面右下オレンジ ルールの保存 をクリック。
・EC2インスタンスへのログイン
EC2インスタンスを作成すると、ec2-userというユーザーと対応するSSH秘密鍵が生成されます。本来はサービスを稼働させる為により権限を小さくしたユーザーを作成して運用しますが、簡易化のためにec2-userを使います。
ターミナル(ローカル)
$ cd ~
$ mkdir ~/.ssh
# .sshディレクトリを作成
$ mv Downloads/〇〇.pem .ssh/
# mvコマンドで、ダウンロードしたpemファイルを、ダウンロードディレクトリから、.sshディレクトリに移動します。
# 〇〇は自身で命名した名前が入ります。
$ cd .ssh/
$ ls
# pemファイルがあるか確認
$ chmod 600 〇〇.pem
$ ssh -i 〇〇.pem ec2-user@紐付けたElastic IP
# Elastic IPが123.456.789であれば、ssh -i 〇〇.pem ec2-user@123.456.789 になります
# ダウンロードした鍵で、ec2-userとしてログイン
接続を続行してもよろしいですかと確認された時は yes を入力。
chmodコマンド → 詳細解説
上記画面になり、ターミナルのコマンド待ちの表示が、
[ec2-user| ... となればログイン成功!!!
ssh接続は一定時間操作せずにいると、タイムアウトします。
同コマンドで、再度接続できます。
長々と失礼しました。
次はEC2インスタンスの環境構築を行います。