【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

Amazon VPC(Virtual Private Cloud) のルートテーブル(route table)のステータスが blackhole の状態になる原因について調べました。

 

 

ルートテーブル(route table)のステータスが blackhole に

下図のようにルートテーブルのステータスが「blackhole」になっています。

 

 

やった作業と言えば、「インターネットゲートウェイ」を作成し、VPC にアタッチしただけです。

 

 

 

ステータスが blackhole になる原因

AWS の公式サイトを調べました。

 

DescribeRouteTables

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/APIReference/API_DescribeRouteTables.html

 

route.state – The state of a route in the route table (active | blackhole). The blackhole state indicates that the route’s target isn’t available (for example, the specified gateway isn’t attached to the VPC, the specified NAT instance has been terminated, and so on).

 

■日本語訳

route.state – ルートテーブル内のルートの状態は、「active | blackhole」になります。

ブラックホール(blackhole)状態は、ルートのターゲットが利用できないことを示します(たとえば、指定されたゲートウェイがVPCに接続されていない、指定されたNATインスタンスが終了したなど)。

 

 

再度、設定を調べました。

以下が適切に結びついているかどうか確認しました。

 

■VPC(Virtual Private Cloud)の設定

  • Vpc Id ← vpc-34776f56
  • Route table ← rtb-75150e17

 

■ルートテーブル(route table)の設定

  • Vpc ID ←  vpc-34776f56
  • Route Table ID ← rtb-75150e17
  • ルートテーブルのターゲット ← igw-c1b1a7a3

 

■インターネットゲートウェイ(Internet Gateway)の設定

  • インターネットゲートウェイ ID ← igw-0218cf8531fe69358
  • アタッチ済み VPC ID ← vpc-34776f56

 

インターネットゲートウェイは適切な VPC にアタッチされているものの、ルートテーブルのターゲットが存在しない「インターネットゲートウェイ」になっていました。

つまり、以前利用していて、その後削除したインターネットゲートウェイの設定が残っていたということです。

要するにちゃんと設定が出来ていなかったということでした。

 

いろいろ設定の修正を試してみましたが、一番確実に復旧できる方法は、一旦インターネットゲートウェイを削除して作り直し、VPC にアタッチしてルートテーブルを設定しなおすことです。

以下でその手順を記載します。

(ただし、すべてのケースに当てはまる手順ではありません)

 

 

blackhole 状態から復旧する手順

最初に手順の概要です。

  1. ルートテーブルから既存の「0.0.0.0/0」のルートを削除する
  2. 新規ルートテーブルを作成する
  3. 新規ルートテーブルをメイン(Main)にする
  4. 旧ルートテーブルを削除する
  5. 新規ルートテーブルにサブネットを割り当てる
  6. インターネットゲートウェイを削除する
  7. 新規でインターネットゲートウェイを作成する
  8. VPC にインターネットゲートウェイをアタッチする
  9. ルートテーブルに「0.0.0.0/0」のルートを新規インターネットゲートウェイに設定する

 

 

ルートテーブルから既存の「0.0.0.0/0」のルートを削除する

最初にルートテーブルから既存の「0.0.0.0/0」のルートを削除します。

 

VPC のダッシュボードより左側ペインの「ルートテーブル」をクリックし、対象のルートテーブルを選択します。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

対象のルートテーブルの「Routes」タブをクリックし「Edit routes」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

 

「blackhole」と表示されている「0.0.0.0/0」「x」をクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

「0.0.0.0/0」のルートが削除されたことを確認し「Save routes」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

「Routes successfully edited」のメッセージが表示されたら「Close」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

 

新規ルートテーブルを作成する

続けて新規ルートテーブルを作成します。

「Create route table」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

「Create route table」画面で以下のように設定します。

  • Name tag ← 新しいルートテーブルの名前を設定します。
  • VPC ← 割り当てたい VPC を選択します。

設定したら「Create」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

新規ルートテーブルが作成されたことを確認します。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

 

 

 

新規ルートテーブルをメイン(Main)にする

次に下図のように旧ルートテーブルが「Main」になっています。

この状態では(Main になっている状態)では、ルートテーブルを削除できないので、新規ルートテーブルに「Main」を移動して、旧ルートテーブルを削除できる状態にします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

新規ルートテーブルにチェックを入れて、「アクション」「Set Main Route Table」をクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

「Set Main Route Talbe」の確認画面が表示されるので、「OK」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

下図のように新規ルートテーブルに「Main」が移動したことを確認します。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

旧ルートテーブルを削除する

次に旧ルートテーブルを削除します。

 

旧ルートテーブルにチェックを入れて「アクション」「Delete Route Table」をクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

「Delete Route Table」画面が表示されるので「Delete route table」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

下図のようにルートテーブルが削除されたことを確認します。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

新規ルートテーブルにサブネットを割り当てる

新規ルートテーブルにサブネットを割り当てます。

 

新規ルートテーブルを作成しただけでは、以下のように「You do not have any subnet association」のメッセージが表示され、サブネットが割り当てられていないことが分かります。

「Subnet Associations」タブをクリックして「Edit subnet associations」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

割り当てたいサブネットを選択し、「Save」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

下図のようにサブネットが割り当てられたことを確認します。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

インターネットゲートウェイを削除する

次に既存のインターネットゲートウェイを削除します。

 

「VPC ダッシュボード」より左側ペインの「インターネットゲートウェイ」をクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

対象の「インターネットゲートウェイ」を選択し、「アクション」「VPC からデタッチ」をクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

VPC からデタッチの確認画面で「デタッチ」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

下図のように「状態」「detached」になっていることを確認します。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

新規でインターネットゲートウェイを作成する

新規でインターネットゲートウェイを作成ます。

 

先ほどの画面より「インターネットゲートウェイの作成」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

インターネットゲートウェイ作成画面で「Name タグ」を入力(例:New_Internet_Gateway01)し、「作成」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

下図のようにインターネットゲートウェイが作成されたメッセージが表示されたら「閉じる」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

VPC にインターネットゲートウェイをアタッチする

次に VPC にインターネットゲートウェイをアタッチします。

 

新規インターネットゲートウェイを選択して「アクション」「VPC にアタッチ」をクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

「VPC にアタッチ」画面で、アタッチする VPC を選択して「アタッチ」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

下図のように新規インターネットゲートウェイの「状態」「attached」になっていることを確認します。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

ルートテーブルに「0.0.0.0/0」のルートを新規インターネットゲートウェイに設定する

最後にルートテーブルにデフォルトゲートウェイ「0.0.0.0/0」のルートに先ほど作成した新規インターネットゲートウェイを割り当てれば完了です。

 

 

「VPC ダッシュボード」の左側ペインより「ルートテーブル」をクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

新規作成したルートテーブルを選択し、「Routes」タブをクリックし「Edit routes」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

「Edit routes」画面で「ルートの追加」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

下図のように「0.0.0.0/0」を入力し、「Target」に新規インターネットゲートウェイを選択し「Save routes」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

下図のようにルートの追加が完了したメッセージが表示されることを確認して「Close」ボタンをクリックします。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

下図のように先ほど設定したルートが表示されていることを確認します。

【AWS】ルートテーブル(route table)のステータスが blackhole の状態になる原因【VPC】

 

 

 

 

 

 

 

 

 

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください