このトピックでは、RDS Custom のデフォルトのネットワーク設定と、カスタムイメージのネットワーク初期化を設定する方法について説明します。
RDS Custom のネットワーキング概要
デュアル NIC モードの RDS Custom インスタンスには、デフォルトで2つのネットワークインターフェースがあります。プライマリネットワークインターフェース (通常は eth0) と Elastic Network Interface (ENI) (通常は eth1) です。
-
eth0: このインターフェイスは、RDS Custom プロダクト専用の VPC に作成されます。セキュリティグループの制限により、eth0 インターフェイスを通過できるのは、ECS 管理 CIDR ブロック 100.100.0.0/16 からのアウトバウンドトラフィックのみです。
説明IP アドレス 100.100.2.136 および 100.100.2.138 は内部 DNS IP アドレスです。これらのアドレスとの間のトラフィックは eth1 を通過する必要があります。
-
eth1: このインターフェイスは、ご利用の VPC に作成されます。通常、ECS 管理 CIDR ブロックからのトラフィックを除くすべてのトラフィックは eth1 を通過します。セキュリティグループを使用して、インバウンドおよびアウトバウンドトラフィックを管理できます。
RDS Custom インスタンスに接続すると、そのネットワークインターフェース、ルートテーブル、および iptables ファイアウォールルールは通常、次のようになります。
-
ip address showコマンドを実行して、インスタンスのネットワークインターフェースの状態を表示します。
-
route -nコマンドを実行して、インスタンスのルートテーブルを表示します。トラフィックは eth1 ネットワークインターフェースのみを通過します。

-
iptables -L -nコマンドを実行して、インスタンスのデフォルトの iptables 設定を表示します。
RDS Custom インスタンスでルートテーブル、iptables ファイアウォールルール、またはネットワークインターフェース設定 (eth0 の再起動など) を変更して接続が失われた場合は、インスタンスを再起動して RDS Custom ネットワークを初期化してください。
RDS Custom インスタンスは、ネットワークの初期化に /etc/rds_custom_init.sh スクリプトを使用します。このスクリプトは削除しないでください。削除すると、初期化に失敗します。
カスタムイメージのネットワーク初期化の設定
カスタムイメージから RDS Custom インスタンスを作成すると、RDS Custom はほとんどのパブリックイメージでネットワーク初期化用の /etc/rds_custom_init.sh スクリプトを自動的に設定します。サポートされているイメージには、Alibaba Cloud Linux 3、Alibaba Cloud Linux 2、CentOS 8、CentOS 7、Debian 11、Debian 10.5、AlmaLinux 9.2、Ubuntu 22、Ubuntu 20、Ubuntu 16 が含まれます。他のカスタムイメージを使用するには、カスタムイメージを作成する前に、ソースイメージインスタンスで rds_custom_init.sh スクリプトを手動で作成する必要があります。
rds_custom_init.sh スクリプトの主な機能は次のとおりです。
-
ENI を自動的に有効化できないシステムの場合、eth1 のネットワークを設定し、関連サービスを起動します。
-
ルーティング設定を変更して、デフォルトルートを eth1 に、ECS 管理 CIDR ブロック 100.100.0.0/16 を eth0 に向けます。
-
ルーティング設定を変更して、内部 DNS IP アドレス 100.100.2.136 および 100.100.2.138 を eth1 に向けます。
RDS Custom インスタンスが起動すると、システムは eth0 のゲートウェイを /etc/eth0_gateway に記録し、ほとんどのパブリックイメージに対して /etc/rds_custom_init.sh スクリプトを自動的に設定します。RDS Custom インスタンスでネットワーク関連の初期化を実行する予定がある場合は、ネットワーク初期化が完了した後に /etc/rds_custom_init.sh スクリプトを手動で実行してください。eth1 が機能していない場合 (たとえば、IP アドレスが検出されない場合)、お問い合わせいただくか、ネットワークを設定して eth1 が正常に動作するようにしてください。
スクリプトの手動作成と起動時実行の設定
-
/etc フォルダーに
rds_custom_init.shスクリプトを作成します。スクリプトの内容は次のとおりです。 -
chmod a+x /etc/rds_custom_init.shコマンドを実行して、スクリプトに実行権限を付与します。 -
/etc/rc.localファイルを編集して、rds_custom_init.shスクリプトが起動時に実行されるように設定します。-
オペレーティングシステムが Ubuntu でない場合は、
/etc/rds_custom_init.shを/etc/rc.localファイルに追加し、/etc/rc.localファイルに必要な権限を付与します。chmod 777 /etc/rc.local -
オペレーティングシステムが Ubuntu の場合は、
rc-local.serviceサービスを設定して有効にします。-
/lib/systemd/system/rc-local.serviceファイルを編集し、次の内容を追加します。[Install] WantedBy=multi-user.target -
rc-local.serviceサービスが起動時に実行されるように設定します。# サービスが起動時に実行されるように設定します。 systemctl enable rc-local.service # サービスが起動時に実行されるように設定されているか確認します。 systemctl is-enabled rc-local.service -
rc-local.serviceサービスを開始します。# サービスを開始します。 systemctl start rc-local.service # サービスステータスを確認します。 systemctl status rc-local.service
説明Ubuntu 20.04、22.04、および 24.04 は、デフォルトでアタッチされたセカンダリ ENI の自動設定をサポートしています。自動設定に失敗した場合は、次の手順を実行して ENI を手動で設定してください。
-
-