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に使用します。
開始前に
このチュートリアルを実行するには、以下の前提条件を満たしていなければなりません。
- IBM Cloud アカウントを作成します。
- ユーザー ID の API キーを作成します。
- IBM Cloud CLI および コンテナー・レジストリー CLI プラグイン をインストールします。
- パブリック・ゲートウェイ と セキュリティー・グループ を持つ VPC とサブネット を作成し、ポート 8443 とすべてのアウトバウンド IP 接続で少なくともインバウンド IP 接続を許可する規則を適用します。
- IBM Cloudで Log Analysis インスタンス を作成します。 取り込みホストと取り込み鍵をメモしておきます。
- Gitをインストールします。
推定時間
このチュートリアルを完了するには、約 60 分かかります。
ステップ
ステップ 1. PayNow アプリケーション・コンテナー・イメージのビルド
-
Git を使用して、 リポジトリーを複製します。
-
以下のコマンドを使用して、 linux/s390x プラットフォーム用の PayNow コンテナー・イメージをビルドし、コンテナー・イメージにタグを付けます。
docker buildx build --platform linux/s390x -t us.icr.io/hpvs-sample/paynow-website .
-
以下のコマンドを使用して、IBM Cloud Container Registryにログインします:
ibmcloud login
ibmcloud target -r us-south
ibmcloud cr login --client docker
-
以下のコマンドを実行して、名前空間を作成し、コンテナー・イメージをプッシュします。
ibmcloud cr namespace-add hpvs-sample
docker push us.icr.io/hpvs-sample/paynow-website
-
コンテナー・イメージ・ダイジェストを表示します。 コンテナー・レジストリー内のコンテナー・イメージ・ダイジェストを表示してメモすることも、以下のコマンドを使用することもできます。
docker inspect us.icr.io/hpvs-sample/paynow-website | grep -A 1 RepoDigests
ステップ 2 Terraform を使用した PayNow アプリケーションの契約の作成
-
契約作成の準備:
- OpenSSL バイナリーがインストールされていることを確認します。 詳しくは、 OpenSSLを参照してください。
- Terraform 資料を使用して、ご使用の環境用の Terraform CLI をインストールします。
-
契約を作成します。
- Git を使用して、 リポジトリーを複製します。
- 次のコマンドを使用して、以下のディレクトリーに移動します。
cd linuxone-vsi-automation-samples\terraform-hpvs\create-contract-dynamic-registry
-
compose フォルダー内の docker-compose.yml ファイルを更新します。 コンテナー・イメージ・ダイジェストと公開ポートを指定する必要があります。 docker-compose.yml ファイルの例を以下に示す:
version: "3" services: paynow: image: ${REGISTRY}/hpvs-sample/paynow-website@sha256:<sha256> ports: - "8080:8080" - "8443:8443"
-
必要な Terraform 変数を設定します。 これを行うには、ファイル
my-settings.auto.tfvars-template
をmy-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>"
-
Terraform を初期化するには、以下のコマンドを実行します。
terraform init
-
Terraform を使用して契約を作成します。
terraform apply
-
以下のコマンドを実行して、Terraform スクリプトで作成された契約を表示します。
cat build/contract.yml
表示された契約をコピーします。 後続のステップで、コピーした契約を入力フィールドに貼り付ける必要があります。
ステップ 3。 Hyper Protect Virtual Server for VPC を使用した IBM Cloud による機密コンピューティングの有効化
- IBM Cloudにログインします。
- IBM Cloud カタログの Hyper Protect Virtual Server for VPC の 「プロビジョン」ページ に移動します。
- 仮想サーバー・インスタンスに名前を付けます。
- 作成した契約情報を 「ユーザー・データ」 に貼り付けます。
- 「ネットワーキング」 の下で、VPC とサブネットを選択します。
- 仮想サーバーの作成 ]をクリックします。
- Log Analysis インスタンス・ダッシュボードでログを表示します。
- VPC インスタンスの Hyper Protect Virtual Server に浮動 IP アドレスを割り当て、「保存」をクリックします。
- 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 ユーザーであってもサーバー・メモリーにアクセスすることができません。