最終更新日時
Feb 19, 2024 1:32 AM
ツール
ChatGPT
利用シーン
設計/インフラ設計
質問例
AWS上で以下の作成リソースを作成するCloudFormationのテンプレートを作成してください。
###作成リソース
・VPC 1個
・パブリックサブネット 2個
・プライベートサブネット 2個
回答内容
AWS CloudFormationを使用して指定されたリソースを作成するためのテンプレートを以下に示します。このテンプレートでは、1つのVPC、2つのパブリックサブネット、および2つのプライベートサブネットを作成します。AWSTemplateFormatVersion: '2010-09-09' Description: 'AWS CloudFormation Template: VPC with 2 Public and 2 Private Subnets.' Resources: MyVPC: Type: 'AWS::EC2::VPC' Properties: CidrBlock: 10.0.0.0/16 EnableDnsSupport: true EnableDnsHostnames: true Tags: - Key: Name Value: MyVPC PublicSubnetOne: Type: 'AWS::EC2::Subnet' Properties: VpcId: !Ref MyVPC CidrBlock: 10.0.1.0/24 MapPublicIpOnLaunch: true AvailabilityZone: !Select [0, !GetAZs ''] Tags: - Key: Name Value: PublicSubnetOne PublicSubnetTwo: Type: 'AWS::EC2::Subnet' Properties: VpcId: !Ref MyVPC CidrBlock: 10.0.2.0/24 MapPublicIpOnLaunch: true AvailabilityZone: !Select [1, !GetAZs ''] Tags: - Key: Name Value: PublicSubnetTwo PrivateSubnetOne: Type: 'AWS::EC2::Subnet' Properties: VpcId: !Ref MyVPC CidrBlock: 10.0.3.0/24 AvailabilityZone: !Select [0, !GetAZs ''] Tags: - Key: Name Value: PrivateSubnetOne PrivateSubnetTwo: Type: 'AWS::EC2::Subnet' Properties: VpcId: !Ref MyVPC CidrBlock: 10.0.4.0/24 AvailabilityZone: !Select [1, !GetAZs ''] Tags: - Key: Name Value: PrivateSubnetTwo Outputs: VPCId: Description: VPC ID Value: !Ref MyVPC PublicSubnetOneId: Description: ID of the first public subnet Value: !Ref PublicSubnetOne PublicSubnetTwoId: Description: ID of the second public subnet Value: !Ref PublicSubnetTwo PrivateSubnetOneId: Description: ID of the first private subnet Value: !Ref PrivateSubnetOne PrivateSubnetTwoId: Description: ID of the second private subnet Value: !Ref PrivateSubnetTwo
このテンプレートでは、まずVPC (
MyVPC
) を作成し、そのVPC内に2つのパブリックサブネット (PublicSubnetOne
とPublicSubnetTwo
) および2つのプライベートサブネット (PrivateSubnetOne
とPrivateSubnetTwo
) を作成します。各サブネットは異なるCIDRブロックを持ち、2つのパブリックサブネットはパブリックIPアドレスを自動的に割り当てるように設定されています。また、サブネットは2つの異なるアベイラビリティゾーンに配置されます。このテンプレートを使用する前に、以下の点を確認してください:
- CIDRブロックがあなたの要件に合致していること。
- 使用するAWSリージョンで利用可能なアベイラビリティゾーンを指定していること。
テンプレートをカスタマイズしてご利用ください。