ちょっと話題の記事

(祝)AWS LambdaのVPC利用が可能になりました

2016.02.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

AWSチームのすずきです。

2015年の秋にアナウンスされたAWS LambdaのVPC対応、本日から東京を含むAWSの各国リージョンで利用可能になりました。

LambdaファンクションをVPC内に起動させてその動作を確認する機会がありましたので、紹介させて頂きます。

手順

コンソール指定

  • Lambdaファンクションの作成、AWSコンソールを利用しました。

lambda-vpc-start-01

lambda-vpc-start-02

Lambdaファンクション作成

  • Lambdaファンクションを起動します。
  • 今回、サンプル(blueprint)の「Hello-world」を利用しました。 lambda-vpc-start-03

  • ファンクション名は任意の名称とします lambda-vpc-start-04

ロール指定

  • Roleは、「ec2:CreateNetworkInterface」を付与済みのロールを指定します。

lambda-vpc-start-23

  • 今回「Lambda_exec_role」に対し、事前にIAM画面を利用して、以下のロールポリシーを付与しました。

lambda-vpc-start-19

lambda-vpc-start-20

lambda-vpc-start-21

VPCの指定

  • Lambdaを起動するVPC、作成済みのVPCの選択が可能です。
  • 今回はデフォルトVPCを利用しました。
  • Subnet、Security Groupも事前に定義済みのものを利用しました。

lambda-vpc-start-24

Lambdaファンクションの起動

  • 動作確認のため「Test」を実施します

lambda-vpc-start-11

lambda-vpc-start-12

ENIの確認

  • VPCに起動したLambdaファンクションは、VPCアクセスに利用されるENIを利用します。
  • 作成されたENIは、EC2の「ネットワークインターフェース」画面で確認可能です。
  • Lambdaファンクションの作成時に指定したVPC設定が反映され、プライベートIPが付与されているENIの存在が確認できました。

lambda-vpc-start-13

まとめ

今回のAWS LambdaのVPC対応、RDS、RedshiftなどのDBや、同一VPC、DX接続された閉塞網のシステム間連携を セキュアかつ効率的にLambdaで実現出来る可能性を有す、待望の機能でした。

また、ElastiCache(Redis)と接続可能になった事により、Redisのテーブルを共有メモリ的に活用した 新しいアーキテクチャなどの応用も効きそうです。

lambda-vpc-start-22

よりクラウドネイティブなアーキテクチャを実現する可能性を秘めたAWS Lambda、これからに注目したいと思います。