AWS CDK v2 でエンドポイントを自分好みに!

ならたけぽん
2023-09-27
2023-09-27

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

実るほど頭を垂れる稲穂かな。🌾
垂れてますね。
何なら既に刈られてますね。

今年も猛暑だったので、
稲の生育にも影響が出ているそうです。
高温に弱い品種があるのだとか。🔥

さんざんブーたれながらも、
クーラーの効いた部屋で快適に作業できているのは、
ありがたいことなんだなぁ。😳

横目で見ながら見えないふりをしていたパンドラの箱を、
とうとうそっとそっと開けつつ、そう思いました。
あぁ、エルピスはいずこへ。😵

というわけで、今回も、自分好みにしていきまっせ!😤

今回はエンドポイント!👈👉



AWSのサービスのエンドポイントは2種類存在します。
まずはGateway型の場合。
S3、DynamoDBが、こちらの型になります。

//
// Service Endpoints(Gateway)
//
vpc.addGatewayEndpoint('S3EndPoint' , {
   
service: vpc.GatewayVpcEndpointAwsService.S3,
    subnets: [ {
        subnets: [
            subnetPubA
        ]

    } ]
})

生成したVPCオブジェクトに関数でAddするやり方で生成します。
newオブジェクトじゃないんですねぇ。🤔

🐣クラス🐣:

  aws-cdk-lib » aws_ec2 » Vpc

🐥関数🐥:

  addGatewayEndpoint

🐤必須プロパティ🐤:

  (1) service:ec2.IGatewayVpcEndpointService
    エンドポイントを生成するサービス種別
     S3だったら、「vpc.GatewayVpcEndpointAwsService.S3」
     DynamoDBだったら、「vpc.GatewayVpcEndpointAwsService.DYNAMODB」

🕊️主なオプションプロパティ🕊️:

  (1) subnets:ec2.SubnetSelectionの配列:
    ec2.SubnetSelection(サブネットオブジェクト)の配列
    指定したサブネットのルートテーブルにエンドポイントを追加してくれる!

    ※上記例では、ec2.SubnetSelection(サブネットオブジェクト)に、
     さらにsubnets(サブネット)を設定しています。
     このあたりの設定は、もちろん、あなたのお好みで。💞



次はInterface型の場合。
S3、DynamoDB以外のサービス用です。

//
// Service Endpoints(Interface)
//
vpc.addInterfaceEndpoint('SesEndPoint' , {
   
service: vpc.InterfaceVpcEndpointAwsService.('email-smtp'),
    securityGroups: [
        securityGroupSes
    ],
   
subnets: [ {
        subnets: [
            subnetPubA
        ]

    } ]
})

こっちも生成したVPCオブジェクトに関数でAddするやり方です。
やっぱりnewしないんですねぇ。

🐣クラス🐣:

  aws-cdk-lib » aws_ec2 » Vpc

🐥関数🐥:

  addInterfaceEndpoint

🐤必須プロパティ🐤:

  (1) service:ec2.IInterfaceVpcEndpointService
    エンドポイントを生成するサービス種別
     こちらはサービス名を指定する形式
     ※上記例ではサービス名が「email-smtp」で「SES」のこと
     ※サービス名は手動でAWS管理画面を開いて
       「VPC」->「エンドポイント」->「エンドポイントを作成」
      で検索するのが、手間ですけど確実で早いです。
      ネット情報だと、たまに古かったりします。

🕊️主なオプションプロパティ🕊️:

  (1) securityGroups:ec2.ISecurityGroupの配列:
    こちらはエンドポイントへのアクセスも制御できるんです。
    そう、セキュリティグループでね。🚧

  (2) subnets:ec2.SubnetSelectionの配列:
    ec2.SubnetSelection(サブネットオブジェクト)の配列
    指定したサブネットのルートテーブルにエンドポイントを追加してくれる!

    ※上記例では、ec2.SubnetSelection(サブネットオブジェクト)に、
     さらにsubnets(サブネット)を設定しています。
     このあたりの設定も、もちろん、あなたのお好みで。💞



やっぱり、今回も簡単でしたね!👍
VPCオブジェクトと仲良しな構築手順なのでした。

次回は何を作成しましょうかね~。
そろそろ、VPCから離れますかね~。

次の回のころは、ここらでは神様が不在になっちゃう月のころですね。
神様のお集まりではいろいろなご縁が結ばれるのだとか。⭕
ちょっと出雲は遠いので、
最近ご無沙汰してしまっている氏神様にご挨拶をしてこようかな。⛩️

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