2.2. Amazon Web Services で Helm を使用した Trusted Profile Analyzer のインストール


Red Hat の Helm チャートを使用して、Red Hat の Trusted Profile Analyzer (RHTPA) サービスを OpenShift にインストールできます。この手順では、Helm のカスタマイズされた値ファイルを使用して Amazon Web Services (AWS) を RHTPA と統合する方法を説明します。

重要

インストール後にシークレット値が変更されると、OpenShift は RHTPA を再デプロイします。

前提条件

  • バージョン 4.14 以降を実行している Red Hat OpenShift Container Platform クラスター。

    • HTTPS を使用する公的に信頼された証明書を提供するための Ingress リソースのサポート。
  • Helm の Transport Layer Security (TLS) 証明書のプロビジョニング 機能。
  • 次のサービスにアクセスできる AWS アカウント:

    • Simple Storage Service (S3)
    • Simple Queue Service (SQS)
    • PostgreSQL データベースインスタンスを使用するリレーショナルデータベースサービス (RDS)。
    • 既存の Cognito ドメインを使用する Cognito
  • 次の バージョンなしの S3 バケット名 を作成します

    • bombastic-UNIQUE_ID
    • vexination-UNIQUE_ID
    • v11y-UNIQUE_ID

      重要

      これらのバケット名は、同じパーティション内のすべての AWS リージョンのすべての AWS アカウントで一意である必要があります。バケットの命名規則 の詳細は、Amazon の S3 ドキュメントを参照してください。

  • 次の標準の SQS キュー名を 作成 している。

    • bombastic-failed-default
    • bombastic-indexed-default
    • bombastic-stored-default
    • vexination-failed-default
    • vexination-indexed-default
    • vexination-stored-default
    • v11y-failed-default
    • v11y-indexed-default
    • v11y-stored-default
  • cluster-admin ロールでの OpenShift Web コンソールへのアクセス。
  • oc および helm バイナリーがインストールされたワークステーションがある。

手順

  1. ワークステーションでターミナルを開き、コマンドラインインターフェイスを使用して OpenShift にログインします。

    構文

    oc login --token=TOKEN --server=SERVER_URL_AND_PORT

    $ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443

    注記

    OpenShift Web コンソールからコマンドラインで使用するログイントークンと URL を確認できます。OpenShift Web コンソールにログインします。ユーザー名をクリックし、Copy login command をクリックします。ユーザー名とパスワードをもう一度入力し、Display Token をクリックしてコマンドを表示します。

  2. RHTPA デプロイメントの新規プロジェクトを作成します。

    構文

    oc new-project PROJECT_NAME

    $ oc new-project trusted-profile-analyzer

  3. 新規ファイルを開いて編集します。

    $ vi values-rhtpa-aws.yaml

  4. RHTPA 値ファイルテンプレート をコピーして、新しい value-rhtpa-aws.yaml ファイルに貼り付けます。
  5. values-rhtpa-aws.yaml ファイルを関連する AWS 情報で更新します。

    1. REGIONAL_ENDPOINT は、Amazon S3 ストレージおよび Amazon SQS エンドポイント URL に置き換えます。
    2. COGNITO_DOMAIN_URL は Amazon Cognito URL に置き換えます。この情報は、AWS Cognito ConsoleApp Integration タブにあります。
    3. REGIONUSER_POOL_ID、および FRONTEND_CLIENT_ID および WALKER_CLIENT_ID は、関連する Amazon Cognito 情報に置き換えます。この情報は、AWS Cognito ConsoleUser pool overview セクション、および App Integration タブの App clients and analytics セクションで確認できます。
    4. UNIQUE_ID をbombastic-vexination-v11y- の一意のバケット名に置き換えます。
    5. ファイルを保存して、エディターを終了します。
  6. AWS 認証情報を使用して S3 ストレージシークレットリソースを作成します。

    構文

    apiVersion: v1
    kind: Secret
    metadata:
      name: storage-credentials
      namespace: PROJECT_NAME
    type: Opaque
    data:
      aws_access_key_id: AWS_ACCESS_KEY
      aws_secret_access_key: AWS_SECRET_KEY

    $ cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: storage-credentials
      namespace: trusted-profile-analyzer
    type: Opaque
    data:
      aws_access_key_id: RHTPASTORAGE1EXAMPLE
      aws_secret_access_key: xBalrKUtnFEMI/K7RDENG/aPxRfzCYEXAMPLEKEY
    EOF

  7. AWS 認証情報を使用して SQS イベントバスシークレットリソースを作成します。

    構文

    apiVersion: v1
    kind: Secret
    metadata:
      name: event-bus-credentials
      namespace: PROJECT_NAME
    type: Opaque
    data:
      aws_access_key_id: AWS_ACCESS_KEY
      aws_secret_access_key: AWS_SECRET_KEY

    $ cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: event-bus-credentials
      namespace: trusted-profile-analyzer
    type: Opaque
    data:
      aws_access_key_id: RHTPAEVENTBS1EXAMPLE
      aws_secret_access_key: mBaliKUtnFEMI/K6RDENG/aPxRfzCYEXAMPLEKEY
    EOF

  8. OpenID Connect (OIDC) ウォーカークライアントシークレットリソースを作成します。

    構文

    apiVersion: v1
    kind: Secret
    metadata:
      name: oidc-walker
      namespace: PROJECT_NAME
    type: Opaque
    data:
      client-secret: SECRET

    $ cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: oidc-walker
      namespace: trusted-profile-analyzer
    type: Opaque
    data:
      client-secret: 5460cc91-4e20-4edd-881c-b15b169f8a79
    EOF

  9. Amazon RDS 認証情報を使用して、2 つの PostgreSQL データベースシークレットリソースを作成します。

    1. PostgreSQL 標準ユーザーシークレットリソース:

      構文

      apiVersion: v1
      kind: Secret
      metadata:
        name: postgresql-credentials
        namespace: PROJECT_NAME
      type: Opaque
      data:
        db.host: DB_HOST
        db.name: DB_NAME
        db.user: USERNAME
        db.password: PASSWORD
        db.port: PORT

      $ cat <<EOF | oc apply -f -
      apiVersion: v1
      kind: Secret
      metadata:
        name: postgresql-credentials
        namespace: trusted-profile-analyzer
      type: Opaque
      data:
        data:
        db.host: rds.us-east-1.amazonaws.com
        db.name: rhtpadb
        db.user: jdoe
        db.password: example1234
        db.port: 5432
      EOF

    2. PostgreSQL 管理者のシークレットリソース:

      構文

      apiVersion: v1
      kind: Secret
      metadata:
        name: postgresql-admin-credentials
        namespace: PROJECT_NAME
      type: Opaque
      data:
        db.host: DB_HOST
        db.name: DB_NAME
        db.user: USERNAME
        db.password: PASSWORD
        db.port: PORT

      $ cat <<EOF | oc apply -f -
      apiVersion: v1
      kind: Secret
      metadata:
        name: postgresql-admin-credentials
        namespace: trusted-profile-analyzer
      type: Opaque
      data:
        data:
        db.host: rds.us-east-1.amazonaws.com
        db.name: rhtpadb
        db.user: admin
        db.password: example1234
        db.port: 5432
      EOF

    3. AWS マネジメントコンソールから、ポート 5432 を許可するように Amazon Virtual Private Cloud (VPC) security group を設定します。
  10. シェル環境を設定します。

    構文

    export NAMESPACE=PROJECT_NAME
    export APP_DOMAIN_URL=-$NAMESPACE.$(oc -n openshift-ingress-operator get ingresscontrollers.operator.openshift.io default -o jsonpath='{.status.domain}')

    $ export NAMESPACE=trusted-profile-analyzer
    $ export APP_DOMAIN_URL=-$NAMESPACE.$(oc -n openshift-ingress-operator get ingresscontrollers.operator.openshift.io default -o jsonpath='{.status.domain}')

  11. OpenShift Helm チャートリポジトリーを追加します。

    $ helm repo add openshift-helm-charts https://charts.openshift.io/

  12. Helm チャートリポジトリーから最新のチャート情報を取得します。

    $ helm repo update

  13. Helm チャートを実行します。

    構文

    helm install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values PATH_TO_VALUES_FILE --set-string appDomain=$APP_DOMAIN_URL

    $ helm install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values values-rhtpa-aws.yaml --set-string appDomain=$APP_DOMAIN_URL

    注記

    この Helm チャートを何度も実行して、値ファイルから現在設定されている状態を適用できます。

  14. インストールが完了すると、Cognito ユーザープールからのユーザーの認証情報を使用して RHTPA コンソールにログインできます。次のコマンドを実行すると、RHTPA コンソール URL を見つけることができます。

    $ oc -n $NAMESPACE get route --selector app.kubernetes.io/name=spog-ui -o jsonpath='https://{.items[0].status.ingress[0].host}{"\n"}'

  15. スケジュールされた Cron ジョブが毎日実行され、RHTPA の最新の Common Vulnerabilities and Exposures (CVE) データを収集します。スケジュールされたジョブが実行されるまで待つのではなく、以下のコマンドを実行してこの Cron ジョブを手動で開始できます。

    $ oc -n $NAMESPACE create job --from=cronjob/v11y-walker v11y-walker-now

    Cron ジョブが完了したら、この Cron ジョブを削除します。

    $ oc -n $NAMESPACE delete job v11y-walker-now

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.