Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
Hide categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • Developer Tools
    • コマンドライン
    • Heroku VS Code Extension
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Working with Node.js
      • Node.js Behavior in Heroku
      • Troubleshooting Node.js Apps
    • Ruby
      • Rails のサポート
      • Bundler の使用
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Python でのバックグランドジョブ
      • Python Behavior in Heroku
      • Django の使用
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Maven の使用
      • Spring Boot の使用
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Migrating to Heroku Postgres
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Working with AI
    • Heroku Inference
      • Inference API
      • Quick Start Guides
      • AI Models
      • Inference Essentials
    • Vector Database
    • Model Context Protocol
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
  • データベースとデータ管理
  • Heroku Data For Redis
  • 暗号化鍵を使用した Heroku Data for Redis の暗号化

暗号化鍵を使用した Heroku Data for Redis の暗号化

日本語 — Switch to English

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2022年11月21日(月)

Table of Contents

  • AWS の前提条件
  • 暗号化鍵を使用して Heroku Data for Redis データベースを作成する
  • 暗号化鍵を使用して Heroku Data for Redis データベースを別のデータベースに移行する
  • 暗号化鍵の無効化
  • 暗号化鍵の有効化
  • 制限

この記事では、Private Space 内の Heroku Data for Redis を暗号化するために、AWS Key Management Service (KMS) を使用してカスタマーマスターキー (CMK) を作成する方法について説明します。このプロセスは、大きく分けて 3 つの手順で構成されます。

  1. AWS KMS でカスタマーマスターキー (CMK) を作成する
  2. その CMK に IAM ポリシーを適用して、Heroku Data がユーザーの代わりにそのキーを使用できるようにする
  3. 暗号化鍵を使用して Heroku Data for Redis データベースを作成する

AWS の前提条件

このセクションの手順は Amazon KMS ダッシュボードから実行します。あるいは、以下に示すように、AWS CLI を使用することもできます。

手順 1: カスタマーマスターキーを作成する

AWS Web コンソールにログインしたら、Key Management Service​ に移動し、「Create Key」 (キーの作成) をクリックします。

KMS コンソール

手順 2: 対称キーを選択する

対称キーを選択し、「Next」 (次へ) をクリックします。

対称キー

バックアップを保存するために S3 を使用しますが、これは対称 CMK のみをサポート​しています。

手順 3: 詳細を追加し、アクセス許可を設定する

エイリアス (heroku-data​ など) を追加し、「Next​」 (次へ) を押します。キーの管理アクセス許可をさらに設定する必要はありません。「Next」 (次へ) をクリックします。

キーのアクセス許可

キーの使用のアクセス許可を定義する場合は、一番下にスクロールして、別の AWS アカウントを追加​します。ボックスに Heroku Data の AWS アカウント ID (021876802972​) を入力し、「Next」 (次へ) を押します。

アカウント ID

手順 4: 確認して完了する

キーポリシーを確認し、作成を完了します。CMK の Amazon Resource Name (ARN) をメモしておきます。

確認して完了する

手順 5: 自動キーローテーションを有効にする

キーの情報ページを開くことによって、自動キーローテーションを有効にすることができます。ページの一番下で、「Key Rotation」 (キーのローテーション) タブを選択し、ボックスをチェックして 「Save」 (保存) を押します。

キーのローテーション

代替手段: AWS CLI を使用する

AWS CLI を使用して、適切なキーポリシーが設定されたカスタマーマスターキー (CMK) を作成できます。

$ export AWS_ACCOUNT_ID=`aws sts get-caller-identity --output text --query 'Account'`
$ export HEROKU_DATA_ACCOUNT_ID=021876802972
$ curl -s -o key-policy.json https://gist.githubusercontent.com/jdowning/8d146cd238de828141e81b458dc546f0/raw/fc2a69603dc1364f1bc2fd2b5beb0af210150444/key-policy.json
$ aws kms create-key --description 'heroku-data-test' --policy $(envsubst < key-policy.json)

create-key​ コマンドの出力には、プロビジョニング中に必要なキーの ARN が含まれています。これは、後の手順で CMK_ARN​ として参照されます。

CMK に対して自動キーローテーションを有効にすることをお勧めします。

$ aws enable-key-rotation --key-id CMK_ARN

暗号化鍵を使用して Heroku Data for Redis データベースを作成する

これで、適切なアクセス許可が設定されたカスタマーマスターキーが用意できたので、そのキーを使用して、Heroku Data によって管理されるデータを暗号化できます。CMK の完全な Amazon Resource Name (ARN) が必要です。データベースを作成する場合は --encryption-key​ プロビジョニングフラグを使用できます。

暗号化鍵を使用して Heroku Data for Redis を暗号化するには、Private Space プラン​が必要です。

$ heroku addons:create heroku-redis:private-7 --encryption-key CMK_ARN --app your-app-name

暗号化鍵を使用して Heroku Data for Redis データベースを別のデータベースに移行する

既存の Heroku Data for Redis データベースがある場合は、暗号化鍵を使用してデータを移行することによってフォーク​データベースを作成できます。

$ heroku addons:create heroku-redis:private-7 \
  --fork redis://h:<password>@<hostname>:<port> \
  --encryption-key CMK_ARN \
  --app your-app-name

フォークが作成され、リーダーに追いついたら、そのフォロワーをプロモートできます。

$ heroku redis:promote <redis-addon-name> --app example-app

フォーク済みの Redis インスタンスをプロモートすると、REDIS_URL​ 環境設定が更新され、アプリケーションが再起動します。

暗号化鍵の無効化

暗号化鍵のライフサイクルの一部として、この鍵を無効にすることが必要になる場合があります。このアクションを実行しているときは、その鍵で暗号化されたすべてのデータがアクセス不可能になります。

暗号化鍵を無効にすると、その鍵を使用しているすべてのサービスとサーバーのシャットダウンがトリガーされます。このアクションを実行する場合は、細心の注意を払ってください。このアクションを実行するときは、サポートに通知して調整することをお勧めします。

暗号化鍵は、AWS Web コンソールまたは AWS CLI を使用して無効にすることができます。

$ aws kms disable-key --key-id CMK_ARN

当社で鍵の無効化の通知を受信した後、アクションが実行されるまでに 10 分の待機期間が発生します。これは、鍵の状態の誤った変更によって、その鍵に依存しているリソースが不必要に変更されることがないようにするのに役立ちます。

10 分の待機期間が経過したら、その暗号化鍵を使用しているすべてのサービスをシャットダウンします。次に、それらのサービスを実行しているすべてのサーバーを停止します。最後に、無効にしたアクションを通知するメール通知をアプリケーション管理者に送信します。鍵の無効化からサービスのシャットダウンまでに約 20 分かかることを見込んでおいてください。

暗号化鍵の有効化

暗号化鍵を使用して暗号化されたデータへのアクセスを回復する必要がある場合は、その鍵を有効にして復元することができます。暗号化鍵は、AWS Web コンソールまたは AWS CLI を使用して有効にすることができます。

$ aws kms enable-key --key-id CMK_ARN

当社で鍵の有効化の通知を受信したら、以前に停止されたサーバーを起動します。サーバーが動作を開始したら、影響を受けるサービスを起動します。最後に、有効にしたアクションを通知するメール通知をアプリケーション管理者に送信します。鍵の有効化からサービスの再起動までに約 5 分かかることを見込んでおいてください。

制限

顧客の暗号化鍵を使用して暗号化されたデータベースに適用される制限があります。

  • この機能は、Private および Shield プラン​の Heroku Data for Redis でのみ使用できます。

セキュリティのために、顧客が指定する鍵の使用から Heroku で管理される鍵のライフサイクルに自動的に移行する方法は存在しません。1 つ以上のデータサービスでこの機能の使用を停止したい場合は、Heroku サポートに連絡してください。

関連カテゴリー

  • Heroku Data For Redis

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices