[新機能] デフォルトVPCが新規作成できるようになりました!
こんにちは、菊池です。
昨日、2017年7月27日のアップデートにより、デフォルトVPCの新規作成が可能になりました。
デフォルトVPCとは
AWSアカウントを作成するとデフォルトで用意されているVPCで、全てのリージョンにあらかじめ設定されています。
EC2インスタンスを新規作成する際には、VPC、サブネットを明示的に指定しなければデフォルトVPC内に起動されます。デフォルトVPCには以下のコンポーネントも用意されます。
- VPC
- デフォルトのサブネット
- IGW
- IGWへの経路を持つメインルートテーブル
- デフォルトのセキュリティグループ
- デフォルトのネットワークアクセスコントロールリスト (ACL)
- DHCP オプションセット
このデフォルトVPCは削除することも可能です。しかし、これまでは、削除してしまったデフォルトVPCを再作成するためには、AWSサポートへ設定を依頼する必要がありました。今回のアップデートにより、デフォルトVPCをユーザー自身で作成することが可能になりました。
作成してみる
マネジメントコンソールから
マネジメントコンソールからデフォルトVPCを作成します。
デフォルトVPCは1リージョンに1つしか作成できませんので、まずは既存のデフォルトVPCを削除します。VPCを削除すると、VPC内の全てのリソースも削除されますので、利用していないロンドンリージョンを使って試しました。
確認画面が出ますので、問題なければチェックして削除します。
デフォルトVPCが削除されると、新規作成が可能になります。[アクション]->[デフォルトVPCの作成]を選択します。
確認画面が出るので、Createを選択。CIDRなども固定の値が設定されますので、特に指定するオプションはありません。
作成できたようです。
一覧にも、新しいデフォルトVPCが表示されました。
AWS CLIから
AWS CLIからはcreate-default-vpc
コマンドで作成可能です。(AWS CLIを最新にアップデートしましょう)
まずはデフォルトVPCがないことを確認します。
$ aws ec2 --region eu-west-2 describe-vpcs { "Vpcs": [] }
デフォルトVPCが存在しないことが確認できますので、作成してみます。
$ aws ec2 --region eu-west-2 create-default-vpc { "Vpc": { "VpcId": "vpc-xxxxxxxx", "InstanceTenancy": "default", "Tags": [], "Ipv6CidrBlockAssociationSet": [], "State": "pending", "DhcpOptionsId": "dopt-xxxxxxxx", "CidrBlock": "172.31.0.0/16", "IsDefault": true } }
再度、VPCを確認しました。
$ aws ec2 --region eu-west-2 describe-vpcs { "Vpcs": [ { "VpcId": "vpc-xxxxxxxx", "InstanceTenancy": "default", "State": "available", "DhcpOptionsId": "dopt-xxxxxxxx", "CidrBlock": "172.31.0.0/16", "IsDefault": true } ] }
IsDefault
がtrue
のVPCができています。ちなみに、すでにデフォルトVPCがある状態で作成を試みると、
$ aws ec2 --region eu-west-2 create-default-vpc An error occurred (DefaultVpcAlreadyExists) when calling the CreateDefaultVpc operation: A Default VPC already exists for this account in this region.
このようにエラーになります。
最後に
これまでサポートに依頼しなければ再作成出なかった、デフォルトVPCの新規作成が可能になりました。私自身、不要だと思ってうっかり削除してしまい、作成方法がわからなくなった経験もあります。ユーザーがセルフでできることが増えるのは嬉しいですね。