おつかれさまです。ならたけぽんです。🌈
季節外れの暖かさもありつつ、
いろいろと大変だなぁ、と、
いろいろと思いを巡らせながら眠りについたら、
凍える寒さでガクガク震えながら目が覚めました。🌬️
冬、来ちゃってた。⛄
秋、満喫していないような。
秋刀魚、店頭に並んでたっけ?🐟
なに、寒鰤だぁ? 蟹だぁ?
そんなブルジョアなものおいそれと食えるわけなかろうが!💣
頭冷やしてくる!❄️
というわけで、冷やしすぎて凍ってしまう前に、
AWS CDK v2で「EC2」にデコレーションしていきます!🎂
前回、まだ冬が小さいころ、
-
instanceType:インスタンスタイプ
-
machineImage:OSイメージ(Amazon Machine Image、略してAMI)
-
vpc:VPC
上記の3個の設定必須のパラメータのみを設定して、
instanceType: ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO),
machineImage: new ec2.GenericLinuxImage({
'ap-northeast-1': 'ami-012261b9035f8f938'
}),
vpc: vpc
})
こんな感じでEC2を作成しました。
今回はここから盛っていきます。🍚
🕊️主なオプション引数🕊️:
(1) associate
パブリックIPアドレスを自動付与するかいなか
※EC2をパブリックサブネットに置くけどEIPは使用しないときにtrue
(2) availability
アベイラビリティゾーンを設定
後述のサブネットと合わせて設定する際、
サブネットと合わないアベイラビリティゾーンを指定するとエラーになる
(3) block
(3-1) BlockDevice:
(3-1-1) device
EBSを付与する"/dev/sda1"等のデバイス名を設定
BlockDeviceVolume.ebs(10)等のEBSのボリュームサイズを設定
(4) instanceName:string:
インスタンス名を設定
(5) key
ec2.KeyPair.fromKeyPairName(this, [任意のID文字列], [キーペア名])で
キーペア名を設定
(6) security
(7) vpc
(7-1) SubnetSelection:
(7-1-1) subnets:ISubnets[]:
サブネットオブジェクトを設定
こちらのオプションを全部設定すると、
instanceType: ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO),
machineImage: new ec2.GenericLinuxImage({
'ap-northeast-1': 'ami-012261b9035f8f938'
}),
vpc: vpc
associatePublicIpAddress: false,
availabilityZone: 'ap-northeast-1a',
blockDevices: [{
deviceName: '/dev/sda1',
volume: