0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS DOP-C02】学習メモ

0
Last updated at Posted at 2026-06-09

CI/CDに脆弱性スキャンを組み込む

要件・前提

  • CI/CDワークフローにおいて、OSおよびプログラミング言語のパッケージに対する脆弱性スキャンを組み込みたい。
  • ワークフローではAWS CodePipelineが使用され、AWS CodeBuildAWS CodeDeployのステップを含み、Amazon ECRリポジトリを使用している。
  • 脆弱性が存在しないイメージのみがデプロイされるようにしたい。

設計方針

  1. CodeBuildでビルドしたコンテナイメージをECRにプッシュ
  2. ECRの拡張スキャンによりAWS InspectorがOSとプログラミング言語のパッケージ両方の脆弱性を検出
  3. スキャン完了イベントをEventBridgeで検知し、Lambdaをトリガー
  4. LambdaがCRITICAL/HIGH脆弱性を評価し、CodePipelineに承認結果を送信
  5. 脆弱性なしの場合のみApprovedとなり、CodeDeployでデプロイ実行
  6. CRITICAL/HIGH脆弱性が検出された場合はRejectedとなりパイプラインを停止

Amazon ECRには基本スキャンと拡張スキャンのイメージスキャンオプションが存在する。

  • 基本スキャン
    • 無料でOSのパッケージ脆弱性評価ができる。
  • 拡張スキャン
    • Amazon Inspectorの利用料がかかるが、プログラミング言語のパッケージもスキャン脆弱性評価できる。
    • CVE(共通脆弱性識別子)情報と詳細な修復ガイダンスが提供される
    • CVSSスコアに基づいた重大度評価(CRITICAL、HIGH、MEDIUM、LOW)ができる

障害発生時にALBを特定のAZへルーティングしないようにする

要件・前提

  • 障害が発生したAZへのトラフィックルーティングを停止すること
  • 他の健全なAZのインスタンスは引き続き正常にトラフィックを処理できること
  • DevOpsエンジニアが行った調整を検証するために、特定のAZへのトラフィックを制御できること

設計方針

  1. ALBのターゲットグループでクロスゾーン負荷分散を無効化する
  2. ALBに対してRoute53 Application Recovery Controllerゾーナルシフトを実行する

ルーティングの流れ

  1. ユーザーのリクエストがALBに到達する。
  2. Route53 ARCのゾーナルシフトによって、障害が発生したインスタンスのあるAZへのトラフィックルーティングを一時停止する。
  3. ALBのターゲットグループでクロスゾーン負荷分散を無効化することで、各AZのALBノードが同一AZ内のターゲットにのみトラフィックを分散するようになる。これにより、AZをまたいだ意図しないトラフィックを正常処理する。

クロスゾーン負荷分散はALBのターゲットグループに対して設定できる。
ALBでは常時オンに固定されており、オフにすることはできない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?