12

一部のリージョン (us-east-1 など) では、一部のアベイラビリティーゾーンのみがサブネット (したがって VPC インスタンス) の作成に使用できることがわかりました。私の場合、ゾーンは us-east-1c、-1d、および -1e ですが、これらはアカウントによって異なります。

サブネットと VPC インスタンスを生成するスクリプトを作成しているので、どのゾーンが VPC 対応であるかをプログラムで調べると便利です。特に、一連のゾーンが変更できなかった (または少なくとも拡張できなかった) 理由がわかっているためです。時間とともに。

この投稿は基本的に同じ質問をしていましたが、受け入れられた回答は実際には私とその質問者が探していた情報を提供しません (ec2-describe-availability-zones に私が認識していない VPC 固有のパラメータがない限り): Amazon VPC の可用性

考えられる回避策の 1 つを見つけました。それは、ガベージ vpc-id とアベイラビリティ ゾーンを使用してサブネットを作成することです ( ec2-create-subnet -c garbage -i 10.0.0.0/24 -z garbage)。この呼び出しのエラー メッセージには、サブネットをホストできる AZ のリストが含まれており、探している情報についてその出力を解析できます。ただし、これはハックのように感じます。必要がない場合、この種のエラー動作やエラー メッセージの特定の形式に依存するのは好きではありません。より良い方法はありますか?

更新:コメントに基づいてもう少し詳細を追加します...

私が ALWAYS を呼び出すと、ec2-describe-availability-zonesus-east-1a から us-east-1e までの 5 つの値が返されますが、VPC サブネットは 1c、1d、および 1e にしか作成できません。1b を除くすべてのゾーンで実行されているインスタンスがあり、通常のインスタンスでさえ起動できませんでした (段階的に廃止されているようです)。このアカウントは VPC 機能のリリース前から存在していたので、「レガシー」アカウントのようなものだと思います。これは、サブネットと VPC インスタンスの作成が許可されている場所と、ec2-describe-availability-zones が戻ってくる時期との不一致に関係している可能性があります。AWS サポートに質問を投稿し、ここで調査結果を報告します。

4

2 に答える 2

9

AWS のサポートと少しやり取りした後、私の状況は、新しいインスタンスのために既存のアベイラビリティーゾーンが段階的に廃止された後でも、既存のアベイラビリティーゾーンを「非表示」にしないという Amazon 側の決定の結果のようです。まだ実行中のインスタンスがある可能性がある AZ を非表示にします。私の状況で VPC 対応の AZ を決定するための彼らの推奨事項は、ハードコーディングまたは試行錯誤のいずれかです - 残念ですが、理解できます.

したがって、意図的に悪いリクエストを作成し、エラーを解析するという私の解決策 (以下を参照) は、ほんの一握りの悪の中でも小さいようです。

> ec2-create-subnet -c garbage -i 10.0.0.0/24 -z garbage
Client.InvalidParameterValue: Value (garbage) for parameter availabilityZone is invalid. Subnets can currently only be created in the following availability zones: us-east-1c, us-east-1d, us-east-1e.

更新: AWS サポートでさらにフォローアップした後、これが実際に VPC より前の私のアカウントに関連していること、および API を介して「制限付き」AZ と VPC 対応 AZ を区別する機能がオンになっていることを確認できました。彼らのロードマップ。

于 2014-04-02T12:52:45.483 に答える
1

偽のサブネットを作成して、使用できるアベイラビリティーゾーンを確認するという意味がわかりません。VPC 内のすべてのサブネットは、特定のアベイラビリティ ゾーンにあります。ドキュメントに従って:

Q.サブネットは複数のアベイラビリティーゾーンにまたがることができますか?

いいえ。サブネットは単一のアベイラビリティーゾーン内に存在する必要があります。

FAQ にあります: http://aws.amazon.com/vpc/faqs/

したがって、基本的にサブネットを作成すると、それがどのアベイラビリティーゾーンにあるべきかがわかります。

于 2014-03-30T17:47:20.013 に答える