本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
開啟MSK叢集的公有存取權
Amazon MSK可讓您選擇開啟對執行 Apache Kafka 2.6.0 或更新版本之MSK叢集代理程式的公開存取。基於安全考量,您無法在建立MSK叢集時開啟公有存取。但是,您可以更新現有叢集使其可公開存取。您也可以建立新叢集,然後對其進行更新,使其可公開存取。
您可以開啟MSK叢集的公有存取,無需額外費用,但標準 AWS 資料傳輸成本適用於叢集內外的資料傳輸。如需定價的相關資訊,請參閱 Amazon EC2 隨需定價。
若要開啟對叢集的公開存取,請先確保該叢集符合下列所有條件:
與叢集相關聯的子網路必須是公開的。這表示子網路必須具有相關聯的路由表,並連接網際網路閘道。如需有關如何建立和連接網際網路閘道的資訊,請參閱 Amazon VPC使用者指南中的網際網路閘道。
未驗證的存取控制必須關閉,且至少必須開啟下列其中一種存取控制方法:SASL/IAM, SASL/SCRAM,m TLS。如需有關如何更新叢集存取控制方法的詳細資訊,請參閱更新 Amazon MSK叢集的安全設定。
-
必須開啟叢集內的加密。建立叢集時,預設為「開啟」。對於建立時已關閉的叢集,無法開啟叢集內加密功能。因此,對於在叢集內加密關閉的情況下建立的叢集,無法開啟公開存取。
-
代理程式和用戶端之間的純文字流量必須關閉。如需有關如何在此項開啟時將其關閉的詳細資訊,請參閱更新 Amazon MSK叢集的安全設定。
-
如果您使用 SASL/SCRAM 或 mTLS 存取控制方法,則必須ACLs為叢集設定 Apache Kafka。ACLs 為叢集設定 Apache Kafka 之後,請更新叢集的組態,讓叢集的 屬性
allow.everyone.if.no.acl.found
為 false。如需有關更新叢集組態的資訊,請參閱Amazon MSK組態操作。如果您使用IAM存取控制,並想要套用授權政策或更新您的授權政策,請參閱 IAM 存取控制。如需 Apache Kafka 的相關資訊ACLs,請參閱 Apache Kafka ACLs。
確保MSK叢集符合上述條件後,您可以使用 AWS CLI、 AWS Management Console或 Amazon MSKAPI來開啟公有存取。開啟對叢集的公開存取後,您可以為其取得公用引導代理程式字串。如需有關取得叢集引導代理程式的詳細資訊,請參閱取得 Amazon MSK叢集的引導代理程式。
重要
除了開啟公有存取之外,請確保叢集的安全群組具有允許從您的 IP 地址公開存取的傳入TCP規則。建議您盡可能嚴格設定這些規則。如需有關安全群組和傳入規則的資訊,請參閱 Amazon VPC使用者指南中的 的安全群組VPC。如需連接埠號碼,請參閱連接埠資訊。如需有關變更叢集安全群組的說明,請參閱變更 Amazon MSK叢集的安全群組。
注意
如果您使用下列指示開啟公開存取,但仍無法存取該叢集,請參閱無法存取已開啟公開存取的叢集。
使用主控台開啟公開存取
登入 AWS Management Console,並在 https://console.aws.amazon.com/msk/home?region=us-east-1#/home/
開啟 Amazon MSK主控台。 在叢集清單中,選擇您要開啟公開存取的叢集。
-
選擇屬性索引標籤,然後尋找網路設定區段。
-
選擇編輯公開存取。
使用 開啟公有存取 AWS CLI
執行下列 AWS CLI 命令,取代
ClusterArn
以及Current-Cluster-Version
使用 ARN和目前版本的叢集。若要尋找叢集的目前版本,請使用 DescribeCluster操作或 describe-clusterAWS CLI 命令。範例版本為 KTVPDKIKX0DER
。aws kafka update-connectivity --cluster-arn
ClusterArn
--current-versionCurrent-Cluster-Version
--connectivity-info '{"PublicAccess": {"Type": "SERVICE_PROVIDED_EIPS"}}'此
update-connectivity
命令的輸出如下所示JSON。{ "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" }
注意
若要關閉公有存取,請使用類似的 AWS CLI 命令,但改用下列連線資訊:
'{"PublicAccess": {"Type": "DISABLED"}}'
-
若要取得
update-connectivity
操作結果,請執行下列命令,取代ClusterOperationArn
ARN 您在update-connectivity
命令的輸出中取得的 。aws kafka describe-cluster-operation --cluster-operation-arn
ClusterOperationArn
此
describe-cluster-operation
命令的輸出如下所示JSON。{ "ClusterOperationInfo": { "ClientRequestId": "982168a3-939f-11e9-8a62-538df00285db", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2019-06-20T21:08:57.735Z", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_COMPLETE", "OperationType": "UPDATE_CONNECTIVITY", "SourceClusterInfo": { "ConnectivityInfo": { "PublicAccess": { "Type": "DISABLED" } } }, "TargetClusterInfo": { "ConnectivityInfo": { "PublicAccess": { "Type": "SERVICE_PROVIDED_EIPS" } } } } }
如果
OperationState
具有值UPDATE_IN_PROGRESS
,請稍候一段時間,然後再次執行describe-cluster-operation
命令。
使用 Amazon 開啟公有存取 MSK API
若要使用 API開啟或關閉叢集的公有存取權,請參閱 UpdateConnectivity。
注意
基於安全考量,Amazon MSK不允許公開存取 Apache ZooKeeper 或KRaft控制器節點。