BETA

「AWS Lambda のセキュリティ概要」まとめ

投稿日:2020-09-20
最終更新:2020-09-21

この記事について

AWS Lambda のセキュリティ概要を読んだ要約となります。
要約一覧はこちら

Lambda とは

  • イベント駆動型サーバーレスコンピューティングサービス

Lambda における利用者の責任範囲

  • アプリケーションコード
  • 機密データの保存とアクセス
    • データの暗号化
  • Lambda 関数へのアクセス
  • Lambda 関数のモニタリングとロギング

Lambda のランタイム環境

  • コントロールプレーンとデータプレーンの機能に分かれている
  • コントロールプレーン
    • Lambda 関数を含めた Lambda 全体を管理する API (CreateFunction, UpdateFunctionCode など) を指す
  • データプレーン
    • Lambda 関数の実行を制御する Invoke API などを指す
  • ランタイム環境は AWS 内の仮想環境(EC2 内で起動している Lambda Workers)をアカウントごとに分離した仮想環境(Micro VM)となる
    • Micro VM は Host OS をアカウントで共有している
  • ランタイム環境は特定期間内で再利用されたのち、破棄される
  • /tmp ストレージを実行中に利用できる

Lamba 関数の呼び出し

  • Invoke API にはイベントモードとリクエスト/レスポンスモードが存在する
  • イベントモードでは、即時実行と実行命令をキューに入れるパターンがあるが、どちらも非同期パターンとなる
    • キューは AWS が管理するものであり、キューに保存されたデータは暗号化されない
    • S3, SNS, CloudWatch からの呼び出しが該当する
  • リクエスト/レスポンスモードは関数呼び出し後にレスポンスを待つため、同期となる
    • VPC 外の Lambda 呼び出し時は呼び出し元から Lambda API 用のロードバランサーまでの通信経路はインターネットを経由する
    • Kinesis Streams, DynamoDB Streams, SQS, ALB, API Gateway

Lambda ランタイムのメンテナンス

  • ランタイム言語にはセキュリティパッチが提供されるため、事前に動作検証などをして任意のタイミングでパッチを当てることができる
  • EOL を迎えたランタイム言語は新しい関数の作成や既存の関数の更新ができなくなる

Lambda 関数のモニタリングとロギング

  • CloudWatch
    • データプレーンの実行状況を監視する
    • リクエスト数、実行回数、エラー数などのメトリクスを取得する
  • CloudTrail
    • コントロールプレーンの実行状況を監視する
    • 監査が目的のロギングとなる
  • X-Ray
    • Lambda の前後にあるサービスの実行状況を分析する
    • どこで処理が停止しているかなどを可視化する
  • Config
    • Lambda 関数の構成変更を管理する
    • 誰が何をした、というのは CloudTrail で、Config では変更の履歴を追跡することが目的
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

趣味はエンジニア

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう