転送中の暗号化について - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

転送中の暗号化について

Apache Spark、Apache HivePresto などのオープンソースフレームワークを実行するように EMRクラスターを設定できます。これらのオープンソースフレームワークには、クラスターのEC2インスタンスで実行される一連のプロセスがあります。これらのプロセスはそれぞれ、ネットワーク通信用のネットワークエンドポイントをホストできます。

EMR クラスターで転送時の暗号化が有効になっている場合、ネットワークエンドポイントごとに異なる暗号化メカニズムが使用されます。転送時の暗号化でサポートされている特定のオープンソースフレームワークネットワークエンドポイント、関連する暗号化メカニズム、およびサポートを追加した Amazon EMRリリースの詳細については、以下のセクションを参照してください。各オープンソースアプリケーションには、変更できるさまざまなベストプラクティスとオープンソースフレームワーク設定がある場合もあります。

ほとんどの転送中の暗号化範囲では、転送中の暗号化と Kerberos の両方を有効にすることをお勧めします。転送時の暗号化のみを有効にすると、転送時の暗号化は をサポートするネットワークエンドポイントでのみ使用できますTLS。一部のオープンソースフレームワークのネットワークエンドポイントでは、転送中の暗号化に Simple Authentication and Security Layer (SASL) を使用するため、Kerberos が必要です。

Amazon 7.x.x EMR リリースでサポートされていないオープンソースフレームワークは含まれません。

Spark

セキュリティ設定で転送時の暗号化を有効にするtrueと、 spark.authenticate は自動的に に設定され、RPC接続に AESベースの暗号化を使用します。

Amazon 7EMR.3.0 以降では、転送時の暗号化と Kerberos 認証を使用する場合、Hive メタストアに依存する Spark アプリケーションは使用できません。Hive 3 では、この問題が HIVE-16340 で修正されています。オープンソースの Spark が Hive 3 にアップグレードできる場合、-HIVE44114 ではこの問題が完全に解決されます。その間、hive.metastore.use.SSLfalse に設定することで、この問題を回避できます。詳細については、「アプリケーションの設定」を参照してください。

詳細については、Apache Spark ドキュメントの「Spark security」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

Spark History Server

spark.ssl.history.port

18480

TLS

emr-5.3.0+、emr-6.0.0+、emr-7.0.0+

Spark UI

spark.ui.port

4440

TLS

emr-5.3.0+、emr-6.0.0+、emr-7.0.0+

Spark ドライバー

spark.driver.port

動的

Spark AESベースの暗号化

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

Spark Executor

Executor ポート (名前なし構成)

動的

Spark AESベースの暗号化

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

YARN NodeManager

spark.shuffle.service.port1

7337

Spark AESベースの暗号化

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

1spark.shuffle.service.port は でホストされますYARN NodeManager が、Apache Spark でのみ使用されます。

Hadoop YARN

Secure Hadoop RPCは に設定privacyされ、 SASLベースの転送時の暗号化を使用します。これには、セキュリティ設定で Kerberos 認証が有効になっている必要があります。Hadoop の転送時の暗号化を希望しない場合はRPC、 を設定しますhadoop.rpc.protection = authentication。セキュリティを最大化するには、デフォルト設定を使用することをお勧めします。

TLS 証明書がTLSホスト名の検証要件を満たさない場合は、 を設定できますhadoop.ssl.hostname.verifier = ALLOW_ALL。TLS ホスト名の検証を強制hadoop.ssl.hostname.verifier = DEFAULTする のデフォルト設定を使用することをお勧めします。

YARN ウェブアプリケーションエンドポイントHTTPSの を無効にするには、 を設定しますyarn.http.policy = HTTP_ONLY。これにより、これらのエンドポイントへのトラフィックが暗号化されないままになります。セキュリティを最大化するには、デフォルト設定を使用することをお勧めします。

詳細については、Apache Hadoop ドキュメントの「Hadoop in secure mode」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

ResourceManager

yarn.resourcemanager.webapp.address

8088

TLS

emr-7.3.0+

ResourceManager

yarn.resourcemanager.resource-tracker.address

8025

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

ResourceManager

yarn.resourcemanager.scheduler.address

8030

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

ResourceManager

yarn.resourcemanager.address

8032

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

ResourceManager

yarn.resourcemanager.admin.address

8033

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

TimelineServer

yarn.timeline-service.address

10200

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

TimelineServer

yarn.timeline-service.webapp.address

8188

TLS

emr-7.3.0+

WebApplicationProxy

yarn.web-proxy.address

20888

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

NodeManager

yarn.nodemanager.address

8041

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

NodeManager

yarn.nodemanager.localizer.address

8040

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

NodeManager

yarn.nodemanager.webapp.address

8044

TLS

emr-7.3.0+

NodeManager

mapreduce.shuffle.port1

13562

TLS

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

NodeManager

spark.shuffle.service.port2

7337

Spark AESベースの暗号化

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

1 mapreduce.shuffle.portは でホストされますYARN NodeManager が、Hadoop でのみ使用されます MapReduce。

2 spark.shuffle.service.portは でホストされますYARN NodeManager が、Apache Spark でのみ使用されます。

Hadoop HDFS

Hadoop ネームノード、データノード、ジャーナルノードはすべて、EMRクラスターで転送時の暗号化が有効になっている場合、TLSデフォルトで をサポートします。

Secure Hadoop RPCは に設定privacyされ、 SASLベースの転送時の暗号化を使用します。これには、セキュリティ設定で Kerberos 認証が有効になっている必要があります。

HTTPS エンドポイントに使用されるデフォルトのポートは変更しないことをお勧めします。

HDFS ブロック転送時のデータ暗号化は 256 を使用し、セキュリティ設定で保管時の暗号化を有効にする必要があります。 AES

詳細については、Apache Hadoop ドキュメントの「Hadoop in secure mode」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

Namenode

dfs.namenode.https-address

9871

TLS

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

Namenode

dfs.namenode.rpc-address

8020

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

Datanode

dfs.datanode.https.address

9865

TLS

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

Datanode

dfs.datanode.address

9866

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

Journal Node

dfs.journalnode.https-address

8481

TLS

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

Journal Node

dfs.journalnode.rpc-address

8485

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

DFSZKFailoverController

dfs.ha.zkfc.port

8019

[なし]

TLS for ZKFCは Hadoop 3.4.0 でのみサポートされています。詳細については、HADOOP「-18919」を参照してください。Amazon EMRリリース 7.1.0 は現在 Hadoop 3.3.6 にあります。Amazon の上位EMRリリースは、今後 Hadoop 3.4.0 でリリースされる予定です。

Hadoop MapReduce

EMR クラスターで転送時の暗号化が有効になっている場合 MapReduce、Hadoop、ジョブ履歴サーバー、 MapReduce シャッフルはすべてTLSデフォルトでサポートされます。

Hadoop MapReduce 暗号化シャッフルは を使用しますTLS。

HTTPS エンドポイントのデフォルトポートは変更しないことをお勧めします。

詳細については、Apache Hadoop ドキュメントの「Hadoop in secure mode」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

JobHistoryServer

mapreduce.jobhistory.webapp.https.address

19890

TLS

emr-7.3.0+

YARN NodeManager

mapreduce.shuffle.port1

13562

TLS

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

1 mapreduce.shuffle.portは でホストされますYARN NodeManager が、Hadoop でのみ使用されます MapReduce。

Presto

Amazon EMRリリース 5.6.0 以降では、Presto コーディネーターとワーカー間の内部通信は、Presto で安全な内部通信を可能にするために必要なすべての設定を TLS Amazon EMRが設定します。

コネクタがメタデータストアとして Hive メタストアを使用する場合、コミュニケーターと Hive メタストア間の通信も で暗号化されますTLS。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

Presto コーディネーター

http-server.https.port

8446

TLS

emr-5.6.0+、emr-6.0.0+、emr-7.0.0+

Presto ワーカー

http-server.https.port

8446

TLS

emr-5.6.0+、emr-6.0.0+、emr-7.0.0+

Trino

Amazon EMRリリース 6.1.0 以降では、Presto コーディネーターとワーカー間の内部通信はTLS、Amazon が Trino で安全な内部通信を可能にするために必要なすべての設定EMRを使用します。

コネクタがメタデータストアとして Hive メタストアを使用する場合、コミュニケーターと Hive メタストア間の通信も で暗号化されますTLS。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

Trino コーディネーター

http-server.https.port

8446

TLS

emr-6.1.0+、emr-7.0.0+

Trino ワーカー

http-server.https.port

8446

TLS

emr-6.1.0+、emr-7.0.0+

Hive と Tez

デフォルトでは、Hive サーバー 2、Hive メタストアサーバー、Hive LLAP デーモンウェブ UI、および Hive LLAP シャッフルは、EMRクラスターで転送時の暗号化が有効になっていTLSる場合、すべてサポートします。Hive の設定の詳細については、「Configuration properties」を参照してください。

Tomcat サーバーでホストされている Tez UI は、EMRクラスターで転送中の暗号化が有効になっている場合にも HTTPSが有効になります。ただし、 HTTPSは Tez AM ウェブ UI サービスでは無効になっているため、AM ユーザーはオープニングSSLリスナーのキーストアファイルにアクセスできません。この動作は、ブール値設定 tez.am.tez-ui.webservice.enable.ssltez.am.tez-ui.webservice.enable.client.auth で有効にすることもできます。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

HiveServer2

hive.server2.thrift.port

10000

TLS

emr-6.9.0+、emr-7.0.0+

HiveServer2

hive.server2.thrift.http.port

10001

TLS

emr-6.9.0+、emr-7.0.0+

HiveServer2

hive.server2.webui.port

10002

TLS

emr-7.3.0+

HiveMetastoreServer

hive.metastore.port

9083

TLS

emr-7.3.0+

LLAP デーモン

hive.llap.daemon.yarn.shuffle.port

15551

TLS

emr-7.3.0+

LLAP デーモン

hive.llap.daemon.web.port

15002

TLS

emr-7.3.0+

LLAP デーモン

hive.llap.daemon.output.service.port

15003

[なし]

Hive はこのエンドポイントの転送中の暗号化をサポートしていません

LLAP デーモン

hive.llap.management.rpc.port

15004

[なし]

Hive はこのエンドポイントの転送中の暗号化をサポートしていません

LLAP デーモン

hive.llap.plugin.rpc.port

動的

[なし]

Hive はこのエンドポイントの転送中の暗号化をサポートしていません

LLAP デーモン

hive.llap.daemon.rpc.port

動的

[なし]

Hive はこのエンドポイントの転送中の暗号化をサポートしていません

WebHCat

templeton.port

50111

TLS

emr-7.3.0+

Tez Application Master

tez.am.client.am.port-range

tez.am.task.am.port-range

動的

[なし]

Tez はこのエンドポイントの転送中の暗号化をサポートしていません

Tez Application Master

tez.am.tez-ui.webservice.port-range

動的

[なし]

デフォルトでは無効になっています。emr-7.3.0+ の Tez 設定を使用して有効にできます

Tez Task

該当なし - 設定不可

動的

[なし]

Tez はこのエンドポイントの転送中の暗号化をサポートしていません

Tez UI

Tez UI がホストされている Tomcat サーバー経由で設定できます

8080

TLS

emr-7.3.0+

EMR クラスターで転送時の暗号化を有効にすると、Apache Flink RESTエンドポイントと flink プロセス間の内部通信がTLSデフォルトでサポートされます。

security.ssl.internal.enabledtrue に設定され、Flink プロセス間の内部通信に転送中の暗号化を使用します。内部通信の転送中の暗号化を希望しない場合は、その設定を無効にします。セキュリティを最大化するには、デフォルト設定を使用することをお勧めします。

Amazon EMR は security.ssl.rest.enabled を に設定trueし、RESTエンドポイントの転送中の暗号化を使用します。さらに、Amazon EMRは を true historyserver.web.ssl.enabledに設定して、Flink 履歴サーバーとのTLS通信を使用します。REST ポイントの転送時の暗号化を希望しない場合は、これらの設定を無効にします。セキュリティを最大化するには、デフォルト設定を使用することをお勧めします。

Amazon EMRは を使用しますsecurity.ssl.algorithms。 AESベースの暗号化を使用する暗号のリストを指定します。この設定を上書きして、必要な暗号を使用します。

詳細については、Flink ドキュメントのSSL「セットアップ」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

Flink History Server

historyserver.web.port

8082

TLS

emr-7.3.0+

Job Manager Rest Server

rest.bind-port

rest.port

動的

TLS

emr-7.3.0+

HBase

Amazon EMRは Secure Hadoop を に設定しますprivacy。 HMasterおよび は SASLベースの転送時の暗号化 RegionServer を使用します。 RPCこれには、セキュリティ設定で Kerberos 認証が有効になっている必要があります。

Amazon EMR は hbase.ssl.enabledを true に設定し、UI エンドポイントTLSに を使用します。UI エンドポイントTLSに を使用しない場合は、この設定を無効にします。セキュリティを最大化するには、デフォルト設定を使用することをお勧めします。

Amazon EMR はhbase.rest.ssl.enabledhbase.thrift.ssl.enabledおよび Thirft サーバーエンドポイントTLSにそれぞれ RESTと を設定します。TLS これらのエンドポイントに を使用しない場合は、この設定を無効にします。セキュリティを最大化するには、デフォルト設定を使用することをお勧めします。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

HMaster

HMaster

16000

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

HMaster

HMaster UI

16010

TLS

emr-7.3.0+

RegionServer

RegionServer

16020

SASL + Kerberos

emr-4.8.0+、emr-5.0.0+、emr-6.0.0+、emr-7.0.0+

RegionServer

RegionServer 情報

16030

TLS

emr-7.3.0+

HBase Rest サーバー

Rest Server

8070

TLS

emr-7.3.0+

HBase Rest サーバー

REST UI

8085

TLS

emr-7.3.0+

Hbase Thrift Server

Thrift Server

9090

TLS

emr-7.3.0+

Hbase Thrift Server

Thrift Server UI

9095

TLS

emr-7.3.0+

フェニックス

EMR クラスターで転送時の暗号化を有効にした場合、Phoenix クエリサーバーは phoenix.queryserver.tls.enabledTLSプロパティをサポートします。これはtrueデフォルトで に設定されています。

詳細については、Phoenix クエリサーバードキュメントの「 に関連する設定HTTPS」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

Query Server

phoenix.queryserver.http.port

8765

TLS

emr-7.3.0+

Oozie

OOZIE-3673 は、Amazon 7.3.0 以降で Oozie を実行するEMR場合、Amazon EMR で使用できます。E メールアクションを実行するときにカスタム SSLまたは TLSプロトコルを設定する必要がある場合は、 oozie-site.xml ファイルoozie.email.smtp.ssl.protocolsで プロパティを設定できます。デフォルトでは、転送時の暗号化を有効にした場合、Amazon は TLS v1.3 プロトコルEMRを使用します。

Amazon OOZIE7.3.0 以降で Oozie を実行EMRしている場合、Amazon では OOZIE-3677 および -3674 も利用できます。 EMRこれにより、 trustStoreTypeでプロパティ keyStoreTypeと を指定できますoozie-site.xml。OOZIE-3674 は パラメータ--insecureを Oozie クライアントに追加し、証明書エラーを無視できるようにします。

Oozie はTLSホスト名の検証を適用します。つまり、転送中の暗号化に使用する証明書はホスト名の検証要件を満たしている必要があります。証明書が基準を満たしていない場合、Amazon がクラスターをEMRプロビジョニングすると、クラスターがoozie share lib updateステージで停止する可能性があります。証明書を更新して、ホスト名の検証に準拠していることを確認することをお勧めします。ただし、証明書を更新できない場合は、クラスター設定falseoozie.https.enabledプロパティを に設定することで、Oozie SSLの を無効にすることができます。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

EmbeddedOozieServer

oozie.https.port

11443

TLS

emr-7.3.0+

EmbeddedOozieServer

oozie.email.smtp.port

25

TLS

emr-7.3.0+

Hue

デフォルトでは、Hue は Amazon EMRクラスターで転送時の暗号化が有効になっていTLSる場合をサポートします。Hue 設定の詳細については、「/ で Hue HTTPS を設定するSSL」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

Hue

http_port

8888

TLS

emr-7.4.0+

Livy

デフォルトでは、Livy は Amazon EMRクラスターで転送時の暗号化が有効になっていTLSる場合をサポートします。Livy 設定の詳細については、「Apache Livy HTTPSでの有効化」を参照してください。

Amazon 7EMR.3.0 以降では、転送時の暗号化と Kerberos 認証を使用する場合、Hive メタストアに依存する Spark アプリケーションに Livy サーバーを使用することはできません。この問題は HIVE-16340 で修正され、オープンソースの Spark アプリケーションが Hive 3 にアップグレードできるときに SPARK-44114 で完全に解決されます。その間、 hive.metastore.use.SSLを に設定した場合、この問題を回避できますfalse。詳細については、「アプリケーションの設定」を参照してください。

詳細については、「Apache Livy HTTPSで を有効にする」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

livy-server

livy.server.port

8998

TLS

emr-7.4.0+

JupyterEnterpriseGateway

デフォルトでは、Jupyter Enterprise Gateway は Amazon EMRクラスターで転送時の暗号化が有効になっていTLSる場合をサポートします。Jupyter Enterprise Gateway の設定の詳細については、「Enterprise Gateway Server の保護」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

jupyter_enterprise_gateway

c.EnterpriseGatewayApp.port

9547

TLS

emr-7.4.0+

JupyterHub

デフォルトでは、 は Amazon EMRクラスターで転送時の暗号化が有効になっていTLSる場合 JupyterHub をサポートします。詳細については、 ドキュメントのSSL「暗号化の有効化 JupyterHub 」を参照してください。暗号化を無効にすることはお勧めしません。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

jupyter_hub

c.JupyterHub.port

9443

TLS

emr-5.14.0+、emr-6.0.0+、emr-7.0.0+

Zeppelin

デフォルトでは、Zeppelin はEMRクラスターで転送時の暗号化を有効にするTLSと をサポートします。Zeppelin の設定の詳細については、Zeppelin ドキュメントのSSL「設定」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

zeppelin

zeppelin.server.ssl.port

8890

TLS

7.3.0 以降

Zookeeper

Amazon EMR は serverCnxnFactoryを に設定org.apache.zookeeper.server.NettyServerCnxnFactoryして、Zookeeper のクォーラムとクライアント通信TLSを有効にします。

secureClientPort は、TLS接続をリッスンするポートを指定します。クライアントが Zookeeper TLSへの接続をサポートしていない場合、クライアントは で指定された安全でないポート 2181 に接続できますclientPort。これらの 2 つのポートは上書きまたは無効化できます。

Amazon EMRは sslQuorumと の両方を admin.forceHttps に設定trueして、クォーラムサーバーと管理サーバーのTLS通信を有効にします。クォーラムと管理サーバーの転送時の暗号化を希望しない場合は、これらの設定を無効にすることができます。セキュリティを最大限に高めるには、デフォルト設定を使用することをお勧めします。

詳細については、Zookeeper ドキュメントの「暗号化、認証、認可オプション」を参照してください。

コンポーネント エンドポイント ポート 転送中の暗号化メカニズム リリースからサポート

Zookeeper サーバー

secureClientPort

2281

TLS

emr-7.4.0+

Zookeeper サーバー

クォーラムポート

2 つあります。

フォロワーは 2888 を使用してリーダーに接続します。

リーダーの選択で 3888 を使用する

TLS

emr-7.4.0+

Zookeeper サーバー

管理者。serverPort

8341

TLS

emr-7.4.0+