AWS VPC 與 EC2

Vibe Prompt

「幫我用 AWS CDK (TypeScript) 建立:VPC(2 個公有子網、2 個私有子網)、EC2 t3.micro、Security Group(開放 22 和 80 埠)、Elastic IP。」

CDK 程式碼

import * as cdk from 'aws-cdk-lib';
import * as ec2 from 'aws-cdk-lib/aws-ec2';

const vpc = new ec2.Vpc(this, 'MyVpc', {
  maxAzs: 2,
  subnetConfiguration: [
    { name: 'Public', subnetType: ec2.SubnetType.PUBLIC, cidrMask: 24 },
    { name: 'Private', subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS, cidrMask: 24 },
  ],
});

const sg = new ec2.SecurityGroup(this, 'WebSG', { vpc });
sg.addIngressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(80));
sg.addIngressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(22));

const instance = new ec2.Instance(this, 'WebServer', {
  vpc,
  instanceType: ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO),
  machineImage: ec2.MachineImage.latestAmazonLinux2023(),
  securityGroup: sg,
  keyName: 'my-key-pair',
});

new cdk.CfnOutput(this, 'PublicIP', { value: instance.instancePublicIp });

AWS CLI

aws ec2 describe-instances
aws ec2 stop-instances --instance-ids i-123456
aws ec2 start-instances --instance-ids i-123456

會員專屬免費教學

本章節為註冊會員專屬的免費開放內容!請先登入或註冊會員,即可立即解鎖閱讀。

立即登入 / 註冊