😆

AWSでサーバーを構築してみる~インスタンスのセキュリティグループ設定~

2021/01/24に公開

はじめに

くーばねてすをやっつけるためにこれまでにLinuxさんと密に仲良くさせていただいたが、新たなステージに上がるためについにAWSさんに会いに行くことにした。AWSさんと仲良くなることでLinuxさんのファイルシステムだけでなく、インターネットの仕組みの理解につながると思い勉強する。今回はその第1歩としてAWSを使ってWordPressでブログシステムを構築しようと思う。

概要

■セキュリティグループの設定

をまとめた!
この画面↓

■セキュリティグループの設定

セキュリティグループは、インスタンスのトラフィックを制御するファイアウォールのルールセットです。このページで、特定のトラフィックに対してインスタンスへの到達を許可するルールを追加できます。たとえば、ウェブサーバーをセットアップして、インターネットトラフィックにインスタンスへの到達を許可する場合、HTTP および HTTPS ポートに無制限のアクセス権限を与えます。新しいセキュリティグループを作成するか、次の既存のセキュリティグループから選択することができます。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-security-groups.html
セキュリティグループとはインスタンスに適用できるAWSのファイアウォールであり、EC2インスタンスへのアクセスを許可したり、トラフィックを制御することができる。
インバウンドルールはインスタンスへの受信トラフィックを制御し、アウトバウンドルールはインスタンスからの送信トラフィックをコントロールする。インスタンスの起動時に 1 つ以上のセキュリティグループを指定する。セキュリティグループのルールはいつでも変更できる。
VPC でインスタンスを起動する場合は、その VPC 用に作成されたセキュリティグループを指定する必要がある。インスタンスを起動した後、そのセキュリティグループは変更することができる。
↓こちらは同じページだがセキュリティグループの解説↓
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-security-groups.html#security-group-rules
セキュリティグループのルール

・デフォルトで、セキュリティグループはすべてのアウトバウンドトラフィックを許可する。
・セキュリティグループのルールではアクセスを拒否するルールを作成することはできない。
・セキュリティグループルールを使用すると、プロトコルとポート番号に基づいてトラフィックをフィルタリングできる。
・セキュリティグループはステートフルだ。ルールに関係なく、返されたトラフィックが自動的に許可される。

ルールの追加と削除はいつでも変更することができる。変更する際は、セキュリティグループに関連付けられたインスタンスに自動的に適用される。
セキュリティグループは、1 つのインスタンスに複数割り当てることができる。
また一つのセキュリティグループは複数のインスタンスに割り当てることができる。

また左の項目から詳しく説明(>_<)ここではインバウンドトラフィックを設定できる。デフォルトでは、セキュリティグループはすべてのアウトバウンドトラフィックを許可する。
解放するポート番号を設定する。
■タイプ

ネットワークトラフィックに開くプロトコル。SSH (Linux インスタンスの場合) 、RDP (Windows インスタンスの場合) 、HTTP および HTTPS などの一般的なプロトコルを選択して、インターネットトラフィックがインスタンスに到達できるようにすることができます。カスタムポートまたはポート範囲を手動で入力することもできます。

■プロトコル

プロトコルの種類 (TCP や UDP など) 。ICMP を追加で選択できます。

■ポート範囲

カスタムルールおよびプロトコルの場合、ポート番号またはポート範囲を手動で入力することができます。

■ソース

インスタンスに到達できるトラフィックを判断します。単一の IP アドレス、または CIDR 表記で IP アドレス範囲を指定します (例:203.0.113.5/32 など) 。ファイアウォールの背後から接続する場合、クライアントコンピュータにより使用される IP アドレス範囲が必要です。同じリージョン内の別のセキュリティグループの名前または ID を指定できます。別の AWS アカウント(EC2-Classic のみ) にあるセキュリティグループを指定するには、先頭にアカウント ID およびスラッシュを付けて指定します。(111122223333/OtherSecurityGroup など) 。

今回はLinux インスタンスなのでSSHで22番ポート、Apache HTTP ServerというWEBサーバーソフトをインストールするので、HTTPで80番ポートを解放する。ソースはWebサーバーなので、不特定多数の方が見られるようにするために、IPの範囲を「0.0.0.0/0」にする。これは全てのIPアドレスを意味する。
これでHTTPポートが開放され、Webサーバにアクセスできるようになる。
こんな感じ(^_-)-☆

プロトコルを覗いてみたらいっぱいあった!用途に合わせてポートを解放する。

これでOKなのでインスタンスを起動する。

確認ボタンを押すと、このように警告画面が出てくる。↑
WEBサーバーにしていてすべてのIPアドレスからアクセスできるようにしているのでこのような警告画面がでてくる。なので設定内容を確認して問題なければ起動する。

そして起動ボタンを押すとインスタンスに接続するためのキーの設定画面になる。

キーペアとは↓
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-key-pairs.html
Windowsインスタンスの場合↓
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/ec2-key-pairs.html

キーペアとは、インスタンスへの接続時に身分証明に使用するセキュリティ認証情報のセット。
プライベートキーとパブリックキーで構成されている。
パブリックキーは Amazon EC2インスタンス が保存する。
プライベートキーはユーザーが保存する。
インスタンスにアクセスするには、パスワードの代わりにプライベートキーを使用する。
プライベートキーを持つ誰でもがインスタンスに接続できるため、プライベートキーは安全な場所に保存することが重要。
インスタンスの接続時に、キーペアの入力を求められるのでSSH を使用してインスタンスに接続する場合は、キーペアを指定する必要がある。既存のキーペアを選択するか、新しいキーペアを作成することが必要である。

新しいキーペアを作成する場合はここの画面で新しいキーペアをダウンロードする。
ダウンロードはここの画面でしかダウンロードすることができないのでダウンロードしたファイルはなくさないようにする。
キーペアの名前を設定してダウンロードができたらインスタンスの作成をする。

インスタンスの作成出来ました!(>_<)

まとめ

インスタンスの作成ができた!

Discussion