S3
作成後にS3バケットやオブジェクトを暗号化する場合、既存オブジェクトを対象に暗号化を適用する必要があります。
手順
①デフォルト暗号化の有効化(新規アップロード分に適用):
S3バケットのプロパティから「デフォルトの暗号化」を設定。
AWS KMSキーまたはS3管理キー(SSE-S3)を選択。
②既存オブジェクトの暗号化変更:
AWS S3 コンソール、AWS CLI、またはAWS SDKを使用して既存オブジェクトをコピーし直す。
注意点:
・データをコピーし直すため、時間とコストがかかる可能性あり。
・デフォルト暗号化を設定して、も既存オブジェクトには影響しない
EBS
EBSボリュームの暗号化は作成時のみ可能で、既存ボリュームの暗号化は直接変更できません。
既存の非暗号化ボリュームを暗号化するには、スナップショットを使用します。
手順
①スナップショット作成:
管理コンソールやCLIで非暗号化のボリュームからスナップショットを作成。
②暗号化スナップショットの作成:
非暗号化スナップショットをコピーして暗号化。
③暗号化ボリュームの作成:
暗号化されたスナップショットから新しいEBSボリュームを作成。
④インスタンスへのアタッチ:
新しい暗号化ボリュームをインスタンスにマウント。
注意点:
・オペレーション中にダウンタイムが発生する可能性あり。
・データ転送によるコストが発生する可能性あり。
EFS
ファイルシステム自体の暗号化は作成時のみ設定可能です。
ただし、非暗号化EFSから暗号化EFSにデータを移行することは可能です。
手順
①新しい暗号化ファイルシステムの作成:
管理コンソールやCLIで暗号化を有効にして新規ファイルシステムを作成。
②データの移行:
AWS DataSync、rsync、またはNFSプロトコルを使用してデータを非暗号化ファイルシステムから新しい暗号化ファイルシステムにコピー。
注意点:
・データ転送速度や容量により、時間がかかる可能性あり。
・コピー作業中に一時的なアクセス制限や負荷が発生する可能性あり。
RDS
暗号化はDBインスタンス作成時のみ設定可能です。
ただし、既存の非暗号化DBを暗号化するには、スナップショットを利用して新しい暗号化DBを作成する必要があります。
手順
①スナップショット作成:
現在のDBインスタンスのスナップショットを作成。
②暗号化されたスナップショットのコピー:
作成したスナップショットをコピーし、暗号化を有効にする。
③暗号化されたスナップショットから新しいDBインスタンスを作成:
暗号化済みスナップショットからDBインスタンスを作成。
④切り替え:
新しいDBインスタンスにアプリケーションを接続。
注意点:
・作業中にダウンタイムが発生する可能性あり。
・データベースのサイズに応じて、スナップショットの作成と復元に時間がかかります。
DynamoDB
データの暗号化はサーバーサイドで管理されており、デフォルトで有効です。
ただし、特定のKMSキーを後から使用したい場合、テーブルの再作成とデータ移行が必要です。
手順
①新しいテーブルの作成:
特定のKMSキーを指定して新しいテーブルを作成。
②データの移行:
AWS Data Pipeline、AWS Glue、または手動スクリプトを使用してデータをコピー。
③切り替え:
アプリケーションを新しいテーブルに接続。
注意点:
・データ移行中に読み書き負荷が増加する可能性あり。
・DynamoDBはデフォルトで暗号化されているため、一般的な暗号化移行のケースは少ないです。
Redshift
クラスターの暗号化は作成時にのみ有効にできます。
非暗号化クラスターを暗号化するには、新しいクラスターを作成し、データを移行する必要があります。
手順
①新しい暗号化クラスターの作成:
AWS Management ConsoleまたはCLIでKMSキーを指定して新しいクラスターを作成。
②データの移行:
非暗号化クラスターから暗号化クラスターにデータを移行。
RedshiftのUNLOADおよびCOPYコマンドを使用。
③切り替え:
アプリケーションを新しいクラスターに接続。
注意点:
・データ移行にはS3を経由するため、ネットワーク帯域や時間が必要です。
・作業中にダウンタイムが発生する可能性あり。