1日1%成長する ~Aws Lambda Part2~
AWSの学習メモ
- AWSのblackbaltの動画を15分以上毎日見る
- 動画を簡単にまとめる
Aws Lambda Part2 VPC Q&A プライベートIPアドレスを固定することは? -> ENIはLambdaによって作成・削除が自動的に行われるので不可能 グローバルIPアドレスを固定することは? -> VPCアクセスを有効にした時点でそのままインターネットへはアクセスできない アクセス元として特定Lambdaファンクションのみ許可は? -> Lambda関数に割り当てたセキュリティグループをソースとする許可ルール オンプレミスにあるリソースへアクセスしたい場合は? -> Direct ConnectやVPN レイテンシへの影響は? Lambda関数への初回アクセス時などENIの作成を伴う場合は10秒~60秒 ENIはLambda関数ごとに作成? ENIは複数のLambda関数から共用させる 同時実行数 アカウント単位:1000(デフォルト) 関数A:上限100 関数B:上限200 その他:上限700 ※DBへの書き込みや外部APIの呼び出しなどダウンストリームの流量制御や ENI/IPアドレスの利用量をコントロールしたい場合 環境変数 コードの変更なく設定した値を渡すことが可能 - DBの接続URLを本番、開発用の2種類のLambda関数で切り替え - key/valueのペア 関数のコードからのアクセスは各言語でサポート - Node.jsはprocess.envなど 暗号化 - KMSで暗号化される - 暗号化はデプロイプロセス後 - 関数が呼び出されると自動的に復号化される - 環境変数に機密情報を保存する場合はデプロイ前に暗号化することを強く推奨 - 暗号化ヘルパー利用 - 独自のサービスキーも利用可能(KMSの料金が適用される) 制限 - key/valueの合計サイズが4KB以下 - 文字は[a-zA-Z]で開始 - 利用可能な文字列は[a-zA-Z0-9_] バージョニング ある一時点のLambdaファンクションをバージョンとして管理可能 - 新しいバージョンはいつでも発行可能で、各バージョンには一意のARNがある - Lambdaファンクションの作成/更新時にpublishパラメータを追加する - PublishVersionを実行することで明示的に発行することも可能 - バージョンの発行をするまでは$LATESTが唯一のバージョンとなる - エイリアス(特定のバージョンに対するポインタ) Lambda Layres 共通コンポーネントをzipファイルにしてLambda Layersとしてアップロード Layersはimmutableであり、アップデート管理のためにバージョニング 5つまでLayersまで可能