AWS CDK v2 でEC2を新規作成してみよう!

ならたけぽん
2023-11-29
2023-11-29

おつかれさまです。ならたけぽんです。🌈

秋になったのでいろいろと美味しいものを食べようとワクワクしながら寝たら、
寒さでブルブル震えながら目が覚めました。🌬️

あれ、秋はいずこへ?🍁

小さい秋見つけた後、大きい秋見つける前に、小さい冬を見つけてしまいました。😱
あぁぁ、急いで秋を満喫しなければ。🍄
大きい秋はどこにいる。😵

というわけで、大きな秋を追いかけつつ、
今回は、AWS CDK v2で「EC2」を新規作成していきます!🏇



むか~しむかし、

const vpc = new ec2.Vpc(this, 'Vpc', {})

こんな感じに1行追加してパラメータ無しでVPCを作成したことがあったのですが、
EC2はちょっとだけ複雑で、3個だけ設定必須のパラメータがあります。

  • instanceType:インスタンスタイプ
  • machineImage:OSイメージ(Amazon Machine Image、略してAMI)
  • vpc:VPC

で、こちら設定した例が、

const ec2Instance = new ec2.Instance(this, 'Ec2', {
    instanceType: ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO),
    machineImage: new ec2.GenericLinuxImage({
        'ap-northeast-1': 'ami-012261b9035f8f938'
    }),

    vpc: vpc
})

こんな感じになります。

ーーーーーーーーーーーーーーーーーーーーーーーーー
instanceType」の設定はほぼほぼ定型で、
上記の「T3」や「MICRO」の部分を構築する環境に合わせて変えてあげればOKです。

※VSCodeだと「ec2.InstanceClass.」まで記載すると候補が表示されるので、
 ファミリーを毎回調べなくて良いので非常に楽です。
 サイズも「ec2.InstanceSize.」まで記載すればよいです。

ちなみに環境構築するリージョンで使えないインスタンスタイプは、
設定はできちゃうのですが実行時にコケます。😅
普段使いしないインスタンスタイプを設定するときはご注意を。🙈

ーーーーーーーーーーーーーーーーーーーーーーーーー
「machineImage」の設定は、CDK公式ですと

    machineImage: new ec2.AmazonLinuxImage({
        generation: ec2.AmazonLinuxGeneration.AMAZON_LINUX_2
    }),

とAMIイメージID不要の書き方になっていますが、
上記の例のようにリージョンとAMIイメージIDを指定することもできます。

※ちなみに「ami-012261b9035f8f938」は、
 このブログ執筆時の「ap-northeast-1(東京)」リージョンでの
 「Amazon Linux 2023」の最新のAMIイメージIDです。

またWindowsのイメージですと、

    machineImage: new ec2.WindowsImage(
        ec2.WindowsVersion.WINDOWS_SERVER_2022_JAPANESE_FULL_BASE
    ),

という設定になります。

「machineImage」の設定は、構築する環境に合わせて、ちょっとだけ変える必要がありますね!

ーーーーーーーーーーーーーーーーーーーーーーーーー
「vpc」の設定は、作成した「VPC」オブジェクトをそのまま設定すればOKです。

 カンタン!!!😆

ーーーーーーーーーーーーーーーーーーーーーーーーー
以上のように設定して実行すると、

  • サブネット:
     プライベートサブネット
  • セキュリティグループ:
     新規作成
      インバウンドルール:空っぽ、アウトバウンドルール:ALL OK !!!
  • タグの「Name」:
     「スタック名」/「id」 (例:BlogStack/EC2)

のようなEC2が作成されます!!!💞😍💞

「VPC」の行と合わせても10行未満!✨
 Too easy !!! 🎉
 やんややんや!!!🎊



さて、しばらく経って落ち着いてみると、
何か物足りなさがありませんか?

そう。
やっぱり、せっかくなんで、自分好みに設定したいですよね。😁

というわけで、次回以降は、自分好みの設定のやり方になります~。

さぁ、次回までに大きな秋に追いつけるのか。🐌
はたまた大きな冬に追いつかれるのか。🐈

それでは、良き良き、AWS CDKライフを!!!🌈