AWS SDK または CLI CreateVpcで を使用する - Amazon Elastic Compute Cloud

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS SDK または CLI CreateVpcで を使用する

以下のコード例は、CreateVpc の使用方法を示しています。

CLI
AWS CLI

例 1: VPC を作成するには

次の create-vpc の例では、指定された IPv4 CIDR ブロックと Name タグを持つ VPC を作成しています。

aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --tag-specifications ResourceType=vpc,Tags=[{Key=Name,Value=MyVpc}]

出力:

{ "Vpc": { "CidrBlock": "10.0.0.0/16", "DhcpOptionsId": "dopt-5EXAMPLE", "State": "pending", "VpcId": "vpc-0a60eb65b4EXAMPLE", "OwnerId": "123456789012", "InstanceTenancy": "default", "Ipv6CidrBlockAssociationSet": [], "CidrBlockAssociationSet": [ { "AssociationId": "vpc-cidr-assoc-07501b79ecEXAMPLE", "CidrBlock": "10.0.0.0/16", "CidrBlockState": { "State": "associated" } } ], "IsDefault": false, "Tags": [ { "Key": "Name", "Value": MyVpc" } ] } }

例 2: 専用テナンシーを持つ VPC を作成するには

次の create-vpc の例では、指定された IPv4 CIDR ブロックと専用テナンシーを持つ VPC を作成しています。

aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --instance-tenancy dedicated

出力:

{ "Vpc": { "CidrBlock": "10.0.0.0/16", "DhcpOptionsId": "dopt-19edf471", "State": "pending", "VpcId": "vpc-0a53287fa4EXAMPLE", "OwnerId": "111122223333", "InstanceTenancy": "dedicated", "Ipv6CidrBlockAssociationSet": [], "CidrBlockAssociationSet": [ { "AssociationId": "vpc-cidr-assoc-00b24cc1c2EXAMPLE", "CidrBlock": "10.0.0.0/16", "CidrBlockState": { "State": "associated" } } ], "IsDefault": false } }

例 3: IPv6 CIDR ブロックで VPC を作成するには

次の create-vpc の例では、Amazon が提供する IPv6 CIDR ブロックを使用して、VPC を作成しています。

aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --amazon-provided-ipv6-cidr-block

出力:

{ "Vpc": { "CidrBlock": "10.0.0.0/16", "DhcpOptionsId": "dopt-dEXAMPLE", "State": "pending", "VpcId": "vpc-0fc5e3406bEXAMPLE", "OwnerId": "123456789012", "InstanceTenancy": "default", "Ipv6CidrBlockAssociationSet": [ { "AssociationId": "vpc-cidr-assoc-068432c60bEXAMPLE", "Ipv6CidrBlock": "", "Ipv6CidrBlockState": { "State": "associating" }, "Ipv6Pool": "Amazon", "NetworkBorderGroup": "us-west-2" } ], "CidrBlockAssociationSet": [ { "AssociationId": "vpc-cidr-assoc-0669f8f9f5EXAMPLE", "CidrBlock": "10.0.0.0/16", "CidrBlockState": { "State": "associated" } } ], "IsDefault": false } }

例 4: IPAM プールの CIDR を使って VPC を作成するには

次の create-vpc の例では、Amazon VPC IP Address Manager (IPAM) プールの CIDR を使用して VPC を作成しています。

Linux および macOS:

aws ec2 create-vpc \ --ipv4-ipam-pool-id ipam-pool-0533048da7d823723 \ --tag-specifications ResourceType=vpc,Tags='[{Key=Environment,Value="Preprod"},{Key=Owner,Value="Build Team"}]'

Windows:

aws ec2 create-vpc ^ --ipv4-ipam-pool-id ipam-pool-0533048da7d823723 ^ --tag-specifications ResourceType=vpc,Tags=[{Key=Environment,Value="Preprod"},{Key=Owner,Value="Build Team"}]

出力:

{ "Vpc": { "CidrBlock": "10.0.1.0/24", "DhcpOptionsId": "dopt-2afccf50", "State": "pending", "VpcId": "vpc-010e1791024eb0af9", "OwnerId": "123456789012", "InstanceTenancy": "default", "Ipv6CidrBlockAssociationSet": [], "CidrBlockAssociationSet": [ { "AssociationId": "vpc-cidr-assoc-0a77de1d803226d4b", "CidrBlock": "10.0.1.0/24", "CidrBlockState": { "State": "associated" } } ], "IsDefault": false, "Tags": [ { "Key": "Environment", "Value": "Preprod" }, { "Key": "Owner", "Value": "Build Team" } ] } }

詳細については、「Amazon VPC IPAM ユーザーガイド」の「IPAM プール CIDR を使用する VPC を作成する」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateVpc」を参照してください。

PHP
SDK for PHP
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

/** * @param string $cidr * @return array */ public function createVpc(string $cidr): array { try { $result = $this->ec2Client->createVpc([ "CidrBlock" => $cidr, ]); return $result['Vpc']; }catch(Ec2Exception $caught){ echo "There was a problem creating the VPC: {$caught->getAwsErrorMessage()}\n"; throw $caught; } }
  • API の詳細については、「AWS SDK for PHP  API リファレンス」の「CreateVpc」を参照してください。

PowerShell
Tools for PowerShell

例 1: この例では、指定された CIDR を持つ VPC を作成します。Amazon VPC では、VPC のデフォルト DHCP オプションセット、メインルートテーブル、デフォルトネットワーク ACL も作成されます。

New-EC2VPC -CidrBlock 10.0.0.0/16

出力:

CidrBlock : 10.0.0.0/16 DhcpOptionsId : dopt-1a2b3c4d InstanceTenancy : default IsDefault : False State : pending Tags : {} VpcId : vpc-12345678
  • API の詳細については、「 コマンドレットリファレンス」のCreateVpc」を参照してください。 AWS Tools for PowerShell

Python
SDK for Python (Boto3)
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

class VpcWrapper: """Encapsulates Amazon Elastic Compute Cloud (Amazon EC2) Amazon Virtual Private Cloud actions.""" def __init__(self, ec2_client: boto3.client): """ Initializes the VpcWrapper with an EC2 client. :param ec2_client: A Boto3 Amazon EC2 client. This client provides low-level access to AWS EC2 services. """ self.ec2_client = ec2_client @classmethod def from_client(cls) -> "VpcWrapper": """ Creates a VpcWrapper instance with a default EC2 client. :return: An instance of VpcWrapper initialized with the default EC2 client. """ ec2_client = boto3.client("ec2") return cls(ec2_client) def create(self, cidr_block: str) -> str: """ Creates a new Amazon VPC with the specified CIDR block. :param cidr_block: The CIDR block for the new VPC, such as '10.0.0.0/16'. :return: The ID of the new VPC. """ try: response = self.ec2_client.create_vpc(CidrBlock=cidr_block) vpc_id = response["Vpc"]["VpcId"] waiter = self.ec2_client.get_waiter("vpc_available") waiter.wait(VpcIds=[vpc_id]) return vpc_id except ClientError as client_error: logging.error( "Couldn't create the vpc. Here's why: %s", client_error.response["Error"]["Message"], ) raise
  • API の詳細については、 AWS SDK for CreateVpc」を参照してください。

Ruby
SDK for Ruby
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

require 'aws-sdk-ec2' # Creates a virtual private cloud (VPC) in # Amazon Virtual Private Cloud (Amazon VPC) and then tags # the VPC. # # @param ec2_resource [Aws::EC2::Resource] An initialized # Amazon Elastic Compute Cloud (Amazon EC2) resource object. # @param cidr_block [String] The IPv4 CIDR block for the subnet. # @param tag_key [String] The key portion of the tag for the VPC. # @param tag_value [String] The value portion of the tag for the VPC. # @return [Boolean] true if the VPC was created and tagged; # otherwise, false. # @example # exit 1 unless vpc_created_and_tagged?( # Aws::EC2::Resource.new(region: 'us-west-2'), # '10.0.0.0/24', # 'my-key', # 'my-value' # ) def vpc_created_and_tagged?( ec2_resource, cidr_block, tag_key, tag_value ) vpc = ec2_resource.create_vpc(cidr_block: cidr_block) # Create a public DNS by enabling DNS support and DNS hostnames. vpc.modify_attribute(enable_dns_support: { value: true }) vpc.modify_attribute(enable_dns_hostnames: { value: true }) vpc.create_tags(tags: [{ key: tag_key, value: tag_value }]) puts "Created VPC with ID '#{vpc.id}' and tagged with key " \ "'#{tag_key}' and value '#{tag_value}'." true rescue StandardError => e puts e.message false end # Example usage: def run_me cidr_block = '' tag_key = '' tag_value = '' region = '' # Print usage information and then stop. if ARGV[0] == '--help' || ARGV[0] == '-h' puts 'Usage: ruby ec2-ruby-example-create-vpc.rb ' \ 'CIDR_BLOCK TAG_KEY TAG_VALUE REGION' # Replace us-west-2 with the AWS Region you're using for Amazon EC2. puts 'Example: ruby ec2-ruby-example-create-vpc.rb ' \ '10.0.0.0/24 my-key my-value us-west-2' exit 1 # If no values are specified at the command prompt, use these default values. elsif ARGV.count.zero? cidr_block = '10.0.0.0/24' tag_key = 'my-key' tag_value = 'my-value' # Replace us-west-2 with the AWS Region you're using for Amazon EC2. region = 'us-west-2' # Otherwise, use the values as specified at the command prompt. else cidr_block = ARGV[0] tag_key = ARGV[1] tag_value = ARGV[2] region = ARGV[3] end ec2_resource = Aws::EC2::Resource.new(region: region) if vpc_created_and_tagged?( ec2_resource, cidr_block, tag_key, tag_value ) puts 'VPC created and tagged.' else puts 'VPC not created or not tagged.' end end run_me if $PROGRAM_NAME == __FILE__
  • API の詳細については、「AWS SDK for Ruby  API リファレンス」の「CreateVpc」を参照してください。

AWS SDK 開発者ガイドとコード例の完全なリストについては、「」を参照してくださいを使用して Amazon EC2リソースを作成する AWS SDK。このトピックには、使用開始方法に関する情報と、以前の SDK バージョンの詳細も含まれています。