0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2を立てる

Posted at

AWSを触り始めたので、EC2で簡単なブログサイトを立ててみました。
備忘録も兼ねて、手順をまとめます。

対象読者:

  • AWS初心者
  • EC2をとりあえず動かしてみたい人
  • 個人ブログを自分で立ててみたい人

今回やること

  • EC2を立てる
  • Apacheを入れる

Step1

VPCの作成

VPC(Virtual Private Cloud)
AWS上に作る自分専用のネットワーク空間(仮想ネットワーク)で、ここにEC2のサーバーを設置していきます。
その後、EC2のサーバーに必要なアプリをインストールする流れになります。
そのため、まずVPCの設定を行います。

Step2

サブネットの設定

先ほど作成した仮想ネットワークを区切るための設定になります。
あらゆるユーザーに公開したいウェブサーバーはパブリックサブネット(名前の通り公共の環境、インターネットから接続出来る)に設定し、データベースなど機密情報が格納され一般ユーザーには触れられたくないものはプライベートサブネット(インターネットから接続出来ないところ)に設定します。
EC2はこのサブネットの中に立てる形となります。つまり、VPCの中にサブネットを作成し、さらにその中にEC2サーバーを建てるという状況です。

Step3

ルーティング設定

先ほどパプリックサブネットはインターネットから接続出来ると言いましたが、そのままでは接続出来ません。ルーティングというものを設定する必要があります。
ルーティングとは、宛先IPアドレスに対して「次にどこへ通信を送るか」を決める仕組みです。

ルートテーブルと呼ばれる表を作成してルートを管理します。
例:

宛先IP 次に渡す先
10.0.0.0/16 local
0.0.0.0/0 インターネットゲートウェイ(IGW) 

EC2から外へ通信するとき

例:GoogleのIP 142.250.190.78

・EC2「このIPに送りたい」

・ルートテーブルを見る

・「0.0.0.0/0 → IGW」と書いてある

・「0.0.0.0/0」は「すべてのIPアドレス」を意味するためIGW経由でインターネットへ

外からEC2に来るとき

・インターネットから今回作成するEC2に通信が来る

・IGWに届く

・ルートテーブルを見る

・サブネット → EC2に流れる

の流れを作成します。

Step4

Webサーバーの構築

Webサーバー構築では以下の設定が必要になります。
・EC2インスタンスの設置
・SSHの設定をしてサーバーにログイン
・Apacheのインストール
・ファイアウォール設定

EC2とは?

EC2(Elastic Compute Cloud)とはクラウド上の仮想サーバーになります。
AMI、インスタンス、ストレージを選択して作成します。
物理サーバーを作成すると、ハードウェアを準備、OS(LinuxやWindows)をインストールなどの手間がありますがEC2はAMIと呼ばれるサーバー構築のテンプレートのような物があるおかげで簡単に構築できます。
また、インスタンスタイプを選ぶことでスペックを細かく設定できます。
ストレージはサーバーのデータをどこに保存するかの設定になります。
今回はデフォルトで推奨されている設定をそのまま使用しています。

SSHとは?

SSH(Secure Shell) は、遠くのサーバーに安全にログインして操作する仕組みです。
先ほど説明したようにEC2は物理サーバーではありません。Amazonのデータセンターに本体がある形になります。ですので"遠く離れたサーバーに接続する"ということになります。
そのためクライアントとして「接続したいです。」というリクエストと「承認します!」という手順が必要になります。

ssh -i "my-key.pem" ec2-user@というコマンドで安全に接続出来るようにします。

Apacheのインストール

SSH接続するとCLIに繋がるのでApacheインストールのコマンドを実行します。
パッケージ情報を更新
sudo yum update -y
Apache(httpd)をインストール
sudo yum install httpd -y
Apacheを起動
sudo systemctl start httpd
起動時に自動スタート設定
sudo systemctl enable httpd

ファイアウォール設定

ここまででApacheのインストールまで完了ですが、初期設定だとファイアウォールの設定により通信が遮断されてしまう状態です。
SSHの接続以外は許さない設定になっているため、セキュリティグループを設定することで解消します。
セキュリティグループではインバウンドとアウトバウンドという考え方があります。
インバウンドはインターネットからEC2に入ってくる通信で、アウトバウンドはEC2から外に出る通信です。

今回はインバウンドルールにHTTP port80でルールを追加しています。

この状態でEC2インスタンスに自動で割り当てられているパブリックDNSにアクセスするとApacheの画面に繋がればEC2立ち上げ成功です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?