Amazon Aurora リソースの暗号化 - Amazon Aurora

Amazon Aurora リソースの暗号化

Amazon AuroraAmazon Aurora DB クラスターを暗号化できます。保管時に暗号化されるデータには、DB クラスター、自動バックアップ、リードレプリカ、スナップショット用の基本的なストレージが含まれます。

Amazon Aurora の暗号化された DB クラスターでは、業界スタンダードの AES-256 暗号化アルゴリズムを使用して、Amazon Aurora DB クラスターをホストしているデータをサーバーで暗号化します。データが暗号化されると、Amazon Aurora はパフォーマンスの影響を最小限に抑えながら、データへのアクセスと復号の認証を透過的に処理します。暗号化を使用するために、データベースのクライアントアプリケーションを変更する必要はありません。

注記

暗号化された/されていない DB のクラスターでは、AWS リージョン間でレプリケートする場合でも、ソースとリードレプリカ間で送信されるデータは暗号化されます。

Amazon Aurora リソースの暗号化の概要

Amazon Aurora の暗号化された DB クラスターは、基になるストレージへの不正アクセスからデータを保護することによって、データ保護の追加レイヤーを提供します。Amazon Aurora の暗号化を使用して、クラウドにデプロイされるアプリケーションのデータ保護を強化することや、保管時のデータ暗号化に関するコンプライアンスの要件を達成することができます。

Amazon Aurora の暗号化された DB クラスターでは、すべての DB インスタンス、ログ、バックアップ、スナップショットが暗号化されます。Amazon Aurora で暗号化されたクラスターのリードレプリカも暗号化できます。Amazon Aurora は、AWS KMS key を使用して、これらのリソースを暗号化します。KMS キーの詳細については、「AWS Key Management Service デベロッパーガイド」の「AWS KMS keys」と「AWS KMS key 管理」を参照してください。DB クラスター内の各 DB インスタンスは、DB クラスターと同じ KMS キーを使用して暗号化されます。暗号化されたスナップショットをコピーする場合、ソーススナップショットの暗号化に使用した KMS キーとは異なる KMS キーを使用して、ターゲットスナップショットを暗号化できます。

AWS マネージドキー を使用することも、カスタマーマネージドキーを作成することもできます。Amazon Aurora リソースを暗号化および復号するために使用する カスタマーマネージドキーを管理するには、AWS Key Management Service (AWS KMS) を使用します。AWS KMS は、セキュアで可用性の高いハードウェアとソフトウェアを組み合わせて、クラウド向けにスケールされたキー管理システムを提供します。AWS KMS を使用して、カスタマーマネージドキーを作成し、このカスタマーマネージドキーの使用方法を制御するポリシーを定義できます。AWS KMS は CloudTrail をサポートしているため、KMS キーの使用を監査して、カスタマーマネージドキーが適切に使用されていることを確認できます。カスタマーマネージドキーは、Amazon Aurora およびサポートされている AWS のサービス (Amazon S3、Amazon EBS、Amazon Redshift など) で使用できます。AWS KMS と統合しているサービスのリストについては、「AWS サービス統合」を参照ください。

Amazon Aurora DB クラスターの暗号化

新しい DB クラスターを暗号化するには、コンソールで [Enable encryption] (暗号を有効化) を選択します。DB クラスターの作成については、「Amazon Aurora DB クラスターの作成」を参照してください。

create-db-cluster AWS CLI コマンドを使用して、暗号化された DB クラスターを作成するには、--storage-encrypted パラメータを設定します。CreateDBCluster API オペレーションを使用する場合は、StorageEncrypted パラメータを true に設定します。

暗号化された DB クラスターを作成するときは、カスタマーマネージドキーまたは Amazon Aurora の AWS マネージドキー を選択して、DB クラスターを暗号化できます。カスタマーマネージドキーのキー識別子を指定しない場合、Amazon Aurora は新しい DB クラスターに AWS マネージドキー を使用します。Amazon Aurora は、Amazon Aurora 用の AWS マネージドキー を AWS アカウントに作成します。AWS アカウントには、AWS リージョンごとに Amazon Aurora の AWS マネージドキー が別々にあります。

KMS キーの詳細については、「AWS Key Management Service デベロッパーガイド」の「AWS KMS keys」を参照してください。

暗号化された DB クラスターを作成したら、その DB クラスターで使用されている KMS キーを変更することはできません。したがって、暗号化された DB クラスターを作成する前に、KMS キーの要件を必ず確認してください。

AWS CLI create-db-cluster コマンドを使用して、カスタマーマネージドキーで暗号化された DB クラスターを作成する場合は、--kms-key-id パラメータを KMS キーの任意のキー識別子に設定します。Amazon RDS API CreateDBInstance オペレーションを使用する場合は、KmsKeyId パラメータを KMS キーの任意のキー識別子に設定します。カスタマーマネージドキーを別の AWS アカウントで使用するには、キー ARN またはエイリアス ARN を指定します。

重要

Amazon Aurora が DB クラスター用の KMS キーにアクセスできなくなる場合があります。例えば、Aurora は、KMS キーが有効にならない場合、または Aurora の KMS キーへのアクセス権が失効した場合に、アクセスできなくなります。このような場合、暗号化された DB クラスターは inaccessible-encryption-credentials-recoverable 状態になります。DB クラスターのこの状態は 7 日間維持されます。その間に DB クラスターを起動すると、RDS は KMS キーがアクティブかどうかをチェックし、アクティブな場合は DB クラスターを復元します。AWS CLI コマンド start-db-cluster または AWS Management Console を使用して DB クラスターを再起動します。

DB クラスターが復元されない場合、終了状態 inaccessible-encryption-credentials になります。この場合、DB クラスターはバックアップからのみ復元できます。データベース内の暗号化されたデータの消失を防ぐために、暗号化された DB インスタンスのバックアップは常に有効にしておくことを強くお勧めします。

DB クラスターの暗号化が有効になっているかの判別

AWS Management Console、AWS CLI、または RDS API を使用して、DB クラスターの保存時の暗号化が有効になっているか判断できます。

DB クラスターの保存時の暗号化が有効になっているかどうかを判別するため。
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、データベースを選択します。

  3. チェックして詳細を表示したい DB クラスターの名前を選択します。

  4. Configuration (設定)タブを選択してEncryption (暗号化)値をチェックします。

    Enable (有効)またはNot enable (無効)のいずれかが表示されています。

    DB クラスターの保存時の暗号化のチェック

AWS CLI を使用して DB クラスターの保存時の暗号化が有効になっているか判断するには、以下のオプションで describe-db-clusters コマンドを呼び起こします:

  • --db-cluster-identifier - DB クラスターの名前。

次の例では、mydb DB クラスターの保存時の暗号化に関して TRUE または FALSE のいずれかを返すクエリを使用しています。

aws rds describe-db-clusters --db-cluster-identifier mydb --query "*[].{StorageEncrypted:StorageEncrypted}" --output text

Amazon RDS API を使用して DB クラスターの保管時の暗号化が有効であるかを判断するには、以下のパラメータで DescribeDBClusters オペレーションを呼び起こします。

  • DBClusterIdentifier - DB クラスターの名前。

Amazon Aurora の暗号化の可用性

Amazon Aurora 暗号化は、現在 を除く、すべてのデータベースエンジンおよびストレージタイプに使用できます。

注記

Amazon Aurora 暗号化は、db.t2.micro DB インスタンスクラスでは使用できません。

転送中の暗号化

AWS は、すべてのタイプの EC2 インスタンス間において安全でプライベートな接続を提供します。さらに、一部のインスタンスタイプでは、基盤となる Nitro System ハードウェアのオフロード機能を使用して、インスタンス間の転送中のトラフィックを自動的に暗号化します。この暗号化では、256 ビットの暗号化による関連データによる認証暗号化 (AEAD) アルゴリズムを使用します。ネットワークのパフォーマンスには影響しません。インスタンス間でこの追加の転送中トラフィック暗号化をサポートするには、次の要件を満たす必要があります。

  • インスタンスは、次のインスタンスタイプを使用します。

    • 汎用: M6i、M6id、M6in、M6idn、 M7g

    • メモリ最適化: R6i、R6id、R6in、R6idn、R7g、X2idn、X2iedn、X2iezn

  • 各インスタンスは同じ AWS リージョン に配置します。

  • 各インスタンスは同じ VPC 内、あるいはピア接続された VPC 内にあり、トラフィックは仮想ネットワークのデバイスもしくはサービス (ロードバランサーや Transit Gateway など) を通過しないものとします。

Amazon Aurora の暗号化された DB クラスターの制限事項

Amazon Aurora の暗号化された DB クラスターには、以下の制限事項があります。

  • 暗号化された DB クラスターの暗号化をオフにすることはできません。

  • 暗号化されていない DB クラスターの暗号化されたスナップショットを作成することはできません。

  • 暗号化された DB クラスターのスナップショットは、DB クラスターと同じ KMS キーを使用して暗号化する必要があります。

  • 暗号化されていない DB クラスターを暗号化された DB クラスターに変換することはできません。ただし、暗号化されていないスナップショットを暗号化された Aurora DB クラスターに復元することはできます。それを行うには、暗号化されていないスナップショットから復元するときに、KMS キーを指定します。

  • 暗号化されていない Aurora DB クラスターから、暗号化された Aurora レプリカを作成することはできません。暗号化された Aurora DB クラスターから、暗号化されていない Aurora レプリカを作成することはできません。

  • ある AWS リージョンから別のリージョンに暗号化されたスナップショットをコピーするには、送信先 AWS リージョンの KMS キーを指定する必要があります。これは、KMS キーが、作成される AWS リージョンに固有のものであるためです。

    ソーススナップショットはコピープロセス全体で暗号化されたままになります。Amazon Auroraは、コピー処理中にエンベロープ暗号化を使用してデータを保護します。エンベロープ暗号化の仕組みの詳細については、AWS Key Management Service デベロッパーガイドの「エンベロープ暗号化」を参照してください。

  • 暗号化された DB クラスターの暗号化を解除することはできません。ただし、暗号化された DB クラスターからデータをエクスポートし、暗号化されていない DB クラスターにデータをインポートすることはできます。