ついにLatticeが登場!
Re:Invent 2022で発表されたインフラ抽象化の新サービス「VPC Lattice」が東京リージョン含め正式リリースされました。
VPC Latticeって何?という方は以下の記事もご覧ください。
早速使ってみた
VPC Latticeは「VPCのインフラを抽象化しサービスメッシュを実現する」という画期的なサービスです。
ルートテーブルやセキュリティグループ等、難しいことを考えずにL7の世界でリソース同士を通信させることができます。
その代わりセキュリティ制御も低レイヤーではなく、IAM等を使えます。
今回は以下のような構成を作って疎通テストしてみました。
タコ足配線のようにVPC内外のリソースをバーチャルに相互接続しちゃえます。
上記リソースを作ったあと、NLB配下のEC2からVPC外のLambda関数を呼び出してみます。
簡易手順
- AWSマネジメントコンソールから「VPC Lattice」コンソールを開く(VPCサービスの中にあります)
- サービスネットワークを作成する
- 相互接続させたいVPCを関連づける
- 以下はぶら下げたいリソースごとに複数作成
- ターゲットグループを作成する
- ターゲットを登録する(インスタンス、IPアドレス、ALB、Lambdaが指定可能)
- サービスを作成する
- 上記で作ったサービスネットワークを関連づける
- 上記で作ったターゲットグループをリスナーとして登録する
- 複数のリスナーを登録しL7ルールでルーティングし分けることも可能
- ターゲットグループを作成する
名前から分かるように、サービス&ターゲットグループはALBとそっくりな概念になっています。
※まだ登場直後のためか、マネジメントコンソール上細かなバグのような挙動がありました。
(ウィザードで作成ボタン押した後にグルグルが終わらない、関連付け成功してもエラートーストが出る等)
どんどん世に出してくれるのはありがたいので、このへんはフィードバックを元に随時改善していただきたいですね。
疎通確認
上記のNLB配下のEC2インスタンスにSSH接続し、Lambda関数用Latticeサービスのドメイン名宛てにcurlコマンドを投げてみたところ200 OKのHTTPステータスが返却されました!
そしてLatticeサービスネットワーク内の通信をまとめてモニタリングすることも出来ます。
CloudWatch Logsにログ出力してみたところ、Lambdaへの疎通ログがしっかり出力されていました。
まとめ
Latticeを集中管理的にセットアップしておけば、開発者がインフラのことをあまり気にせずL7の世界だけでサービス間の通信を自在に活用できるようになりそうですね!
週末お出かけ前のため雑な記事になってしまいましたが、ガチ検証はこれから色んな方がアウトプットしてくださるでしょう🙏