エコシステムを用いて、センシティブであったり、きわめて秘匿性が高かったりするデータを扱う、重要なワークロードを走らせるケースが非常に増えてきています。したワークロードの特性により、エンタープライズ企業ではしっかりした組織/業界全体のポリシーや、規制、コンプライアンスのルールを定めています。それに基づいて、機密データの保護や、権限のない人がアクセスできないようにすることが求められています。したポリシーにおいては一般的に、データストアに保存されているとき、そしてデータを転送しているときの両方で暗号化が要求されます。お客様自身が用意した暗号化要素まで、さまざまな暗号化キーや証明書を指定することができます。暗号化設定についてのセキュリティ設定を作り、クラスター作成の際に、その設定を当てることができます。セキィリティ設定を一度作っておくことで、いくつものクラスターにその設定を簡単に適用可能です。この投稿ではEMRのセキュリティ設定による、複数段階のデータ暗号化のセットアッププロセスを概観します。暗号化について深く見ていく前に、データ暗号化が必要な状況を整理しましょう。暗号化の手順この投稿のために、転送中、保存時の暗号化に使うためのセキュリティ設定を作りましょう。クラスタが立ち上げられる環境。レポジトリから取得できます。マスターキーを生成します。暗号化のキーとして使用します。ワークロードの中でメモリから溢れた中間データを一時的に保存する先として、各スレーブインスタンスのローカルファイルシステムを使用します。スクリプトを使用します。エイリアス名またはディスプレイ名を指定します。形式で、エイリアス名はアルファベット、アンダースコア、ダッシュのみで構成される必要があります。シャッフル中にデータがノード間を転送されるときに、データの暗号化が行われます。自己署名証明書を作成します。クラスタのインスタンスにアクセスします。画面に従って、証明書発行に必要な情報を入力します。プレフィックスをメモしておきます。プレフィックスを使用します。自己署名証明書を使うことは推奨されませんし、潜在的なセキュリティリスクを孕みます。実運用システムでは、信頼できる認証局が発行した証明書を使ってください。プロバイダインタフェースを使用してください。クラスタをプライベートサブネットに構築します。あり、パブリックサブネットにクラスターを立てたい場合には、このセクションを飛ばして、セキュリティ設定の作成のセクションに進んでください。クラスターをプライベートサブネット内に立てるためには、以下のリソースが必要です。入るための踏み台サーバかジャンプサーバが必要になります。データキーを取得するためにインターネットに接続する必要があります。ゲートウェイ経由でトラフィックの経路を制御します。エンドポイントを使用します。テンプレートを使って、環境構築用の新しいスタックを作成します。キーペアを入力します。適切なスタック名とタグを指定します。私の作成したスタックのレビューステップのスクリーンショットは、以下の通りになります。VPC、踏み台サーバ、プライベートサブネットのIDをメモしておきます。クラスタを立ち上げる際に使用します。クラスタを立ち上げる前の最終ステップは、セキュリティ設定の構成です。暗号化について、セキュリティ設定を作成します。クラスタを立ち上げることができるようになりました。割り当てられていることを確認します。詳しくはIAMロールを使用したユーザーアクセス権限の設定を参照してください。クラスタを立ち上げます。フィールドで、それらの値を選択してください。続いてクラスタの名前とタグを入力します。最後のステップはプライベートキーの選択です。ここでは、セキュリティ設定の作成セクションで作っておいたセキュリティ設定を適用します。これで作成した環境の上で、クラスタが立ち上がりました。続いてマスターノードに入ってスクリプトを実行します。アドレスを取得します。アドレスをメモします。入り、そこからさらにマスターノードに接続します。ファイルをみてください。エントリーを参照してください。スクリプトを実行します。スクリプトが含まれています。まとめこの投稿の中で、データの暗号化が必要な複数のパターンについて述べ、各パターンでどうやって暗号化するかについての手順を説明しました。クラスタの立ち上げについて、順を追って解説しました。クラスターにアクセスするために踏み台サーバを活用することができました。疑問や助言があれば、ぜひおしらせください。(翻訳はSA志村が担当しました。機会均等法を順守しています。平等に採用しています。