Amazon Lightsail のインスタンスファイアウォール - Amazon Lightsail

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Lightsail のインスタンスファイアウォール

Amazon Lightsail コンソールのファイアウォールは、パブリック IP アドレスを介してインスタンスに接続できるトラフィックを制御する仮想ファイアウォールとして機能します。Lightsail で作成する各インスタンスには、IPv4 アドレス用と IPv6 アドレス用の 2 つのファイアウォールがあります。各ファイアウォールには、インスタンスに着信するトラフィックをフィルタリングする一連のルールが含まれています。各ファイアウォールは、互いに独立しています。IPv4 と IPv6 のファイアウォールルールを別個に設定する必要があります。インスタンスのファイアウォールは、トラフィックを許可または制限するルールを追加および削除することで、いつでも編集できます。

目次

Lightsail ファイアウォール

各 Lightsail インスタンスには、IPv4 アドレス用と IPv6 アドレス用の 2 つのファイアウォールがあります。Lightsail インスタンスに出入りするすべてのインターネットトラフィックは、そのファイアウォールを通過します。インスタンスのファイアウォールは、インスタンスへの流入を許可されたインターネットトラフィックを制御します。ただし、送信トラフィックは制御しません。 ファイアウォールは、すべてのアウトバウンドトラフィックを許可します。インスタンスのファイアウォールは、受信ラフィックを許可または制限するルールを追加および削除することで、いつでも編集できます。各ファイアウォールは、互いに独立しています。IPv4 と IPv6 のファイアウォールルールを別個に設定する必要があります。

ファイアウォールルールは常にアクセスを許可します。アクセスを拒否するルールを作成することはできません。インスタンスへの着信トラフィックを許可するルールをインスタンスのファイアウォールに追加します。インスタンスのファイアウォールにルールを追加するときは、以下の例(IPv4)に示すように、使用するプロトコル、開くポート、インスタンスに接続できる IPv4 および IPv6 アドレスを指定します。アプリケーションレイヤーのプロトコルタイプも指定できます。これは、インスタンスで使用するサービスに応じて、プロトコルとポート範囲を自動的に指定するプリセットです。


        Lightsail コンソールの IPv4 ファイアウォール
重要

ファイアウォールルールが影響するのは、インスタンスのパブリック IP アドレス経由で受信されるトラフィックのみです。同じ のアカウント内の Lightsail リソース、または同じ のピアリングされた仮想プライベートクラウド (VPC) 内のリソースから発信される可能性のある AWS リージョン、インスタンスのプライベート IP アドレスを通過するトラフィックには影響しません AWS リージョン。

ファイアウォールルールおよび設定可能なパラメータについては、このガイドの以降のセクションで説明します。

ファイアウォールルールを作成する

ファイアウォールルールを作成して、クライアントがインスタンスまたはインスタンスで実行されているアプリケーションとの接続を確立できるようにします。例えば、すべてのウェブブラウザがインスタンス上の WordPress アプリケーションに接続できるようにするには、任意の IP アドレスからポート 80 経由で Transmission Control Protocol (TCP) を有効にするファイアウォールルールを設定します。インスタンスのファイアウォールでこのルールがすでに設定されている場合は、ルールを削除して、ウェブブラウザがインスタンス上の WordPress アプリケーションに接続できないようにすることができます。

重要

Lightsail コンソールを使用して、一度に最大 30 個の送信元 IP アドレスを追加できます。一度に最大 60 個の IP アドレスを追加するには、Lightsail API、 AWS Command Line Interface (AWS CLI)、または AWS SDK を使用します。このクォータは、IPv4 ルールと IPv6 ルールに対して個別に適用されます。例えば、ファイアウォールで、IPv4 トラフィックと IPv6 トラフィックのそれぞれに 60 個のインバウンドルールを設定できます。個々の IP アドレスを CIDR 範囲に統合することをお勧めします。詳細については、このガイドの「送信元 IP アドレスの指定」セクションを参照してください。

また、SSH クライアントからインスタンスへの接続を許可してサーバーで管理タスクを実行できます。そのためには、接続を確立する必要があるコンピュータの IP アドレスに限り、ポート 22 を介した TCP を許可するファイアウォールルールを設定します。この場合、インスタンスへの SSH 接続の確立をすべての IP アドレスに許可しないようにします。許可すると、インスタンスのセキュリティリスクが生じる可能性があります。

注記

このセクションで説明するファイアウォールルールの例は、インスタンスのファイアウォールにデフォルトで設定済みである場合があります。詳細については、このガイドの後半の「デフォルトのファイアウォールルール」を参照してください。

特定のポートに複数のルールがある場合、最も許容度の大きいルールを適用します。たとえば、IP アドレス 192.0.2.1 からの TCP ポート 22 (SSH) へのアクセスを許可するルールを追加したとします。次に、すべてのユーザーからの TCP ポート 22 へのアクセスを許可する別のルールを追加します。これにより、すべてのユーザーが TCP ポート 22 にアクセスできるようになります。

プロトコルを指定する

プロトコルは 2 台のコンピューター間でデータを送信する形式です。Lightsail では、ファイアウォールルールで次のプロトコルを指定できます。

  • Transmission Control Protocol (TCP) は主に、クライアントとインスタンスで実行されているアプリケーション間の接続を確立して、データの交換が完了するまで接続を維持するために使用されます。これは広く使用されており、ファイアウォールルールで指定することが多いプロトコルです。TCP は、送信されたデータに欠落がないこと、および送信されたすべてのデータが目的の受信者に到達することを保証します。ウェブブラウジング、金融取引、テキストメッセージングなど、高い信頼性が要求されるが、転送時間の重要度が低いネットワークアプリケーションに最適です。これらのユースケースでは、データの一部が失われると、重大な価値の損失となります。

  • UDP (User Datagram Protocol) は、インスタンスで実行されているアプリケーションとクライアントとの間で低レイテンシーおよび損失許容接続を確立するために主に使用します。ゲーム、音声、ビデオ通信など、体感レイテンシーの重要度が高いネットワークアプリケーションに最適です。これらのユースケースでは、多少のデータ損失が生じる場合がありますが、体感品質を損なうほどではありません。

  • ICMP (Internet Control Message Protocol) は、ネットワーク通信の問題を診断するために主に使用します。たとえば、データが送信先にタイムリーに到着しているかどうかを確認します。このプロトコルは Ping ユーティリティに最適です。このユーティリティでは、ローカルコンピュータとインスタンス間の接続速度をテストできます。データがインスタンスに到着してローカルコンピュータに戻ってくるまでの所要時間をレポートします。

    注記

    Lightsail コンソールを使用してインスタンスの IPv6 ファイアウォールに ICMP ルールを追加すると、ICMPv6 を使用するようにルールが自動的に設定されます。詳細については、Wikipedia の「IPv6 のインターネット制御メッセージプロトコル」を参照してください。

  • すべてでは、インスタンスへのすべてのプロトコルトラフィックの流入を許可します。どのプロトコルを指定すればよいかわからない場合は、このプロトコルを指定します。これには、上に示したプロトコルだけでなく、すべてのインターネットプロトコルが含まれます。詳細については、「Protocol Numbers」(Internet Assigned Numbers Authority ウェブサイト) を参照してください。

ポートの指定

コンピュータがキーボードやマウスなどの周辺機器と通信するためのコンピュータの物理ポートと同様に、ネットワークポートはインスタンスのインターネット通信エンドポイントとして機能します。コンピュータは、インスタンスと接続するときに、通信を確立するためのポートを公開します。

ファイアウォールルールで指定できるポートの範囲は 0~65535 です。インスタンスへの接続をクライアントに許可するファイアウォールを作成する場合、使用するプロトコル (このガイドの前半で説明) と、接続の確立に使用できるポート番号を指定します。プロトコルとポートを使用して接続を確立できる IP アドレスを指定することもできます。これについては、このガイドの次のセクションで説明します。

よく使用されるポートと、これらのポートを使用するサービスは以下のとおりです。

  • FTP (File Transfer プロトコル) を介したデータ転送では、ポート 20 を使用します。

  • FTP に介したコマンド制御では、ポート 21 を使用します。

  • Secure Shell (SSH) では、ポート 22 を使用します。

  • Telnet リモートログインサービス、および暗号化されていないテキストメッセージでは、ポート 23 を使用します。

  • SMTP (Simple Mail Transfer Protocol) では、E メールの送信にポート 25 を使用します。

    重要

    インスタンスで SMTP を有効にするには、インスタンスにリバース DNS も設定する必要があります。そうしないと、E メールが TCP ポート 25 経由に制限される可能性があります。詳細については、「Amazon Lightsail インスタンスでの E メールサーバーの逆引き DNS の設定」を参照してください。

  • ドメインネームシステム (DNS) サービスでは、ポート 53 を使用します。

  • ウェブブラウザがウェブサイトに接続するために使用する HTTP (ハイパーテキスト転送プロトコル) では、ポート 80 を使用します。

  • E メールクライアントがサーバーから E メールを取得するために使用する POP3 (Post Office Protocol) では、ポート 110 を使用します。

  • NNTP (Network News Transfer Protocol) では、ポート 119 を使用します。

  • NTP (Network Time Protocol) では、ポート 123 を使用します。

  • デジタルメールを管理するために使用する IMAP (インターネットメッセージアクセスコントロール) では、ポート 143 を使用します。

  • SNMP (簡易ネットワーク管理プロトコル) では、ポート 161 を使用します。

  • ウェブブラウザがウェブサイトへの暗号化された接続を確立するために使用する TLS/SSL を介した HTTP Secure (HTTPS) HTTP では、ポート 443 を使用します。

詳細については、「Service Name and Transport Protocol Port Number Registry」(Internet Assigned Numbers Authority ウェブサイト) を参照してください。

アプリケーションレイヤーのプロトコルタイプを指定する

ファイアウォールルールの作成時に、アプリケーションレイヤーのプロトコルタイプを指定できます。プロトコルタイプは、インスタンスで有効にしたサービスに応じてルールのプロトコルとポート範囲を指定するプリセットです。これにより、SSH、RDP、HTTP などのサービスで使用する一般的なプロトコルやポートを検索する必要がなくなります。これらのアプリケーションレイヤーのプロトコルタイプを選択するだけで、プロトコルとポートが自動的に指定されます。独自のプロトコルとポートを指定する場合は、アプリケーションレイヤーのプロトコルタイプとして [カスタムルール] を選択できます。これにより、該当するパラメータを制御できます。

注記

アプリケーションレイヤープロトコルタイプは、Lightsail コンソールを使用してのみ指定できます。Lightsail API、 AWS Command Line Interface (AWS CLI)、または SDKsを使用してアプリケーションレイヤープロトコルタイプを指定することはできません。

Lightsail コンソールでは、次のアプリケーションレイヤープロトコルタイプを使用できます。

  • カスタム - 独自のプロトコルとポートを指定する場合は、このオプションを選択します。

  • すべてのプロトコル – すべてのプロトコルを指定して、独自のポートを指定する場合は、このオプションを選択します。

  • すべての TCP – TCP プロトコルを使用するが、どのポートを開けばよいかわからない場合は、このオプションを選択します。これにより、すべてのポート (0~65535) を介した TCP が有効になります。

  • すべての UDP – UDP プロトコルを使用するが、どのポートを開けばよいかわからない場合は、このオプションを選択します。これにより、すべてのポート (0~65535) で UDP が有効になります。

  • すべての ICMP — すべての ICMP タイプとコードを指定するには、このオプションを選択します。

  • カスタム ICMP - ICMP プロトコルを使用し、ICMP のタイプとコードを定義する場合は、このオプションを選択します。ICMP タイプとコードの詳細については、Wikipedia の「制御メッセージ」を参照してください。

  • DNS – インスタンスで DNS を有効にする場合は、このオプションを選択します。これにより、ポート 53 を介した TCP および UDP が有効になります。

  • HTTP – インスタンスでホストされているウェブサイトへの接続をウェブブラウザに許可する場合は、このオプションを選択します。これにより、ポート 80 を介した TCP が有効になります。

  • HTTPS – インスタンスでホストされているウェブサイトへの暗号化された接続の確立をウェブブラウザに許可する場合は、このオプションを選択します。これにより、ポート 443 を介した TCP が有効になります。

  • MySQL/Aurora – インスタンスでホストされている MySQL または Aurora データベースへの接続をクライアントに許可する場合は、このオプションを選択します。これにより、ポート 3306 を介した TCP が有効になります。

  • Oracle-RDS – インスタンスでホストされている Oracle または RDS データベースへの接続をクライアントに許可する場合は、このオプションを選択します。これにより、ポート 1521 を介した TCP が有効になります。

  • Ping (ICMP) – Ping ユーティリティを使用してリクエストに応答することをインスタンスに許可する場合は、このオプションを選択します。IPv4 ファイアウォールでは、ICMP タイプ 8 (エコー) とコード -1 (すべてのコード) が有効になります。IPv6 ファイアウォールでは、ICMP タイプ 129(エコー応答)とコード 0 が有効になります。

  • RDP – インスタンスへの接続を RDP クライアントに許可する場合に、このオプションを選択します。これにより、ポート 3389 を介した TCP が有効になります。

  • SSH – インスタンスへの接続を SSH クライアントに許可する場合に、このオプションを選択します。これにより、ポート 22 を介した TCP が有効になります。

送信元 IP アドレスを指定する

ファイアウォールルールは、デフォルトですべての IP アドレスに対して、指定したプロトコルとポートを介してインスタンスに接続することを許可します。これは、HTTP や HTTPS を経由するウェブブラウザなどのトラフィックに最適です。ただし、SSH や RDP などのトラフィックの場合、これらのアプリケーションを使用してインスタンスに接続することをすべての IP アドレスに許可することは、セキュリティ上のリスクとなります。そのため、ファイアウォールルールを IPv4 または IPv6 アドレス、あるいは IP アドレス範囲に制限できます。

  • IPv4 アドレスについて - 単一の IPv4 アドレス(203.0.113.1 など) または IPv4 アドレス範囲を指定できます。Lightsail コンソールでは、範囲はダッシュ (192.0.2.0-192.0.2.255 など) または CIDR ブロック表記 (192.0.2.0/24 など) を使用して指定できます。CIDR ブロックの表記の詳細については、Wikipedia の「Classless Inter-Domain Routing」記事を参照してください。

  • IPv6ファイアウォールについて - 単一の IPv6 アドレス(2001:0db8:85a3:0000:0000:8a2e:0370:7334 など) または IPv6 アドレス範囲を指定できます。Lightsail コンソールでは、IPv6 の範囲は CIDR ブロック表記 (2001:db8:: /32 など) で指定できます。IPv6 CIDR ブロック表記の詳細については、Wikipedia の「IPv6 CIDR ブロック」を参照してください。

デフォルトの Lightsail ファイアウォールルール

新しいインスタンスを作成すると、そのインスタンスへの基本的なアクセスを許可する以下のデフォルトのルールが、IPv4 および IPv6 のファイアウォールに事前設定されます。デフォルトのルールは、作成するインスタンスのタイプに応じて異なります。これらのルールは、アプリケーション、プロトコル、ポート、および送信元 IP アドレスのリスト (アプリケーション - プロトコル - ポート - 送信元 IP アドレスなど) として示してあります。

AlmaLinux、Amazon Linux 2、Amazon Linux 2023、CentOS、Debian、FreeBSD、openSUSE、Ubuntu (ベースオペレーティングシステム)

SSH - TCP - 22 - すべての IP アドレス

HTTP - TCP - 80 - すべての IP アドレス

WordPress、Ghost、Joomla! PrestaShop、Drupal (CMS アプリケーション)

SSH - TCP - 22 - すべての IP アドレス

HTTP - TCP - 80 - すべての IP アドレス

HTTPS - TCP - 443 - すべての IP アドレス

cPanel & WHM(CMS アプリケーション)

SSH - TCP - 22 - すべての IP アドレス

DNS (UDP) - UDP - 53 - すべての IP アドレス

DNS (TCP) - TCP - 53 - すべての IP アドレス

HTTP - TCP - 80 - すべての IP アドレス

HTTPS - TCP - 443 - すべての IP アドレス

カスタム - TCP - 2078 - すべての IP アドレス

カスタム - TCP - 2083 - すべての IP アドレス

カスタム - TCP - 2087 - すべての IP アドレス

カスタム - TCP - 2089 - すべての IP アドレス

LAMP、Django、Node.js、MEAN GitLab、Nginx (開発スタック)

SSH - TCP - 22 - すべての IP アドレス

HTTP - TCP - 80 - すべての IP アドレス

HTTPS - TCP - 443 - すべての IP アドレス

Magento (e コマースアプリケーション)

SSH - TCP - 22 - すべての IP アドレス

HTTP - TCP - 80 - すべての IP アドレス

HTTPS - TCP - 443 - すべての IP アドレス

Redmine (プロジェクト管理アプリケーション)

SSH - TCP - 22 - すべての IP アドレス

HTTP - TCP - 80 - すべての IP アドレス

HTTPS - TCP - 443 - すべての IP アドレス

Plesk (ホスティングスタック)

SSH - TCP - 22 - すべての IP アドレス

HTTP - TCP - 80 - すべての IP アドレス

HTTPS - TCP - 443 - すべての IP アドレス

カスタム - TCP - 53 - すべての IP アドレス

カスタム - UDP - 53 - すべての IP アドレス

カスタム - TCP -8443 - すべての IP アドレス

カスタム - TCP - 8447 - すべての IP アドレス

Windows Server 2022、Windows Server 2019、および Windows Server 2016

SSH - TCP - 22 - すべての IP アドレス

HTTP - TCP - 80 - すべての IP アドレス

RDP - TCP - 3389 - すべての IP アドレス

SQL Server Express 2022、SQL Server Express 2019、SQL Server Express 2016

SSH - TCP - 22 - すべての IP アドレス

HTTP - TCP - 80 - すべての IP アドレス

RDP - TCP - 3389 - すべての IP アドレス

ファイアウォールに関する他の参照情報

Lightsail でファイアウォールを管理するのに役立つ記事を以下に示します。