このページの内容は Apigee に適用されます。Apigee ハイブリッドには適用されません。
Apigee Edge のドキュメントを表示する。
このセクションでは、Apigee インスタンスの NAT IP を管理する方法について説明します。
Apigee にはエフェメラル IP と専用 IP が用意されています。ほとんどの場合、エフェメラル IP で十分です。バックエンドで IP 許可リストが必要ない場合は、NAT IP を管理する必要はありません。下り(外向き)の場合、Apigee はエフェメラル IP を自動的に割り当てます。
IP 許可リストが必要な場合は、IP を予約して有効にできます。そうすると、Apigee は下り(外向き)トラフィックに静的 IP を使用します。
Apigee NAT IP プロビジョニングを設定する
Apigee インスタンスに NAT IP プロビジョニングを設定するには:
- 次の環境変数を作成して入力します。
変数
PROJECT_ID=YOUR_PROJECT_ID
ORG_ID=YOUR_ORG_ID
INSTANCE_NAME=YOUR_INSTANCE_NAME
NAT_ID=1st_NAT_IP_ID
例
PROJECT_ID=apigee-saas-prod
ORG_ID=apigee-saas-prod
INSTANCE_NAME=prod-us-west1-instance1
NAT_ID=nat-1
ここで
- YOUR_PROJECT_ID は、前提条件の一部として作成した Cloud プロジェクト ID です。プロジェクト ID がわからない場合は、Cloud コンソールまたは
gcloud projects list
コマンドで確認します。 - YOUR_ORG_ID は Apigee 組織 ID です。
- YOUR_INSTANCE_NAME は Apigee インスタンスの名前です。
- 1st_NAT_IP_ID は、この NAT IP アドレスに割り当てる名前です。例:
nat-1
。このパラメータの値は 20 文字以内にする必要があります。
- YOUR_PROJECT_ID は、前提条件の一部として作成した Cloud プロジェクト ID です。プロジェクト ID がわからない場合は、Cloud コンソールまたは
- 次のコマンドを使用して NAT IP を予約します。
-
次の例のように、コマンドラインで
gcloud
認証情報を取得します。TOKEN=$(gcloud auth print-access-token)
トークンにデータが入力されていることを確認するには、次の例のように
echo
を使用します。echo $TOKEN
エンコードされた文字列としてトークンが表示されるはずです。
詳細については、gcloud コマンドライン ツールの概要をご覧ください。
- NAT IP を予約するコマンドは長時間実行オペレーションを返します。このコマンドは
operation_name
変数に出力を割り当てます。operation_name=$(curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses" \ -X POST -H "content-type:application/json" -d "{\"name\":\"${NAT_ID}\"}" | jq -r '.name')
- 次のリクエストを実行して、
done: true
のステータスが表示されるまで長時間実行オペレーションをポーリングします。curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
-
- オペレーションが完了したら、次のコマンドを使用して NAT IP を有効にします。
- IP を有効にして、
operation_name
に長時間実行オペレーションの名前を割り当てます。operation_name=$(curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}:activate" \ -X POST -H "content-type:application/json" -d "{}" | jq -r '.name')
- ステータスが
done: true
になるまで、長時間実行オペレーションをポーリングします。curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
- IP を有効にして、
- セットアップする各 NAT IP に新しい NAT IP 名を付けて、この手順を繰り返します。
NAT IP の取得
次のコマンドを使用して、インスタンスの NAT IP を一覧表示します。
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses"
レスポンスの例は次のようになります。
{ "natAddresses": [ { "name": "nat-1", "ipAddress": "35.203.160.18", "state": "ACTIVE" }, { "name": "nat-2", "ipAddress": "35.230.14.174", "state": "RESERVED" }, { "name": "nat-3", "state": "CREATING" } ] }
NAT IP のステータス
CREATING
: NAT IP の作成は保留中です。使用する準備ができていません。RESERVED
: NAT IP が作成されましたが、使用されていません。この IP を有効にする前に IP の許可リストを表示できます。ACTIVE
: NAT IP は下り(外向き)トラフィックの送信に使用されています。DELETING
: NAT IP は削除されています。
NAT IP の削除
次のコマンドで NAT IP を削除できます。
- IP を削除し、「
operation_name
」に出力を割り当てます。operation_name=$(curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}" \ -X DELETE | jq -r '.name')
- ステータスが
done: true
になるまで、長時間実行オペレーションをポーリングします。curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"