將 AWS 主機連接至 Satellite
將 Amazon Web Services (AWS) 雲端主機新增至 IBM Cloud Satellite®。 檢閱 Amazon Web Services 雲端中主機特定的下列主機需求。 如需 AWS 雲端中的必要存取權,請參閱 AWS 許可權。
若要連接 Red Hat CoreOS (RHCOS) 主機,必須針對 Red Hat CoreOS啟用您的位置。 如需相關資訊,請參閱 我的位置是否已啟用 Red Hat CoreOS?。 請注意,您仍然可以將 Red Hat Enterprise Linux 主機連接至針對 Red Hat CoreOS啟用的位置。
開始之前,請確定您在內部部署資料中心、IBM Cloud或公用雲端提供者中建立符合 最低硬體需求 的主機。
將主機連接至您的位置之後,基於安全目的,Satellite 會停用以 root 身分使用 SSH 登入主機的能力。 如果您嘗試以 root 身分 SSH 進入已順利連接至某個位置的主機,則可能會看到錯誤訊息。 若要還原 SSH 進入機器的能力,您可以 移除主機 並重新載入作業系統。
不確定要連接到您的位置的主機數目? 請參閱 調整 Satellite 位置。
將 AWS 主機新增至 Satellite
您可以使用從 Amazon Web Services (AWS) 雲端新增的主機來建立 IBM Cloud Satellite 位置。
您要新增的所有主機都必須符合一般主機需求,例如 RHEL 8 套件及網路設定。 如需相關資訊,請參閱 主機需求。
如果您想要在位置中使用 Red Hat CoreOS (RHCOS) 主機,請將 Red Hat CoreOS 映像檔提供給 Amazon 帳戶。 如需相關資訊,請參閱 使用將 VM 匯入為映像檔。 若要尋找 RHCOS 映像檔,請參閱 可用映像檔 的清單。 請注意,您必須至少使用 4.9版。
開始之前,請 建立 Satellite 位置。
-
從 Satellite 主控台中,選取您要新增 AWS 主機的位置。
-
擷取您必須在主機上執行的主機登錄 Script,讓 IBM Cloud Satellite 位置可以看見它們。
- 從 主機 標籤中,按一下 連接主機。
- 選用項目: 輸入稍後用來 自動將 主機指派給位置中 Satellite啟用 IBM Cloud 服務的任何主機標籤。 標籤必須以鍵值組形式提供,且必須符合來自服務的要求。 例如,您可能有主機標籤,例如
env=prod
或service=database
。 依預設,您的主機會取得cpu
、os
及memory
標籤,但您可能想要新增更多以控制自動指派,例如env=prod
或service=database
。 - 輸入 Script 的檔名,或使用為您產生的名稱。
- 按一下 下載 Script 以產生主機 Script,並將 Script 下載至本端機器。 請注意,Script 中的記號是 API 金鑰,應該將它視為機密性資訊並加以保護。
-
僅限 RHEL 開啟登錄 Script。 在
API_URL
行之後,新增一個區段,以使用訂閱管理程式取回必要的 RHEL 套件。# Enable AWS RHEL package updates yum update -y yum-config-manager --enable '*' yum repolist all yum install container-selinux -y echo "repos enabled"
-
從 AWS EC2 儀表板,移至 實例 > 啟動範本。
-
按一下 建立啟動範本,然後輸入範本詳細資料,如下所示。
如需您可以在啟動範本中指定之可用選項的概觀,請參閱 AWS 說明文件
- 輸入啟動範本的名稱。
- 在 Amazon 機器映像檔 (AMI) 區段中,確保選取您可以透過輸入 AMI ID 找到的受支援 Red Hat Enterprise Linux 8 作業系統。 您可以參照 Red Hat Enterprise Linux AMI 可在 Amazon Web Services 說明文件上使用來比對 AMI ID 及適當的 Red Hat Enterprise Linux 版本。 如果您要建立 Red Hat CoreOS 主機,則必須將映像檔提供給 AWS。 如需相關資訊,請參閱 使用將 VM 匯入為映像檔。
- 從 實例類型 區段中,選取其中一個 支援的 AWS 實例類型。
- 從 金鑰組 (登入) 區段中,選取您稍後要用來登入機器的
.pem
金鑰。 如果您沒有.pem
金鑰,請建立一個金鑰。 - 在 網路設定中,選取 Virtual Private Cloud (VPC),以及容許網路資料流量的現有子網路和安全群組 (如 安全群組設定 中所定義)。 如果您沒有想要使用的子網路或安全群組,請建立一個。
- 在 儲存體 (磁區) 區段中,擴充預設 root 磁區,並將開機磁區大小更新為最少 100 GB。 新增具有至少 100 GB 容量的第二個磁碟。 如需儲存體需求的相關資訊,請參閱 主機儲存體及連接裝置。
- 展開 進階詳細資料,並移至 使用者資料 欄位。
- 輸入您先前修改的主機登錄 Script。 如果您要新增 RHCOS 主機,請新增 ignition Script。
- 按一下 建立啟動範本。
-
從 啟動範本 儀表板中,尋找您所建立的範本。
-
從 動作 功能表中,選取 從範本啟動實例。
-
輸入您要建立的實例數,然後按一下 從範本啟動實例。
-
等待實例啟動。 在啟動實例期間,登錄 Script 會自動執行。 此程序需要幾分鐘才能完成。
-
監視登錄 Script 的進度。
-
從 EC2 實例 儀表板中,擷取實例的公用 IP 位址。
-
登入您的實例。
ssh -i <key>.pem ec2-user@<public_IP_address>
-
檢閱登錄 Script 的狀態。
journalctl -f -u ibm-host-attach
-
檢查主機是否顯示在 Satellite 主控台的 主機 標籤中。 當可以建立與機器的連線時,所有主機都會顯示
Ready
的 性能 狀態,並顯示Unassigned
的 狀態,因為主機尚未指派給 Satellite 位置控制平面或 Red Hat OpenShift on IBM Cloud 叢集。 -
將 AWS 主機指派給 Satellite 控制平面 或 Red Hat OpenShift on IBM Cloud 叢集。
使用 CLI 手動連接 AWS 實例
您可以使用 AWS ClI 來執行 EC2 實例,並將它們連接至 Satellite 位置。 如需相關資訊,請參閱 aws ec2 run-instances
指令參考手冊。
執行 AWS EC2 實例的指令範例。
aws ec2 run-instances --count COUNT --instance-type INSTANCE-TYPE --launch-template LaunchTemplateName=AWS-LAUNCH-TEMPLATE --user-data file://ATTACH-SCRIPT-LOCATION
AWS 實例類型
檢閱下列建議的 AWS EC2 實例類型,這些實例類型可以在 IBM Cloud Satellite中作為主機使用。 您可以使用其他 AWS 實例類型,只要它們符合 Satellite的 最低主機需求 即可。
實例 | vCPU | 記憶體 (GB) | 儲存體磁碟 (GiB) | 網路頻寬 (Gbps) |
---|---|---|---|---|
m5d.xlarge |
4 | 16 | 至少已連接 100 GB SSD | 最多 10 個 |
m5d.2xlarge |
8 | 32 | 至少已連接 100 GB SSD | 最多 10 個 |
m5d.4xlarge |
16 | 64 | 至少已連接 100 GB SSD | 最多 10 個 |
AWS 的安全群組設定
如 主機網路需求 中所述,您的 AWS 主機必須具有存取權,才能連接至 IBM Cloud Satellite。 如果您在虛擬專用雲端 (VPC) 中使用主機,則可以建立類似於下列範例的安全群組。 您可以從 AWS 提供者資源取得擁有者、群組、使用者及 VPC ID。
下列範例是您可能為 AWS建立的安全群組。
{
"Description": "Security group for IBM Cloud Satellite hosts",
"GroupName": "Satellite",
"IpPermissions": [{
"FromPort": 80,
"IpProtocol": "tcp",
"IpRanges": [{
"CidrIp": "0.0.0.0/0"
}],
"Ipv6Ranges": [],
"PrefixListIds": [],
"ToPort": 80,
"UserIdGroupPairs": []
},
{
"FromPort": 30000,
"IpProtocol": "tcp",
"IpRanges": [{
"CidrIp": "0.0.0.0/0"
}],
"Ipv6Ranges": [{
"CidrIpv6": "::/0"
}],
"PrefixListIds": [],
"ToPort": 32767,
"UserIdGroupPairs": []
},
{
"IpProtocol": "-1",
"IpRanges": [],
"Ipv6Ranges": [],
"PrefixListIds": [],
"UserIdGroupPairs": [{
"GroupId": "<group_ID>",
"UserId": "<user_ID>"
}]
},
{
"FromPort": 22,
"IpProtocol": "tcp",
"IpRanges": [{
"CidrIp": "0.0.0.0/0"
}],
"Ipv6Ranges": [],
"PrefixListIds": [],
"ToPort": 22,
"UserIdGroupPairs": []
},
{
"FromPort": 30000,
"IpProtocol": "udp",
"IpRanges": [{
"CidrIp": "0.0.0.0/0"
}],
"Ipv6Ranges": [{
"CidrIpv6": "::/0"
}],
"PrefixListIds": [],
"ToPort": 32767,
"UserIdGroupPairs": []
},
{
"FromPort": 443,
"IpProtocol": "tcp",
"IpRanges": [{
"CidrIp": "0.0.0.0/0"
}],
"Ipv6Ranges": [{
"CidrIpv6": "::/0"
}],
"PrefixListIds": [],
"ToPort": 443,
"UserIdGroupPairs": []
}
],
"OwnerId": "<owner_ID>",
"GroupId": "<group_ID>",
"IpPermissionsEgress": [{
"IpProtocol": "-1",
"IpRanges": [{
"CidrIp": "0.0.0.0/0"
}],
"Ipv6Ranges": [],
"PrefixListIds": [],
"UserIdGroupPairs": []
}],
"VpcId": "<vpc_ID>"
}
如需相關資訊,請參閱 AWS 說明文件中的 使用安全群組控制資源的資料流量。
我把主機新增到我的位置,接下來是什麼?
現在,您已將主機新增至您的位置,您可以將它們指派給您的位置控制平面或 IBM Cloud 服務。
- 將 主機指派給位置控制平面 或將 指派給 IBM Cloud 服務。
- 建立 Satellite啟用 IBM Cloud 服務,例如 Red Hat OpenShift 叢集。 您甚至可以 將現有 Red Hat OpenShift 叢集登錄至您的位置,以用作部署目標。
- 使用 Satellite Config 來 管理應用程式。
- 建立 Satellite 叢集儲存體範本。
- 進一步瞭解 Satellite 鏈結元件,以及如何使用端點來管理您位置與 IBM Cloud之間的網路資料流量。
需要協助嗎? 請參閱 取得支援,您可以在其中找到雲端狀態、問題及記載的相關資訊; 聯絡支援中心; 以及設定 IBM Cloud 平台相關項目的電子郵件通知喜好設定。