パイプラインとツールのデプロイ

CDK 環境ができたので、リリースパイプラインをデプロイします。さらに、今後のモジュールで使用する SAST ツール SonarQube Serverと、DAST ツール OWASP Zap をデプロイする CDK があります。初期リリースパイプラインは次のようになります。 パイプラインのパート 1

  1. AWS Cloud9 のターミナルウィンドウに戻り、pipeline フォルダの下の config.yaml.sample から config.yaml という名前の新しいファイルを作成しましょう。

    cd ~/environment/pipeline
    cp config.yaml.sample config.yaml
    
  2. 左側にある Cloud9 のエクスプローラーをクリックして、新しく作成したファイル (config.yaml) を開きます。 config-yaml

  3. config.yaml は、ワークショップ中にパイプラインで特定のビルドステージを有効/無効にします。現状、それらのほとんどは無効になっています(enabled: False と記述されています)。ここでは、dast セクションを更新します。OWASP ZAP は、リクエストを認証するための API キー が必要です。api_key 設定で任意の値を設定できます。dast > zaproxy セクションの下にある api_key の設定項目に記載されている <PLACE_ZAP_API_KEY_HERE> の値を任意の値に置き換えます。結果的に、config.yaml は次のようになっているはずです。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    ### Staging Auto-Deploy
    auto_deploy_staging: False
    
    ### Static Application Security Testing (SAST) Step
    sast:
      enabled: False
      sonarqube:
        image: public.ecr.aws/adelagon/sonarqube:lts-community
        token: <PLACE_SONARQUBE_TOKEN_HERE>
    
    ### Software Composition Analysis (SCA) Step
    sca:
      enabled: False
    
    ### License Checker Step
    license:
      enabled: False
    
    ### Dynamic Application Security Testing (DAST) Step
    dast:
      enabled: False
      zaproxy:
        instance_type: t2.medium
        api_key: SomeRandomString

  4. dast > zaproxy > api_key の設定値を変更したら、必ず config.yaml ファイルを保存してください。保存は、(Ctrl or Command) + sまたは左上の File タブから Save で保存できます。以降も、Cloud9 でソースコードを変更した際には併せて保存を忘れずに実施してください。

  5. CDK コマンドを実行する前に、CDK がデプロイするために必要なリソースをプロビジョニングしましょう。Cloud9 ターミナルに以下を入力するだけで、プロビジョニング出来ます。

    cdk bootstrap
    
  6. 次に、CDK が正しくインストールされ、構成されているかどうかをテストしましょう。Cloud9 のターミナルで以下のコマンドを入力します。リリースパイプライン構築のための結合された CloudFormation テンプレートが表示されるはずです。

    cdk synth
    
  7. Cloud9 のターミナルウィンドウで、以下のコマンドでリリースパイプラインをデプロイしてみましょう。確認のためのメッセージが出てきますので、y と入力し Enter キー を押してください。

    cdk deploy
    
  8. CDK のデプロイを数分待ってみましょう。AWS リソースのプロビジョニング中に、(pipeline/appsec_workshop フォルダーの下) CDK コンストラクトのいくつかを調べてみましょう。CDK が完了すると、次の出力が得られるはずです。

venv

次のセクションに進み、展開した内容を調べてください。