[EC2]東京リージョンで構築可能なインスタンスタイプのアベイラビリティーゾーン別一覧表

AWS運用自動化サービス「Cloud Automator」

CS課佐竹です。
前回は「IAMに関する話」を記載させて頂きましたが、今回はEC2になります。

はじめに

EC2には様々なインスタンスタイプ(Instance Type)が存在します。実際にどのくらい種類があるかというと、「こちら」のドキュメントを(可能ならEnglishで)ご確認ください。凄く・・・多いです。そして、それらすべてが東京リージョン(ap-northeast-1) で作成可能か?というと、実はそうではありません。
今回は、リージョンの制限と、さらに存在するアベイラビリティーゾーン制限の2つの詳細を追いかけます。なお、リージョンとアベイラビリティーゾーンについての詳しい説明は「こちら」の公式ドキュメントをご参照ください。

補足:2019年4月11日にmetal系のInstanceも調査に追加し、全185種類の結果を表示するよう更新しました

リージョンにおける構築可能インスタンスタイプの制限

まずはリージョンの制限です。具体的な例でご説明いたします。
例えば、今現在、以下の記事で紹介があります C5n というインスタンスタイプは、東京リージョンでは起動できません。

100 Gbps のネットワーク帯域幅を備えた Amazon EC2 C5n インスタンスの紹介

特に新しくリリースされたインスタンスタイプで多くみられますが、まずは「米国東部 (バージニア北部、オハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)」の3つのリージョンで提供されることが多い状況です。このため、 C5n というインスタンスタイプが存在していても、C5nは東京リージョンでは起動(Launch)できないという制限が存在します(2019年4月11日現在)。「新しいインスタンスタイプが出たから早速東京リージョンで使おう!」としても構築できない場合もありますのでご注意ください。

アベイラビリティーゾーンにおける構築可能インスタンスタイプの制限

リージョンの制限と同じく、アベイラビリティーゾーン(Availability Zone:以下AZと省略します)にも同様の制限があります。今回はそれを詳しく調べました。このAZにおける構築可能インスタンスタイプの制限については公式なドキュメントが存在しないため、2019年4月11日時点の独自の調査結果となりますことを先に述べさせて頂きます。

まず、現在東京リージョンには ap-northeast-1a(単に1aとも言う)、ap-northeast-1c(1c)、ap-northeast-1d(1d) の3つのAZが存在します。ap-northeast-1b(1b) については古いAWSアカウントでは表示されますが、新しいAWSアカウントでは表示されないものとなりますため今回は1bは対象外として調査結果を報告します。
※ご利用中のアカウントによっては、1bの代わりに古いAZとして1aが表示されていないアカウントも存在するかと思います。その場合は、以後1bを1aに置き換えてお読みください

具体的な例ですが、最も新しい1dのAZでは、「旧世代のインスタンスタイプ」とされるm1等のインスタンスタイプは構築が不可能です。しかし、1a,1cではこれらは構築可能です。このようなAZにおけるキャパシティの差が現実問題存在しています。そしてこの差を鑑みて冗長構成をとらないといけない、というハードルも存在します。これを把握していないと「冗長構成のためにAZを1aと1d」で組みましょうと提案していたのに「すみません、実際に構築してみたら、1dでは m3のインスタンスタイプが全て利用できませんでしたため、冗長構成が取れないことが判明しました」という事態に陥る可能性があります。今回はこれを予め避けるための調査及び報告となります。

補足ですが、今現在m3のインスタンスタイプは旧世代にあたりますため、実際にご利用を推奨することは減ってきています。

具体的な調査方法

「どのAZでどのインスタンスタイプが構築可能か?」というのは、実際問題、試してみないとわかりません。ということになるのですが、全ての組み合わせをLaunchすると(EC2が大量に構築されて)大変なことになってしまうため、今回は run-instances のAPIを利用しました。今現在、 run-instances には –dry-run のオプションが存在します。これは、APIが成功しても実際にはエラーとなり構築が行われないもので、 run-instances のAPIが実際にワークするのか?を検証するために利用されます。今回はこれを活用します。

実際に利用したコマンド

以下のような run-instances のコマンドを全AZ、全インスタンスタイプで実行します。AZはSubnetに紐づいているので、このコマンドをインスタンスタイプ別に 3つのSubnet = 3つのAZで実行したら完了となります。さらっと書いてますが、インスタンスタイプは 185 種類、AZは 3 ですので、掛け算で 555 回の実行となります。

なお、ami-086063d8c95bfa211 はAWSが出荷しているAmazon LinuxのImageになっています。

結果(アベイラビリティーゾーン別一覧表)

以下の表に結果を表示します。前提として、私のローカルアカウントのため、上限緩和申請はほぼほぼ初期状態ということをご理解ください。なお「成功」となっているものが、問題なく構築可能とご理解頂いて問題ありません。

nstance Type 1a (apne1-az4) 1c (apne1-az1) 1d (apne1-az2)
a1.medium 東京Region未対応 東京Region未対応 東京Region未対応
a1.large 東京Region未対応 東京Region未対応 東京Region未対応
a1.xlarge 東京Region未対応 東京Region未対応 東京Region未対応
a1.2xlarge 東京Region未対応 東京Region未対応 東京Region未対応
a1.4xlarge 東京Region未対応 東京Region未対応 東京Region未対応
m4.large 成功 成功 成功
m4.xlarge 成功 成功 成功
m4.2xlarge 成功 成功 成功
m4.4xlarge 成功 成功 成功
m4.10xlarge 成功 成功 成功
m4.16xlarge 成功 成功 成功
m5.large 成功 成功 成功
m5.xlarge 成功 成功 成功
m5.2xlarge 成功 成功 成功
m5.4xlarge 成功 成功 成功
m5.12xlarge 成功 成功 成功
m5.24xlarge 成功 成功 成功
m5.metal 成功 成功 成功
m5a.large 成功 他のAZで構築可能 成功
m5a.xlarge 成功 他のAZで構築可能 成功
m5a.2xlarge 成功 他のAZで構築可能 成功
m5a.4xlarge 成功 他のAZで構築可能 成功
m5a.12xlarge 成功 他のAZで構築可能 成功
m5a.24xlarge 成功 他のAZで構築可能 成功
m5ad.large 東京Region未対応 東京Region未対応 東京Region未対応
m5ad.xlarge 東京Region未対応 東京Region未対応 東京Region未対応
m5ad.2xlarge 東京Region未対応 東京Region未対応 東京Region未対応
m5ad.4xlarge 東京Region未対応 東京Region未対応 東京Region未対応
m5ad.12xlarge 東京Region未対応 東京Region未対応 東京Region未対応
m5ad.24xlarge 東京Region未対応 東京Region未対応 東京Region未対応
m5d.large 成功 成功 他のAZで構築可能
m5d.xlarge 成功 成功 他のAZで構築可能
m5d.2xlarge 成功 成功 他のAZで構築可能
m5d.4xlarge 成功 成功 他のAZで構築可能
m5d.12xlarge 成功 成功 他のAZで構築可能
m5d.24xlarge 成功 成功 他のAZで構築可能
m5d.metal 東京Region未対応 東京Region未対応 東京Region未対応
t2.nano 成功 成功 成功
t2.micro 成功 成功 成功
t2.small 成功 成功 成功
t2.medium 成功 成功 成功
t2.large 成功 成功 成功
t2.xlarge 成功 成功 成功
t2.2xlarge 成功 成功 成功
t3.nano 成功 成功 成功
t3.micro 成功 成功 成功
t3.small 成功 成功 成功
t3.medium 成功 成功 成功
t3.large 成功 成功 成功
t3.xlarge 成功 成功 成功
t3.2xlarge 成功 成功 成功
c4.large 成功 成功 成功
c4.xlarge 成功 成功 成功
c4.2xlarge 成功 成功 成功
c4.4xlarge 成功 成功 成功
c4.8xlarge 成功 成功 成功
c5.large 成功 成功 成功
c5.xlarge 成功 成功 成功
c5.2xlarge 成功 成功 成功
c5.4xlarge 成功 成功 成功
c5.9xlarge 成功 成功 成功
c5.18xlarge 成功 成功 成功
c5d.xlarge 成功 成功 他のAZで構築可能
c5d.2xlarge 成功 成功 他のAZで構築可能
c5d.4xlarge 成功 成功 他のAZで構築可能
c5d.9xlarge 成功 成功 他のAZで構築可能
c5d.18xlarge 成功 成功 他のAZで構築可能
c5n.large 東京Region未対応 東京Region未対応 東京Region未対応
c5n.xlarge 東京Region未対応 東京Region未対応 東京Region未対応
c5n.2xlarge 東京Region未対応 東京Region未対応 東京Region未対応
c5n.4xlarge 東京Region未対応 東京Region未対応 東京Region未対応
c5n.9xlarge 東京Region未対応 東京Region未対応 東京Region未対応
c5n.18xlarge 東京Region未対応 東京Region未対応 東京Region未対応
r4.large 成功 成功 成功
r4.xlarge 成功 成功 成功
r4.2xlarge 成功 成功 成功
r4.4xlarge 成功 成功 成功
r4.8xlarge 成功 成功 成功
r4.16xlarge 成功 成功 成功
r5.large 成功 成功 成功
r5.xlarge 成功 成功 成功
r5.2xlarge 成功 成功 成功
r5.4xlarge 成功 成功 成功
r5.12xlarge 成功 成功 成功
r5.24xlarge 成功 成功 成功
r5.metal 東京Region未対応 東京Region未対応 東京Region未対応
r5a.large 成功 他のAZで構築可能 成功
r5a.xlarge 成功 他のAZで構築可能 成功
r5a.2xlarge 成功 他のAZで構築可能 成功
r5a.4xlarge 成功 他のAZで構築可能 成功
r5a.12xlarge 成功 他のAZで構築可能 成功
r5a.24xlarge 成功 他のAZで構築可能 成功
r5ad.large 東京Region未対応 東京Region未対応 東京Region未対応
r5ad.xlarge 東京Region未対応 東京Region未対応 東京Region未対応
r5ad.2xlarge 東京Region未対応 東京Region未対応 東京Region未対応
r5ad.4xlarge 東京Region未対応 東京Region未対応 東京Region未対応
r5ad.12xlarge 東京Region未対応 東京Region未対応 東京Region未対応
r5ad.24xlarge 東京Region未対応 東京Region未対応 東京Region未対応
r5d.large 成功 成功 成功
r5d.xlarge 成功 成功 成功
r5d.2xlarge 成功 成功 成功
r5d.4xlarge 成功 成功 成功
r5d.12xlarge 成功 成功 成功
r5d.24xlarge 成功 成功 成功
r5d.metal 東京Region未対応 東京Region未対応 東京Region未対応
u-6tb1.metal 東京Region未対応 東京Region未対応 東京Region未対応
u-9tb1.metal 東京Region未対応 東京Region未対応 東京Region未対応
u-12tb1.metal 東京Region未対応 東京Region未対応 東京Region未対応
x1.16xlarge 緩和申請が必要 緩和申請が必要 緩和申請が必要
x1.32xlarge 緩和申請が必要 緩和申請が必要 緩和申請が必要
x1e.xlarge 成功 成功 他のAZで構築可能
x1e.2xlarge 成功 成功 他のAZで構築可能
x1e.4xlarge 成功 成功 他のAZで構築可能
x1e.8xlarge 緩和申請が必要 緩和申請が必要 他のAZで構築可能
x1e.16xlarge 緩和申請が必要 緩和申請が必要 他のAZで構築可能
x1e.32xlarge 緩和申請が必要 緩和申請が必要 他のAZで構築可能
z1d.large 成功 成功 他のAZで構築可能
z1d.xlarge 成功 成功 他のAZで構築可能
z1d.2xlarge 成功 成功 他のAZで構築可能
z1d.3xlarge 成功 成功 他のAZで構築可能
z1d.6xlarge 成功 成功 他のAZで構築可能
z1d.12xlarge 成功 成功 他のAZで構築可能
z1d.metal 成功 成功 他のAZで構築可能
d2.xlarge 成功 成功 成功
d2.2xlarge 成功 成功 成功
d2.4xlarge 成功 成功 成功
d2.8xlarge 成功 成功 成功
h1.2xlarge 東京Region未対応 東京Region未対応 東京Region未対応
h1.4xlarge 東京Region未対応 東京Region未対応 東京Region未対応
h1.8xlarge 東京Region未対応 東京Region未対応 東京Region未対応
h1.16xlarge 東京Region未対応 東京Region未対応 東京Region未対応
i3.large 成功 成功 成功
i3.xlarge 成功 成功 成功
i3.2xlarge 成功 成功 成功
i3.4xlarge 成功 成功 成功
i3.8xlarge 成功 成功 成功
i3.16xlarge 成功 成功 成功
i3.metal 成功 成功 成功
f1.2xlarge 東京Region未対応 東京Region未対応 東京Region未対応
f1.4xlarge 東京Region未対応 東京Region未対応 東京Region未対応
f1.16xlarge 東京Region未対応 東京Region未対応 東京Region未対応
g3s.xlarge 成功 成功 他のAZで構築可能
g3.4xlarge 成功 成功 他のAZで構築可能
g3.8xlarge 成功 成功 他のAZで構築可能
g3.16xlarge 成功 成功 他のAZで構築可能
p2.xlarge 成功 成功 他のAZで構築可能
p2.8xlarge 成功 成功 他のAZで構築可能
p2.16xlarge 緩和申請が必要 緩和申請が必要 他のAZで構築可能
p3.2xlarge 成功 成功 他のAZで構築可能
p3.8xlarge 成功 成功 他のAZで構築可能
p3.16xlarge 緩和申請が必要 緩和申請が必要 他のAZで構築可能
p3dn.24xlarge 東京Region未対応 東京Region未対応 東京Region未対応
m1.small 成功 成功 他のAZで構築可能
m1.medium 成功 成功 他のAZで構築可能
m1.large 成功 成功 他のAZで構築可能
m1.xlarge 成功 成功 他のAZで構築可能
m3.medium 成功 成功 他のAZで構築可能
m3.large 成功 成功 他のAZで構築可能
m3.xlarge 成功 成功 他のAZで構築可能
m3.2xlarge 成功 成功 他のAZで構築可能
t1.micro 成功 成功 他のAZで構築可能
c1.medium 成功 成功 他のAZで構築可能
c1.xlarge 成功 成功 他のAZで構築可能
cc2.8xlarge 成功 成功 他のAZで構築可能
c3.large 成功 成功 他のAZで構築可能
c3.xlarge 成功 成功 他のAZで構築可能
c3.2xlarge 成功 成功 他のAZで構築可能
c3.4xlarge 成功 成功 他のAZで構築可能
c3.8xlarge 成功 成功 他のAZで構築可能
m2.xlarge 成功 成功 他のAZで構築可能
m2.2xlarge 成功 成功 他のAZで構築可能
m2.4xlarge 成功 成功 他のAZで構築可能
cr1.8xlarge 東京Region未対応 東京Region未対応 東京Region未対応
r3.large 成功 成功 他のAZで構築可能
r3.xlarge 成功 成功 他のAZで構築可能
r3.2xlarge 成功 成功 他のAZで構築可能
r3.4xlarge 成功 成功 他のAZで構築可能
r3.8xlarge 成功 成功 他のAZで構築可能
hs1.8xlarge 東京Region未対応 東京Region未対応 東京Region未対応
i2.xlarge 成功 成功 他のAZで構築可能
i2.2xlarge 成功 成功 他のAZで構築可能
i2.4xlarge 成功 成功 他のAZで構築可能
i2.8xlarge 成功 成功 他のAZで構築可能
g2.2xlarge 成功 成功 他のAZで構築可能
g2.8xlarge 成功 成功 他のAZで構築可能

エラーメッセージと判定条件

上記の判定には以下のエラーメッセージを利用しています。

成功

An error occurred (DryRunOperation) when calling the RunInstances operation: Request would have succeeded, but DryRun flag is set.

このメッセージは、DryRunOperation が引数として存在しているために失敗と判断されたもので、実際に –dry-run を外せば「成功」するものと判定しています。つまり、成功と記載があるものは、そのAZにて構築が可能と判断されるものです。

他のAZで構築可能

An error occurred (Unsupported) when calling the RunInstances operation: Your requested instance type (m5a.large) is not supported in your requested Availability Zone (ap-northeast-1c). Please retry your request by not specifying an Availability Zone or choosing ap-northeast-1d, ap-northeast-1a.

このエラーは、 m5a.large を ap-northeast-1c にて構築しようとしたときのメッセージです。ap-northeast-1d, ap-northeast-1aでリトライするよう、エラーが表示されています。このような「is not supported in your requested Availability Zone」というエラーメッセージを「他のAZで構築可能」として表に記載しています。
ようは、特定のリージョンでは、特定のInstance Typeが構築できないのが現状であり今回お伝えしたい制限となります。

東京Region未対応

An error occurred (Unsupported) when calling the RunInstances operation: The requested configuration is currently not supported. Please check the documentation for supported configurations.

このエラーは、東京リージョンでは起動できない(サポートされていない)Instance Typeと判断し、一覧では「東京Region未対応」としています。これは、a1 系のInstance Typeが全て同様のエラーメッセージを返したことから、そのような判定としました。

緩和申請が必要

An error occurred (InstanceLimitExceeded) when calling the RunInstances operation: You have requested more instances (1) than your current instance limit of 0 allows for the specified instance type. Please visit http://aws.amazon.com/contact-us/ec2-request to request an adjustment to this limit.

このエラーは、利用予定のAZにおいて、上限緩和申請が必要であることを表しているエラーとなります。インスタンスタイプによっては、初期の構築可能数が 0 台のインスタンスも存在しており、利用には予め緩和申請を実施することが前提とされています。このエラーが表示された場合は、上限緩和申請をクリアしてから構築をしてください。

EC2の上限緩和申請につきましては「こちら」のドキュメントをご参照ください。

まとめ

いかがだったでしょうか。上記の通り、東京リージョンの内部においてもAZごとに構築可能なインスタンスタイプに制限がかけられていることがご理解いただけたかと思います。
特徴をまとめますと

  • 旧世代のインスタンスタイプは、東京リージョンの1dでは構築できない
  • m5dとc5d、z1dについては東京リージョンの1dでは構築できない
  • m5aとr5aについては東京リージョンの1cでは構築できない
  • 1aは現状全てのインスタンスタイプに対応している

となります。
なお、これらは2019年4月11日時点の情報となりますため、最新の対応状況は各自APIを実行して結果を確認頂けますと幸いです。

それではまたお会いしましょう。

AWS運用自動化サービス「Cloud Automator」