

# チュートリアル: ASN を IPAM に取り込む
<a name="tutorials-byoasn"></a>

パートナーやお客様がネットワークで許可リストに登録している信頼できる IP アドレスと AS 番号 (ASN) を AWS のアプリケーションで使用している場合、パートナーやお客様が許可リストを変更しなくてもこれらのアプリケーションを実行できます。

AS 番号 (ASN) は、インターネット上でネットワークのグループを識別し、[ボーダーゲートウェイプロトコル](https://aws.amazon.com/what-is/border-gateway-protocol/)を使用して他のネットワークと動的にルーティングデータを交換できるようにする、世界的に一意な番号です。例えば、インターネットサービスプロバイダー (ISP) は ASN を使用してネットワークトラフィックソースを識別します。すべての組織が独自の ASN を購入するわけではありませんが、購入する組織は ASN を AWS に持ち込むことができます。

独自の自律システム番号の持ち込み (BYOASN) を利用すると、AWS に持ち込んだ IPv4 または IPv6 アドレスを AWS ASN ではなく独自のパブリック ASN でアドバタイズできます。BYOASN を使用すると、IP アドレスから発信されるトラフィックには AWS ASN ではなく ASN が伝送され、IP アドレスと ASN に基づいてリストされたトラフィックを許可しているお客様やパートナーがワークロードにアクセスできるようになります。

**重要**  
IPAM のホームリージョンの IPAM アカウントを使用して、このチュートリアルを完了します。
このチュートリアルでは、IPAM に持ち込みたいパブリック ASN を所有していて、すでに AWS に BYOIP CIDR をパブリックスコープのプールに持ち込み、プロビジョニングしていることを前提としています。ASN は IPAM にいつでも持ち込むことができますが、使用するには AWS アカウントに持ち込んだ CIDR に関連付ける必要があります。このチュートリアルでは、これを実行済みであることを前提としています。詳細については、「[チュートリアル: IP アドレスを IPAM に移行する](tutorials-byoip-ipam.md)」を参照してください。
独自の ASN と AWS ASN の広告を遅滞なく切り替えることができますが、AWS ASN から独自の ASN への変更は 1 時間に 1 回に制限されます。
BYOIP CIDR が現在広告されている場合は、ASN に関連付けるために広告から撤回する必要はありません。

## ASN のオンボーディングの前提条件
<a name="tutorials-byoasn-prereqs"></a>

このチュートリアルを完了するに必要なものは以下のとおりです。
+ 2 バイトまたは 4 バイトのパブリック ASN。
+ AWS の [チュートリアル: IP アドレスを IPAM に移行する](tutorials-byoip-ipam.md) で IP アドレス範囲を既に持ち込んでいる場合は、IP アドレス CIDR 範囲が必要となります。さらに、プライベートキーも必要です。IP アドレス CIDR 範囲を AWS に持ち込んだときに作成したプライベートキーを使用するか、Amazon EC2 ユーザーガイド**の「[Create a private key and generate an X.509 certificate](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/prepare-for-byoip.html#byoip-certificate)」で説明されているように新しいプライベートキーを作成できます。
+ [チュートリアル: IP アドレスを IPAM に移行する](tutorials-byoip-ipam.md) で AWS に IPv4 または IPv6 アドレス範囲を持ち込む際に、[X.509 証明書を作成](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-add-certificate)し、その [X.509 証明書を RIR の RDAP レコードにアップロード](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-add-certificate)します。ASN には、 RIR の RDAP レコードに作成したものと同じ証明書をアップロードする必要があります。エンコードされた部分の前後の `-----BEGIN CERTIFICATE-----` および `-----END CERTIFICATE-----` 文字列を、必ず含めます。このコンテンツはすべて、長い 1 行にする必要があります。RDAP を更新する手順はご使用の RIR によって異なります。
  + ARIN の場合は、[Account Manager ポータル](https://account.arin.net/public/secure/dashboard)で [ASN の変更] オプションを使用して、ASN を表す「ネットワーク情報」オブジェクトの [パブリックコメント] オプションに証明書を追加します。組織の [comments] セクションには追加しないでください。
  + RIPE の場合は、ASN を表す aut-num オブジェクトに、新しい [descr] フィールドとして証明書を追加します。これらは通常、

    [RIPE データベースポータル](https://apps.db.ripe.net/db-web-ui/myresources/overview)の [マイリソース] セクションにあります。組織の [コメント] セクションや、aut-num オブジェクトの [備考] フィールドには追加しないでください。
  + APNIC の場合は、証明書をメールで [helpdesk@apnic.net](mailto:helpdesk@apnic.net) に送信し、ASN の [備考] フィールドに手動で追加します。ASN の APNIC 正規連絡先を使用してメールを送信します。
+ IPAM に IP アドレス範囲を持ち込む場合は、ROA を作成して、IPAM に持ち込む IP アドレス空間を制御していることを検証します。その ROA に加えて、IPAM に持ち込む ASN を持つ RIR に 2 つ目の ROA が必要です。RIR の ASN のためにこの 2 つ目の ROA がない場合は、「[3. RIR に ROA オブジェクトを作成する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/prepare-for-byoip.html#byoip-create-roa-object)」を完了します。他のステップは無視します。

## チュートリアルのステップ
<a name="tutorials-byoasn-process"></a>

AWS コンソールまたは AWS CLI を使用して、以下の手順を実行します。

------
#### [ AWS Management Console ]

1. IPAM コンソール ([https://console.aws.amazon.com/ipam/](https://console.aws.amazon.com/ipam/)) を開きます。

1. 左側のナビゲーションペインで、**[IPAM]** を選択します。

1. IPAM を選択します。

1. [**BYOASN**] タブを選択し、[**BYOASN のプロビジョニング**] を選択します。

1. **ASN** を入力します。その結果、[**メッセージ**] フィールドには、次のステップでサインインする必要があるメッセージが自動的に入力されます。
   + メッセージの形式は次のとおりです。ACCOUNT は AWS アカウント番号、ASN は IPAM に持ち込む ASN、YYYMMDD はメッセージの有効期限 (デフォルトでは翌月の最終日) です。例:

     ```
     text_message="1|aws|ACCOUNT|ASN|YYYYMMDD|SHA256|RSAPSS"
     ```

1. メッセージをコピーし、必要に応じて有効期限を独自の値に置き換えます。

1. プライベートキーを使用してメッセージに署名します。例:

   ```
   signed_message=$( echo -n $text_message | openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -sign private-key.pem -keyform PEM | openssl base64 | tr -- '+=/' '-_~' | tr -d "\n")
   ```

1. **[署名]** に、署名を入力します。

1. (オプション) 別の ASN をプロビジョニングするには、**[別の ASN をプロビジョニング]** を選択します。最大 5 つの ASN をプロビジョニングできます。このクォータを引き上げるには、[IPAM のクォータ](quotas-ipam.md) を参照してください。

1. [**プロビジョニング**] を選択します。

1. [**BYOASN**] タブにプロビジョニングプロセスを表示します。**状態**が 「*プロビジョニング待ち*」から「*プロビジョニング済み*」に変わるのを待ちます。*プロビジョニングに失敗した*状態の BYOASN は 7 日後に自動的に削除されます。ASN が正常にプロビジョニングされたら、それを BYOIP CIDR に関連付けることができます。

1. 左のナビゲーションペインで、[**プール**] を選択します。

1. 公開範囲を選択します。スコープの詳細については、[IPAM の仕組み](how-it-works-ipam.md)を参照してください。

1. BYOIP CIDR がプロビジョニングされているリージョナルプールを選択します。プールには **サービス** が **EC2** に設定され、ロケールが選択されている必要があります。

1. **[CIDR]** タブを選択し、BYOIP CIDR を選択します。

1. **[アクション]** で **[BYOSAN 関連付けの管理]** を選択します。

1. [**関連する BYOSAN**] で、AWS に取り込む ASN を選択します。ASN が複数ある場合は、複数の ASN を BYOIP CIDR に関連付けることができます。IPAM には、いくつでも ASN を関連付けることができます。デフォルトでは、最大 5 つの ASN を IPAM に追加できることに注意してください。詳細については、「[IPAM のクォータ](quotas-ipam.md)」を参照してください。

1. **[関連付ける]** を選択してください。

1. ASN の関連付けが完了するのを待機します。ASN が BYOIP CIDR に正常に関連付けられたら、BYOIP CIDR を再度広告できます。

1. **[CIDR]** タブを選択します。

1. BYOIP CIDR を選び、**[Actions]** (アクション) > **[Advertise]** (アドバタイズ) を選択します。その結果、Amazon ASN と IPAM に持ち込んだすべての ASN の ASN オプションが表示されます。

1. IPAM に持ち込んだ ASN を選択し、[**CIDR を広告する**] を選択します。その結果、BYOIP CIDR が広告され、**[広告]** 列の値が 「取り消し」から「広告済み」に変わります。「**AS 番号**」列には、CIDR に関連付けられた ASN が表示されます。

1. (オプション) ASN 関連付けを Amazon ASN に戻す場合は、BYOIP CIDR を選択し、[**アクション**] で [**アドバタイズ**] をもう一度選択します。今回は Amazon ASN を選択します。Amazon ASN にはいつでもスワップバックできますが、カスタム ASN に変更できるのは 1 時間に 1 回だけです。

チュートリアルは完了です。

**クリーンアップ**

1. ASN と BYOIP CIDR との関連付けを解除します。
   + BYOIP CIDR を広告から除外するには、[公開範囲] のプールで [BYOIP CIDR] を選択し、[**アクション**]、[**広告から除外**] の順に選択します。
   + ASN と CIDR の関連付けを解除するには、[**アクション**]、[**BYOSAN 関連付けの管理**] の順に選択します。

1. ASN のプロビジョニング解除
   + ASN をプロビジョニング解除するには、[ByOSNS] タブで [ASN] を選択し、[**ASN のプロビジョニング解除**] を選択します。その結果、ASN はプロビジョニング解除されます。*プロビジョニング解除*状態の BYOASN は 7 日後に自動的に削除されます。

これで、クリーンアップは完了です。

------
#### [ Command line ]

1. ASN と認可メッセージを含めて ASN をプロビジョニングします。署名とは、プライベートキーで署名されたメッセージです。

   ```
   aws ec2 provision-ipam-byoasn --ipam-id $ipam_id --asn 12345 --asn-authorization-context Message="$text_message",Signature="$signed_message"
   ```

1. プロビジョニングプロセスを追跡できるように ASN を記述します。リクエストが成功すると、数分後に *プロビジョニング状態*が「*プロビジョニング済み*」に設定されているはずです。

   ```
   aws ec2 describe-ipam-byoasn 
   ```

1. ASN を BYOIP CIDR に関連付けます。広告元となるカスタム ASN は、まず CIDR に関連付ける必要があります。

   ```
   aws ec2 associate-ipam-byoasn --asn 12345 --cidr xxx.xxx.xxx.xxx/n
   ```

1. 関連付けプロセスを追跡できるように CIDR を記述します。

   ```
   aws ec2 describe-byoip-cidrs --max-results 10
   ```

1. CIDR を ASN とともにこうこくします。CIDR がすでに広告されている場合は、オリジン ASN が Amazon のオリジン ASN からお客様の ASN に切り替わります。

   ```
   aws ec2 advertise-byoip-cidr --asn 12345 --cidr xxx.xxx.xxx.xxx/n
   ```

1. CIDR を記述して、ASN の状態が「*関連付け済み*」から「*広告済み*」に変化することを確認します。

   ```
   aws ec2 describe-byoip-cidrs --max-results 10
   ```

チュートリアルは完了です。

**クリーンアップ**

1. 次のいずれかを行います。
   + ASN の広告だけを取り消して、CIDR を広告したまま Amazon ASN の使用に戻すには、ASN パラメータに特別な AWS 値を指定して advertise-byoip-cidr を呼び出す必要があります。Amazon ASN への切り替えはいつでも可能ですが、カスタム ASN に変更できるのは 1 時間に 1 回だけです。

     ```
     aws ec2 advertise-byoip-cidr --asn AWS --cidr xxx.xxx.xxx.xxx/n 
     ```
   + CIDR と ASN の広告を同時に取り消すには、withdraw-byoip-cidr を呼び出します。

     ```
     aws ec2 withdraw-byoip-cidr --cidr xxx.xxx.xxx.xxx/n
     ```

1. ASN をクリーンアップするには、まず ASN と BYOIP CIDR との関連付けを解除する必要があります。

   ```
   aws ec2 disassociate-ipam-byoasn --asn 12345 --cidr xxx.xxx.xxx.xxx/n
   ```

1. ASN と ASN を関連付けていたすべての BYOIP CIDR との関連付けが解除されたら、プロビジョニングを解除できます。

   ```
   aws ec2 deprovision-ipam-byoasn --ipam-id $ipam_id --asn 12345 
   ```

1. すべての ASN 関連付けが削除されたら、BYOIP CIDR のプロビジョニングを解除することもできます。

   ```
   aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-1234567890abcdef0 --cidr xxx.xxx.xxx.xxx/n
   ```

1. プロビジョニング解除を確認します。

   ```
   aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-1234567890abcdef0
   ```

これで、クリーンアップは完了です。

------