Alan's BLOG
  • archives
  • posts
  • tags
  • about
  • quote
  • search
Home » Tags

aws

如何在 AWS 建立 IAM 驗證方式的 MSK

👨‍💻簡介 上次介紹了使用 SASL/SCRAM 的驗證方式來完成整個設定,這次改成使用 IAM 的驗證方式,因為後續使用其他服務,像是連接器,並不能接受使用 SASL/SCRAM 驗證方式的 MSK,因此會需要改成 IAM 的驗證方式下去建立 MSK 🎯setup 建立叢集 進入到 [MSK 頁面](叢集 | MSK | ap-northeast-1 (amazon.com)),然後創建叢集 叢集設定 創建時選自訂建立,叢集類型我這邊使用的是已佈建,規格可以選最小的,版本使用 AWS 建議的,區域數量為3,達到高可用,最後叢集組態先使用預設即可 聯網 聯網的部分可以使用 AWS 幫你建立好的預設 VPC,我在前一步選擇三個可用區,因此會需要有三條不同區域的子網,安全群組也選擇預設的即可 安全 安全這邊選擇 IAM 角色型身份驗證,加密靜態資料選擇使用 AWS 受管金鑰 監控和標籤 這裡監控只要選基本的即可 接著等到叢集建立完成後開始設定密鑰,建立叢集大概需要15分鐘 建立 IAM Policy 叢集建立好後可以到屬性查看範例 Policy 這邊快速介紹一下權限用意,由上至下的區塊分別對應的是叢集、Topic、Group 叢集: kafka-cluster:Connect:允許連接到 Kafka 叢集,確保 Client 端或服務可以與 Kafka 叢集進行通信。 kafka-cluster:AlterCluster:允許對叢集進行修改操作,比如設定更改、叢集拓撲結構修改等。 kafka-cluster:DescribeCluster:允許檢視 Kafka 叢集的設定和狀態,這可能包括叢集節點、分區等信息。 Topic: kafka-cluster:*Topic*:允許與主題相關的所有操作,這裡使用通配符表示操作(例如,創建、刪除、列出、修改 Kafka Topic 等)。 kafka-cluster:WriteData:允許將資料寫入 Kafka Topic,這涉及生產者(Producer)將訊息發送到 Kafka。 kafka-cluster:ReadData:允許從 Kafka Topic 讀取資料,這涉及消費者(Consumer)從 Kafka 主題中接收訊息。 Group:...

2024-10-03 · 2 min · 282 words · Alan

如何在 aws-cli 快速切換帳號

👨‍💻簡介 在工作上如果有多組 AWS 環境,會需要快速切換進行操作,這篇簡單記錄一下如何快速方便的透過 aws-cli 切換帳號 💡解決辦法 使用 --profile 參數 在每次執行指令後面添加 --profile,指定要使用的 profile aws s3 ls --profile lab 使用環境變數 AWS_PROFILE export AWS_PROFILE=lab 建立 shell function 直接在 .bashrc 或 .zshrc建立一個 shell function 來進行快速切換。 以 .bashrc 為例,將底下代碼添加到 .bashrc change_aws_profile() { export AWS_PROFILE=$1 export AWS_DEFAULT_PROFILE=$1 echo "AWS profile switched to: $1" } 接著 reload source ~/.bashrc 當要切換時只需要輸入對應的 profile 即可 change_aws_profile lab 📚Reference How to: Use multiple AWS accounts with the AWS-CLI - DEV Community

2024-09-22 · 1 min · 71 words · Alan

如何在 AWS 使用 SASL/SCRAM 建立 MSK

👨‍💻簡介 Amazon Managed Streaming for Apache Kafka(Amazon MSK)是 Amazon 推出的完全代管、具有高可用以及安全的 Apache Kafka 服務。在這篇文章中,會使用 AWS 建立 MSK,並使用 SASL/SCRAM 的驗證方式來完成整個設定。 🎯setup 建立叢集 進入到 MSK 頁面,然後創建叢集 叢集設定 創建時選自訂建立,叢集類型我這邊使用的是已佈建,規格可以選最小的,版本使用 AWS 建議的,區域數量為3,達到高可用,最後叢集組態先使用預設即可 聯網 聯網的部分可以使用 AWS 幫你建立好的預設 VPC,我在前一步選擇三個可用區,因此會需要有三條不同區域的子網,安全群組也選擇預設的即可 安全 安全這邊選擇 SASL/SCRAM 身分驗證,加密靜態資料選擇使用 AWS 受管金鑰,待會會提到 SASL/SCRAM(Simple Authentication andSecurity Layer/ Salted Challenge Response Mechanism),是一種使用帳號和密碼來完成驗證的方式,但它的前提是 Client 端與 Proxy 之間必須使用 TLS 加密。 監控和標籤 這裡監控只要選基本的即可 接著等到叢集建立完成後開始設定密鑰,建立叢集大概需要15分鐘 建立KMS Key AmazonMSK 使用 Amazon Secret Manager 來儲存 MSK 使用的帳號與密碼。在設定 Secret Manager 之前,必須先在 Amazon KMS(Key Management Service) 創建一個使用者託管的 Key。...

2024-09-21 · 4 min · 716 words · Alan

如何在GCP以及AWS設定 remote backend 管理 terraform 狀態檔

👨‍💻簡介 terraform在每次執行terraform plan或terraform apply時,是如何知道應該要管理哪些資源? 其實就是透過在每次執行terraform時,將建立或要變更的資源都記錄在terraform.state這份狀態檔,預設檔案使用JSON格式。 假設建立一個google cloud storage的resource,tf設定檔如下: resource "google_storage_bucket" "bucket" { name = "terraform-alan-test-bucket" location = "ASIA-EAST1" storage_class = "STANDARD" public_access_prevention = "enforced" force_destroy = true uniform_bucket_level_access = true } 建立後的terraform.tfstate的一小部分如下: { "version": 4, "terraform_version": "1.5.7", "serial": 3, "lineage": "abda0fda-b807-b8b3-0a36-8b0c2f92e3f5", "outputs": {}, "resources": [ { "module": "module.base-bucket", "mode": "managed", "type": "google_storage_bucket", "name": "bucket", "provider": "module.base-bucket.provider[\"registry.terraform.io/hashicorp/google\"]", "instances": [ { "schema_version": 1, "attributes": { "autoclass": [], "cors": [], "custom_placement_config": [], "default_event_based_hold": false, "effective_labels": {}, "encryption": [], "force_destroy": true, "id": "terraform-alan-test-bucket", "labels": null, "lifecycle_rule": [], "location": "ASIA-EAST1", "logging": [], "name": "terraform-alan-test-bucket", } } ] } ] } 可以看到id的屬性,當每次執行plan或是apply時,terraform就是拿這個屬性從本地terraform設定檔與雲上資源做比對。...

2023-10-28 · 6 min · 1143 words · Alan
© 2024 艾倫的程式之旅 Powered by Hugo & PaperMod