🦧

EC2について(🔰)

2023/07/05に公開

はじめに

前回に引き続き、EC2について自分メモです。
https://zenn.dev/goldsaya/articles/eb7898ef0e3a06

EC2のネットワーク構成

⬆︎
今までAWSのアイコンがあるとは知らなかったですが、Draw.ioでかけました!👀
https://aws.amazon.com/jp/architecture/icons/

パブリックとプライベート

VPC内には、複数の「サブネット」を作成することができ、これらは「パブリック」または「プライベート」のいずれかに設定することが可能です。

パブリックサブネット

パブリックサブネットに配置されたリソース(例えば、EC2やEDS)は、インターネット上から直接アクセスすることが可能!

つまり、外部のユーザーやシステムが、適切な権限とアドレスを使ってそのリソースに接続することができます。このようなリソースは通常、ウェブサーバーなどの公開するためのサービスに使用されます。

プライベートサブネット

プライベートサブネットに配置されたリソースは、インターネットからは直接アクセスできない!

これらのリソースにアクセスするためには、VPC内部からのみアクセスするか、またはVPN(Virtual Private Network)や専用のネットワーク接続(例えば、AWSのDirect Connectなど)を経由する必要があります。

このようなリソースは、内部的なデータ処理やバックエンドのデータベースなど、外部に公開する必要がないサービスに使われます。

ENI(Elastic Network Interface)

  • ENIは、AWSのクラウド内で使える「仮想のネットワークカード」です。

  • VPC内のEC2インスタンスにアタッチ(ENIを使用してインスタンスがネットワークに接続できるように設定するという意味)でき、それぞれのENIは特定のサブネット内のIPアドレスを持ちます。

  • インスタンスにはデフォルトで1つのENIがアタッチされていて、必要に応じて複数のENIをアタッチできます。

ENIは以下の属性を含めることができます!

  • VPC の IPv4 アドレス範囲からのプライマリプライベート IPv4 アドレス
  • VPC の IPv4 アドレス範囲からの 1 つ以上のセカンダリプライベート IPv4 アドレス
  • プライベート IPv4 アドレスごとに 1 つの Elastic IP アドレス (IPv4)
  • 1 つ以上のセキュリティグループ
  • 1 つのパブリック IPv4 アドレス
  • 1 つ以上の IPv6 アドレス
  • MACアドレス
  • 送信元/送信先チェックフラグ
  • ネットワークインターフェイスの説明

セキュリティグループ

EC2インスタンスは、パブリック/プライベートのどちらの状態であっても、インターネットや他のリソース(EC2インスタンスなど)から無制限にアクセスできるわけではありません!

セキュリティグループを使用して、EC2インスタンスへのインバウンド(入ってくる)およびアウトバウンド(出ていく)トラフィックを許可または拒否するルールを設定できます。

役割

  • セキュリティグループはVPCに複数定義が可能で、インスタンスに対して最大5つまで関連付けられる。
    ※厳密には、インスタンスにアタッチされているENIに関連付けられ、そのENIを介した通信のファイアウォールとして機能する。

  • 1つのセキュリティグループには、複数のアクセス許可ルールを設定できる。
    (拒否ルールの設定はないので、許可ルールに一致しない通信はすべて遮断される。)

  • 「インバウンドトラフィック」「アウトバウンドトラフィック」を別々に設定できる 。

  • 接続が維持される。

ルールを設定

通信を制御するルールの固まりを設定します。

例えば、ウェブサーバーの場合は、利用者がアクセスするためのhttpやhttps、
開発者やシステム運用者がサーバーにアクセスする場合は、SSHが許可されている必要があります。

どのプロトコル、どのポートに対して、どこからのアクセスを許可するのか、
「どこへ」の情報は、セキュリティグループを付与したサーバー(ENI)が対象となります。

インバウンドルール

アウトバウンドルール

説明
タイプ ・トラフィックがどの種類のサービスまたはプロトコルに関連しているかを示す
・例えば、HTTP(ウェブサーバーへの接続)やSSH(リモートシェル接続)など
プロトコル ・トラフィックが使用するネットワークプロトコルを指定
・一般的なプロトコルは、TCP、UDP、ICMPなど
ポート範囲 ・許可したい通信のネットワークポートの範囲を指定
・例えば、HTTPは通常ポート80を、HTTPSはポート443を、SSHはポート22を使用
ソース ・許可したい通信のソース(送信元)を指定
・IPアドレス、IPアドレス範囲、またはセキュリティグループを指定
・セキュリティグループの場合は、同じVPC内のものを指定
説明 ・そのルールの目的や用途を記載

EC2のIPアドレス

IPアドレスの種類

EC2インスタンスが保持するIPアドレスには、以下の3種類があります。

プライベートIPアドレス

  • VPC内部でのみ通信可能なIPアドレス。
  • AWS内部のリソースや他のEC2インスタンスからアクセスするために使用されます。
  • プライベートIPアドレスはインスタンスが存在する限り変わりません。

パブリックIPアドレス

  • インターネット上での通信を可能にするIPアドレス。
  • 外部からインスタンスにアクセスするために使用されます。
  • パブリックIPアドレスは、インスタンスの起動時に自動的に割り当てられ、インスタンスが停止または終了するとリリースされます。したがって、インスタンスを停止して再起動するたびに、新しいパブリックIPアドレスが割り当てられます。

EIP(Elastic IP)

  • EC2インスタンスに付与できる固定のパブリックIPアドレス。
  • IPアドレスをアカウントにプールしておくことが可能で、必要に応じてインスタンスのパブリックIPアドレスとして利用できます。
  • インスタンスの停止や再起動に関係なく、一度割り当てられたエラスティックIPは変更されません。

さいごに

また明日も続きを書いていく予定です!

Discussion