【AWS】AWS Key Management ServiceとRDSの保護について解説します。
最終更新日:2026年8月10日
この記事でわかること
あらゆる業界の組織にとって、データのプライバシーは不可欠です。暗号化サービスは、不正アクセスからデータを保護する標準的な方法の1つです。ここでは、AWSの暗号化サービスであるAWS Key Management Service(KMS)と、KMSを使用してRelational Database Service(RDS)に保存しているデータを保護したり、データを暗号化する方法などをご紹介していきます。
■AWS Key Management Service(KMS)
AWS Key Management Service(KMS)は、データの暗号化に使用される暗号化キー(従来「カスタマーマスターキー(CMK)」と呼ばれていたもの)の作成と管理を容易にするマネージド型サービスです。AWS KMSは、データを暗号化する 他のほとんどの AWSのサービスと統合されています。AWS KMSは、AWS CloudTrailとも統合されており、監査、規制、コンプライアンスのニーズに応じてキーの使用をログに記録します。
【要注意】
本文中に登場する「カスタマーマスターキー(CMK)」という用語は、現在のAWS公式ドキュメントでは「KMSキー」に呼称変更されています(対称CMK→対称KMSキー、非対称CMK→非対称KMSキーという表記)。機能自体に変更はありませんが、AWSコンソールやドキュメントを参照する際は「KMSキー」という表記で検索・確認するようにしてください。また、Amazon RDSがサポートするデータベースエンジンについても、記事公開当時の6種類(Amazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle Database、Microsoft SQL Server)に加え、その後IBM Db2が追加されています。最新のサポート状況はAWS公式サイトでご確認ください。
AWS CloudTrail:AWSアカウントのガバナンス、コンプライアンス、運用監査、リスク監査を行うためのサービス。CloudTrailを使用すると、監査証跡を作成でき、これによりロギングと継続的なモニタリングが可能になる。
■Amazon Relational Database Service(RDS)
Amazon Relational Database Service(RDS)とは、AWSが提供するRDBMS(Relational Database Management System)のサービスを指します。サポートされているデータベースエンジンはAmazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle Database、Microsoft SQL Server、そしてIBM Db2です。Amazon RDSでは、データベースのインストールやバックアップなどのセットアップをしなくても、データベースが利用できる環境が提供されているため、契約後すぐにAWS上でデータベースを使用することができます。
RDBMS:リレーショナルデータベースを管理するソフトウェア(PostgreSQL、MySQLなど)の総称。クラウド上なので、ラック設置などの物理的な運用はもちろん、RDBMSのインストール作業やパッチ更新、作成後のスペック変更やストレージ容量を増やせるなど、様々な運用において作業が楽になり効率化を図ることが可能。
■AWS KMSを利用する利点
AWSのサービス全体でデータを保護する必要がある場合は、AWS KMSでデータへのアクセスをコントロールする暗号化キーを一元管理することができます。さらに、アプリケーション内のデータを暗号化する必要がある場合は、AWS Encryption SDKの利用が推奨されています。これにより、コード内の対称暗号化キーを簡単に生成、使用、保護できます。非対称キーを使用してデータのデジタル署名または検証を行う必要がある場合は、必要なプライベートキーを作成および管理できます。開発者と増え続けるアプリケーションをサポートするためにスケーラブルなキー管理インフラストラクチャを必要としている場合は、ライセンスコストと運用の負担を軽減できます。規制やコンプライアンスに準拠するためにデータセキュリティを提供する必要がある場合は、データが一貫して保護されていることを容易に証明できます。また、AWS KMSは広範囲にわたる業種および地域的なコンプライアンス体制にも対応しています。
AWS Encryption SDK:ベストプラクティスに基づいて簡単にデータの暗号化・復号を行えるコマンドラインツール。セキュアなアルゴリズムの組み合わせをサポートし、マスターキーのタイプやアルゴリズムの制限が無い、慎重にデザインされレビューされた データフォーマットを採用。
■AWS KMSのキー管理機能
AWS KMSは、データを暗号化する 他のほとんどのAWSのサービスと統合されています。AWS KMSは、AWS CloudTrailとも統合されており、監査、規制、コンプライアンスのニーズに応じてキーの使用をログに記録し、自分のキーを作成して管理することができます。
- 以下のキー管理機能を実行できます。
- ・対称キーと非対称キーの作成、編集、表示
- ・キーを有効および無効にする
- ・キーのキーポリシーと許可の作成、編集、表示
- ・キーの暗号化マテリアルの自動ローテーションを有効および無効にする
- ・識別、自動化、コスト追跡のためのキーへのタグ付け
- ・キーのフレンドリ名であるエイリアスを作成、削除、一覧表示、および更新する
- ・キーを削除してキーのライフサイクルを完了する
■AWS KMSの暗号化機能を使って、Amazon RDSのデータを保護
あらゆる業界の組織にとって、データのプライバシーは不可欠です。暗号化サービスは、不正アクセスからデータを保護する標準的な方法の1つです。暗号化では正しい復号化キーがないと、データが読み取れないようにデータを変更します。
Amazon RDSはAWSが所有するキーを使用して、デフォルトでデータを暗号化します。デフォルト以外のキーを使用してデータを暗号化することを希望する利用者もいます。そのため、デフォルト以外のキーを使用する場合、堅牢なキーの作成、管理、削除のツールとプロセスがデータセキュリティに不可欠です。こうしたツールとプロセスは、キーの有効期限がデータの可用性に影響することを防ぐのにも役立ちます。
- キーのアクセス許可は、IAMと完全に統合しています。そして、すべてのKMS API呼び出しはAWS CloudTrailへの書き込みを行い、キーの作成、使用、削除の完全な監査証跡を実施しています。
- RDSはすべてのキータイプをサポートしていますが、主にKMSで使用されているのは以下の3 つキータイプがあります。
- ・AWS所有型キー:AWSアカウントの外部に存在し、AWSが所有および管理
- ・AWS管理型キー:AWS管理型のキーを作成して全面的に管理
- ・カスタマー管理型キー:利用者が作成、所有、管理
- サポートされている 3つのオプションのいずれかでキーを作成したら、そのキーを使用して署名、検証、暗号化、または復号するデータをAWS KMSに直接送信できます。これらのキーについて、どのユーザーがどのような条件でどのアクションを実行できるかを定義する使用ポリシーを設定できます。
- RDSコンソール画面にて、データベースクラスターを作成ができます。追加の設定セクションで作成したKMSキーを選択し設定が可能です。データベースを暗号化するには、データベースクラスターの作成中にKMSキーを識別する必要があります。このキーはRDSが使用するボリュームに保存されているすべてのデータを暗号化します。暗号化されたデータはKMSキーのアクセス許可がないとアクセスできません。そのアクセス許可がなければ、RDSスナップショットを復元したり、停止したRDSインスタンスを開始しようとしても実行不可となります。
- 暗号化したRDSインスタンスから作成したすべてのデータベーススナップショットは、暗号化を保持し、同じKMSキーで共有します。データベーススナップショットの暗号化に使用するKMSキーにアクセスできる場合にのみ、こうしたスナップショットから新しいデータベースを構築できます。
- RDSスナップショットを作成するには、データベースクラスターインスタンスを選択し、「Actions」、「Take snapshot」の順にクリックし選択します。
- RDSスナップショットを作成したら次の手順に従い、暗号化したRDSスナップショットを他のAWSリージョンにコピーできます。KMSキーはリージョンを構成しているため、スナップショットを別のリージョンにコピーするには、まずコピー先リージョンでKMSキーを作成する必要があります。この新しいキーを使用して、コピー先リージョンのスナップショットを暗号化します。
- 1、まず、目的のリージョンを選択し、そのリージョンにキーを作成します。新しく作成したキーのkey-id値とkey-alias値を記録します。
- 2、現在のRDSスナップショットが存在するリージョンで、RDSコンソールを開きます。
- 3、「Snapshots」 をクリックし、コピーするRDSスナップショットを選択します。「Action」、「Copy Snapshot」の順にクリックします。
- 4、コピー先リージョンを選択し、スナップショットに分かりやすい識別子を付けます。タグ付け戦略に合わせてタグをコピーします。
- 5、「Encryption」 の下で、コピー先リージョンの新しいキーを選択し、「Copy Snapshot」をクリックします。
【AWS KMSのキータイプと管理】
【暗号化した RDS データベースクラスターの作成】
【暗号化したデータベーススナップショット】
【RDSスナップショットの作成】
【暗号化したRDSスナップショットを別のAWSリージョンにコピー】
押さえておきたいポイント
| 項目 | AWS | Microsoft Azure | Google Cloud |
|---|---|---|---|
| 世界シェア | 約33%(首位) | 約22% | 約11% |
| 強み | サービス数・実績 | Microsoft製品連携 | データ分析・AI |
| 無料枠 | 12ヶ月+常時無料 | 12ヶ月無料 | 常時無料枠あり |
| 主な資格 | CLF / SAA / SAP | AZ-900 / AZ-104 | ACE / PCA |
- AWS KMSの暗号化キーは、従来「カスタマーマスターキー(CMK)」と呼ばれていましたが、現在は「KMSキー」という名称に統一されています。ドキュメントやコンソール表示を確認する際は最新の用語で検索しましょう。
- Amazon RDSのデータ暗号化はデータベースクラスター作成時にKMSキーを指定する必要があり、作成後の暗号化ON/OFF切り替えはできません。暗号化の要否は設計段階で決めておくことが重要です。
- 暗号化したRDSスナップショットを別リージョンにコピーする場合は、コピー先リージョンにも別途KMSキーを作成する必要がある点に注意が必要です。
よくある質問
Q. AWS KMSを使わずにAmazon RDSを暗号化することはできますか?
A. 何も指定しない場合でも、AWSが所有するデフォルトのキーによって暗号化される設定にできますが、暗号化そのものを行わない選択も可能です。ただし、セキュリティ・コンプライアンス要件がある場合は、カスタマー管理型のKMSキーを指定して暗号化することが推奨されます。なお、既存の未暗号化のRDSインスタンスを後から直接暗号化することはできず、暗号化済みのスナップショットから復元する形で対応する必要があります。
Q. KMSキーの利用には別途費用がかかりますか?
A. AWS KMSはキーの保管・利用ごとに料金が発生する従量課金サービスです。具体的な料金体系は改定される可能性があるため、最新料金はAWS公式サイトでご確認ください。
Q. カスタマー管理型キーとAWS管理型キーはどちらを使うべきですか?
A. きめ細かなアクセス制御やキーローテーションのタイミング管理、他リージョンへのコピー等、運用の自由度を重視する場合はカスタマー管理型キーが適しています。特別な要件がなく手軽に暗号化したい場合はAWS管理型キーやAWS所有型キーでも要件を満たせることが多いため、自社のセキュリティポリシーに照らして選択してください。
■まとめ
ここではKMSとRDSについてご紹介しました。データベースも、そのデータ内の暗号化やセキュリティも、システムを成り立たせるには不可欠な要素のひとつです。利用環境や用途においても複数選択ができるため、この機会にRDSとKMSを利用して、快適な環境構築をしていきましょう。
▼ アクロビジョンについて


