IBM Cloud Docs
Hyper Protect Virtual Server for VPC へのサンプル・アプリケーションのデプロイ

Hyper Protect Virtual Server for VPC へのサンプル・アプリケーションのデプロイ

このチュートリアルでは、 Hyper Protect Virtual Server for VPC にサンプル・アプリケーションをデプロイする手順について説明します。これにより、Confidential Computing が個人情報 (PII) の保護にどのように役立つかが強調されます。

概要

Confidential Computing は、ハードウェア・ベースの手法による、使用中のデータの保護です。 サンプルアプリケーション"PayNow"金融取引のために個人情報およびクレジットカード情報を取得して処理します。

IBM Cloud Virtual Private Cloud (VPC) またはオンプレミス上で、IBM Linuxの安全な実行 の利点を生かして Hyper Protect Virtual Servers をプロビジョニングすることができます。 このチュートリアルでは、Hyper Protect Virtual Servers をVPCに使用します。

金融取引のデータは、VPC の Hyper Protect Virtual Server 上の Confidential Computing によって保護されます。
金融取引のデータは、 Hyper Protect Virtual Server for VPC上のコンフィデンシャル・コンピューティングによって保護される。

開始前に

このチュートリアルを実行するには、以下の前提条件を満たしていなければなりません。

  1. IBM Cloud アカウントを作成します。
  2. ユーザー ID の API キーを作成します
  3. IBM Cloud CLI および コンテナー・レジストリー CLI プラグイン をインストールします。
  4. パブリック・ゲートウェイセキュリティー・グループ を持つ VPC とサブネット を作成し、ポート 8443 とすべてのアウトバウンド IP 接続で少なくともインバウンド IP 接続を許可する規則を適用します。
  5. IBM Cloudで Log Analysis インスタンス を作成します。 取り込みホストと取り込み鍵をメモしておきます。
  6. Gitをインストールします。

推定時間

このチュートリアルを完了するには、約 60 分かかります。

ステップ

ステップ 1. PayNow アプリケーション・コンテナー・イメージのビルド

  1. Git を使用して、 リポジトリーを複製します。

  2. 以下のコマンドを使用して、 linux/s390x プラットフォーム用の PayNow コンテナー・イメージをビルドし、コンテナー・イメージにタグを付けます。

    docker buildx build --platform linux/s390x -t us.icr.io/hpvs-sample/paynow-website .
    
  3. 以下のコマンドを使用して、IBM Cloud Container Registryにログインします:

    ibmcloud login
    
    ibmcloud target -r us-south
    
    ibmcloud cr login --client docker
    
  4. 以下のコマンドを実行して、名前空間を作成し、コンテナー・イメージをプッシュします。

    ibmcloud cr namespace-add hpvs-sample
    
    docker push us.icr.io/hpvs-sample/paynow-website
    
  5. コンテナー・イメージ・ダイジェストを表示します。 コンテナー・レジストリー内のコンテナー・イメージ・ダイジェストを表示してメモすることも、以下のコマンドを使用することもできます。

    docker inspect us.icr.io/hpvs-sample/paynow-website | grep -A 1 RepoDigests
    

ステップ 2 Terraform を使用した PayNow アプリケーションの契約の作成

  1. 契約作成の準備:

    1. OpenSSL バイナリーがインストールされていることを確認します。 詳しくは、 OpenSSLを参照してください。
    2. Terraform 資料を使用して、ご使用の環境用の Terraform CLI をインストールします。
  2. 契約を作成します。

    1. Git を使用して、 リポジトリーを複製します。
    2. 次のコマンドを使用して、以下のディレクトリーに移動します。
      cd linuxone-vsi-automation-samples\terraform-hpvs\create-contract-dynamic-registry
      
  3. compose フォルダー内の docker-compose.yml ファイルを更新します。 コンテナー・イメージ・ダイジェストと公開ポートを指定する必要があります。 docker-compose.yml ファイルの例を以下に示す:

    version: "3"
    services:
      paynow:
        image: ${REGISTRY}/hpvs-sample/paynow-website@sha256:<sha256>
        ports:
          - "8080:8080"
          - "8443:8443"
    
  4. 必要な Terraform 変数を設定します。 これを行うには、ファイル my-settings.auto.tfvars-templatemy-settings.auto.tfvars にコピーし、コピーしたファイルを編集して、変数値を調整する必要があります。 以下の例を参照してください。

    registry="<your container registry, e.g. us.icr.io>"
    pull_username="iamapikey"
    pull_password="<your API key>"
    logdna_ingestion_key="<the ingestion key of your log instance>"
    logdna_ingestion_hostname="<the rsyslog endpoint of your log instance without theport, e.g. syslog-a.<log_region>.logging.cloud.ibm.com>"
    
  5. Terraform を初期化するには、以下のコマンドを実行します。

    terraform init
    
  6. Terraform を使用して契約を作成します。

    terraform apply
    
  7. 以下のコマンドを実行して、Terraform スクリプトで作成された契約を表示します。

    cat build/contract.yml
    

    表示された契約をコピーします。 後続のステップで、コピーした契約を入力フィールドに貼り付ける必要があります。

ステップ 3。 Hyper Protect Virtual Server for VPC を使用した IBM Cloud による機密コンピューティングの有効化

  1. IBM Cloudにログインします。
  2. IBM Cloud カタログの Hyper Protect Virtual Server for VPC の 「プロビジョン」ページ に移動します。
  3. 仮想サーバー・インスタンスに名前を付けます。
  4. 作成した契約情報を 「ユーザー・データ」 に貼り付けます。
  5. 「ネットワーキング」 の下で、VPC とサブネットを選択します。
  6. 仮想サーバーの作成 ]をクリックします。
  7. Log Analysis インスタンス・ダッシュボードでログを表示します。
  8. VPC インスタンスの Hyper Protect Virtual Server に浮動 IP アドレスを割り当て、「保存」をクリックします。
  9. PayNow ウェブサイトを開くには、フローティング IP アドレスをコピー&ペーストし、ブラウザを使用して URL https://<floatingip>:8443/index.html の下にある PayNow ウェブサイトを開きます。

IBM Cloud Hyper Protect Virtual Server for VPC で Confidential Computing を使用することで、業界で比類のないレベルのデータ・セキュリティーを確保できるようになりました。

次のステップ

2 つのサーバー間の比較によって Confidential Computing によって提供されるデータ保護について説明している デモ・ビデオ をご覧ください。

  • 1 つの なし Confidential Computing。悪意のある root ユーザーが、PII およびクレジット・カード・データを盗むために保護されていないサーバー・メモリーの内容をダンプできます。
  • 1 つの 置き換え Confidential Computing は、Hyper Protect プラットフォームによって保護されているため、root ユーザーであってもサーバー・メモリーにアクセスすることができません。