設定 Amazon RDS Custom for Oracle 的資料庫執行個體 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 Amazon RDS Custom for Oracle 的資料庫執行個體

您可以建立 RDS Custom 資料庫執行個體,然後使用安全通訊殼層 (SSH) 或 AWS Systems Manager與它連線。

如需連線和登入 RDS Custom for Oracle 資料庫執行個體的詳細資訊,請參閱下列主題。

建立 RDS Custom for Oracle 資料庫執行個體

使用 AWS Management Console 或 建立 Amazon RDS Custom for Oracle 資料庫執行個體 AWS CLI。該程序與建立 Amazon RDS 資料庫執行個體的程序類型。如需詳細資訊,請參閱建立 Amazon RDS 資料庫執行個體

如果您在 CEV 清單檔案中包含安裝參數,則資料庫執行個體會使用您指定的 Oracle 基本目錄、Oracle 主目錄,以及 UNIX/Linux 使用者和群組的識別符和名稱。Oracle Database 在安裝期間建立的 oratab 檔案會指向真實的安裝位置,而不是符號連結。當 RDS Custom for Oracle 執行命令時,其會以設定的作業系統使用者身分執行,而非預設使用者 rdsdb。如需詳細資訊,請參閱步驟 5:準備清CEV單

在您嘗試建立或連線至 RDS Custom 資料庫執行個體之前,請先完成設定您的 Amazon RDS Custom for Oracle 的環境中的任務。

若要建立 RDS Custom for Oracle 資料庫執行個體
  1. 登入 AWS Management Console 並開啟位於 https://https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Databases (資料庫)。

  3. 選擇 Create database (建立資料庫)。

  4. Choose a database creation method (選擇資料庫建立方法) 中,選取 Standard Create (標準建立)

  5. 引擎選項區段中,執行下列動作:

    1. 針對 Engine type (引擎類型),請選擇 Oracle

    2. 針對 Database management type (引擎管理類型),選擇 Amazon RDS Custom

    3. 對於管理設定,執行下列其中一項動作:

      • 選取多租戶架構以建立容器資料庫 (CDB)。建立時,您的 CDB 包含一個 PDB 種子和一個起始 PDB。

        注意

        僅 Oracle Database 19c 支援多租戶架構設定。

      • 清除多租戶架構以建立非 CDB。非 CDB 不能包含 PDB。

    4. 針對版本,選擇 Oracle Enterprise EditionOracle Standard Edition 2

    5. 對於自訂引擎版本,選擇現有的 RDS Custom 自訂引擎版本 (CEV)。CEV 採用下列格式:major-engine-version.customized_string。範例識別符為 19.cdb_cev1

      如果您在上一個步驟中選擇多租戶架構,您只能指定使用 custom-oracle-ee-cdbcustom-oracle-se2-cdb引擎類型的 CEV。主控台會篩選掉使用不同引擎類型建立CEVs。

  6. Templates (範本) 中,選擇 Production (生產)

  7. Settings (設定) 區段中,執行下列動作:

    1. 對於資料庫執行個體識別符,輸入資料庫執行個體的唯一名稱。

    2. 對於主要使用者名稱,輸入使用者名稱。您稍後可以從主控台擷取此值。

      當您連線至非 CDB 時,主要使用者就是非 CDB 的使用者。當您連線至 CDB 時,主要使用者就是 PDB 的使用者。若要連線至 CDB 根,請登入主機、啟動 SQL 用戶端,然後使用 SQL 命令建立管理使用者。

    3. 清除自動產生密碼

  8. 選擇資料庫執行個體類別

    如需支援的類別,請參閱 RDS Custom for Oracle 的資料庫執行個體類別支援

  9. Storage (儲存) 區段中,執行下列動作:

    1. 對於儲存體類型,選擇 SSD 類型:io1、gp2 或 gp3。您具有下列其他選項:

      • 對於 io1 或 gp3,選擇佈建 IOPS 的速率。對於 io1,預設為 1000,而對於 gp3,預設為 12000。

      • 對於 gp3,選擇儲存體輸送量的速率。預設為 500 MiBps。

    2. 對於已配置的儲存體,選擇儲存體大小。預設為 40 GiB。

  10. 對於連線,指定您的虛擬私有雲端 (VPC)資料庫子網路群組VPC 安全群組 (防火牆)

  11. 針對 RDS Custom security (RDS Custom 安全),請執行下列操作:

    1. 針對 IAM instance profile (IAM 執行個體設定檔),為您的 RDS Custom for Oracle 資料庫執行個體選擇執行個體設定檔。

      IAM 執行個體設定檔必須以 AWSRDSCustom 開頭,例如 AWSRDSCustomInstanceProfileForRdsCustomInstance

    2. 針對加密,選擇輸入金鑰 ARN 以列出可用的 AWS KMS 金鑰。然後從清單選擇您的金鑰。

      RDS Custom 需要 AWS KMS 金鑰。如需詳細資訊,請參閱步驟 1:建立或重複使用對稱加密 AWS KMS 金鑰

  12. 對於資料庫選項,執行下列動作:

    1. (選用) 在系統 ID (SID) 中,輸入 Oracle SID 的值,也是 CDB 的名稱。SID 是管理資料庫檔案之 Oracle 資料庫執行個體的名稱。在此內容中,「Oracle 資料庫執行個體」一詞特指系統全區域 (SGA) 和 Oracle 背景程序。如果您未指定 SID,值會預設為 RDSCDB

    2. (選用) 對於初始資料庫名稱,輸入一個名稱。預設值為 ORCL。在多租戶架構中,初始資料庫名稱是 PDB 名稱。

      注意

      SID 和 PDB 名稱必須不同。

    3. 針對選項群組,選擇選項群組或接受預設值。

      注意

      RDS Custom for Oracle 唯一支援的選項是 Timezone。如需詳細資訊,請參閱Oracle 時區

    4. 對於備份保留期,選擇一值。您無法選擇 0 天

    5. 在其餘區段,指定您偏好的 RDS Custom 資料庫執行個體的設定。如需每項設定的相關資訊,請參閱 資料庫執行個體的設定。以下設定不會出現在主控台中,也不受支援:

      • 處理器功能

      • 儲存體自動調整規模

      • Database authentication (資料庫身分驗證) 中的 Password and Kerberos authentication (密碼和 Kerberos 身分驗證) 選項 (僅支援 Password authentication (密碼身分驗證))

      • Performance Insights (績效詳情)

      • Log exports (日誌匯出)

      • Enable auto minor version upgrade (啟用自動次要版本升級)

      • 刪除保護

  13. 選擇建立資料庫

    重要

    建立 RDS Custom for Oracle 資料庫執行個體時,您可能會收到下列錯誤:服務連結角色正在建立的程序中。請稍後再試。如果收到這個訊息,請等待幾分鐘的時間然後再次嘗試建立資料庫執行個體。

    View credential details (檢視憑證詳細資訊) 按鈕會顯示在 Databases (資料庫) 頁面上。

    若要檢視 RDS Custom 資料庫執行個體的主要使用者名稱和密碼,請選擇 View credential details (檢視憑證詳細資訊)。

    若要以主要使用者的身分連線至資料庫執行個體,請使用出現的使用者名稱和密碼。

    重要

    您無法再次於主控台中檢視主要使用者密碼。如果您沒有記錄下來,您可能需要進行變更。若要在 RDS Custom 資料庫執行個體可供使用之後變更主要使用者密碼,請登入資料庫並執行 ALTER USER 命令。您無法使用主控台中的修改選項來重設密碼。

  14. 選擇 Databases (資料庫) 以檢視 RDS Custom 資料庫執行個體的清單。

  15. 選擇您剛剛建立的 RDS Custom 資料庫執行個體。

    在 RDS 主控台上,新 RDS Custom 資料庫執行個體的詳細資訊即會出現:

    • 在 RDS Custom 資料庫執行個體建立完成且可供使用之前,資料庫執行個體會處於 Creating (建立中) 狀態。狀態變更為 Available (可用) 時,您便能連線至資料庫執行個體。視執行個體類別和分配的儲存空間而定,新的資料庫執行個體可能需要幾分鐘才能使用。

    • Role (角色) 具有 Instance (RDS Custom) (執行個體 (RDS Custom)) 值。

    • RDS Custom automation mode (RDS Custom 自動化模式) 具有 Full automation (全自動化) 值。此設定表示資料庫執行個體提供自動監控和執行個體復原。

您可以使用 create-db-instance AWS CLI 命令建立 RDS Custom 資料庫執行個體。

下列選項是必要的:

  • --db-instance-identifier

  • --db-instance-class (如需支援執行個體類別的清單,請參閱 RDS Custom for Oracle 的資料庫執行個體類別支援)

  • --engine engine-type,其中 engine-typecustom-oracle-eecustom-oracle-ee-cdbcustom-oracle-se2custom-oracle-se2-cdb

  • --engine-version cev (其中 cev 是您在 建立CEV 中指定的自訂引擎版本的名稱)

  • --kms-key-id my-kms-key

  • --backup-retention-period days (其中 days 是大於 0 的值)

  • --no-auto-minor-version-upgrade

  • --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1 (其中 region 是您要在其中建立資料庫執行個體的 AWS 區域 )

下列範例會建立名稱為 my-cfo-cdb-instance 的 RDS Custom 資料庫執行個體。資料庫是具有非預設名稱 MYCDB 的 CDB。非預設 PDB 名稱為 MYPDB。備份保留期為 3 天。

對於 Linux、 macOS或 Unix:

aws rds create-db-instance \ --engine custom-oracle-ee-cdb \ --db-instance-identifier my-cfo-cdb-instance \ --engine-version 19.cdb_cev1 \ --db-name MYPDB \ --db-system-id MYCDB \ --allocated-storage 250 \ --db-instance-class db.m5.xlarge \ --db-subnet-group mydbsubnetgroup \ --master-username myuser \ --master-user-password mypassword \ --backup-retention-period 3 \ --port 8200 \ --kms-key-id my-kms-key \ --no-auto-minor-version-upgrade \ --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1

在 Windows 中:

aws rds create-db-instance ^ --engine custom-oracle-ee-cdb ^ --db-instance-identifier my-cfo-cdb-instance ^ --engine-version 19.cdb_cev1 ^ --db-name MYPDB ^ --db-system-id MYCDB ^ --allocated-storage 250 ^ --db-instance-class db.m5.xlarge ^ --db-subnet-group mydbsubnetgroup ^ --master-username myuser ^ --master-user-password mypassword ^ --backup-retention-period 3 ^ --port 8200 ^ --kms-key-id my-kms-key ^ --no-auto-minor-version-upgrade ^ --custom-iam-instance-profile AWSRDSCustomInstanceProfile-us-east-1
注意

指定此處所顯示提示以外的密碼,作為安全最佳實務。

使用 describe-db-instances 命令取得執行個體的詳細資訊。

aws rds describe-db-instances --db-instance-identifier my-cfo-cdb-instance

下列部分輸出顯示引擎、參數群組及其他資訊。

{ "DBInstanceIdentifier": "my-cfo-cdb-instance", "DBInstanceClass": "db.m5.xlarge", "Engine": "custom-oracle-ee-cdb", "DBInstanceStatus": "available", "MasterUsername": "admin", "DBName": "MYPDB", "DBSystemID": "MYCDB", "Endpoint": { "Address": "my-cfo-cdb-instance.abcdefghijkl.us-east-1.rds.amazonaws.com", "Port": 1521, "HostedZoneId": "A1B2CDEFGH34IJ" }, "AllocatedStorage": 100, "InstanceCreateTime": "2023-04-12T18:52:16.353000+00:00", "PreferredBackupWindow": "08:46-09:16", "BackupRetentionPeriod": 7, "DBSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-0a1bcd2e", "Status": "active" } ], "DBParameterGroups": [ { "DBParameterGroupName": "default.custom-oracle-ee-cdb-19", "ParameterApplyStatus": "in-sync" } ], ...

多租戶架構考量

如果您使用 Oracle 多租戶架構 (custom-oracle-ee-cdbcustom-oracle-se2-cdb引擎類型) 建立 Amazon RDS Custom for Oracle 資料庫執行個體,您的資料庫即為容器資料庫 (CDB)。如果您未指定 Oracle 多租戶架構,則資料庫是使用 custom-oracle-eecustom-oracle-se2引擎類型的傳統非 CDB。非 CDB 不能包含插入式資料庫 (PDB)。如需詳細資訊,請參閱Amazon RDS Custom for Oracle 的資料庫架構

當您建立 RDS Custom for Oracle CDB 執行個體時,請考慮下列事項:

  • 您只能從 Oracle Database 19c CEV 建立多租戶資料庫。

  • 只有在 CEV 使用 custom-oracle-ee-cdbcustom-oracle-se2-cdb引擎類型時,您才能建立 CDB 執行個體。

  • 如果您使用 Standard Edition 2 建立 CDB 執行個體,CDB 最多可包含 3 PDBs。

  • 依預設,您的 CDB 會命名為 RDSCDB (其也是 Oracle 系統 ID (Oracle SID) 的名稱)。您可以選擇不同名稱。

  • 您的 CDB 只包含一個起始 PDB。PDB 名稱預設為 ORCL。您可以針對起始 PDB 選擇不同的名稱,但 Oracle SID 和 PDB 名稱不能相同。

  • RDS Custom for Oracle 不會為 PDB 提供 API。若要建立其他 PDB,請使用 Oracle SQL 命令 CREATE PLUGGABLE DATABASE。RDS Custom for Oracle 不會限制您可以建立的 PDB 數目。通常,您負責建立和管理 PDB,如同內部部署中一般。

  • 您無法使用 RDS API 建立、修改和刪除 PDB:您必須使用 Oracle SQL 陳述式。當您使用 Oracle SQL 建立 PDB 時,我們建議您隨後取得手動快照,以防您需要執行時間點復原 (PITR)。

  • 您無法使用 Amazon RDS API 重新命名現有的 PDB。您也不能使用 modify-db-instance 命令重新命名 CDB。

  • CDB 根的開放模式在主要資料庫上為 READ WRITE,而在掛載的待命資料庫上則為 MOUNTED。RDS Custom for Oracle 嘗試在開啟 CDB 時開啟所有 PDB。如果 RDS Custom for Oracle 無法開啟所有 PDB,它會發出事件 tenant database shutdown

RDS Custom 服務連結角色

服務連結角色可讓 Amazon RDS Custom 存取 中的資源 AWS 帳戶。它會讓使用 RDS Custom 更簡單,因為您不需要手動新增必要許可。RDS Custom 會定義其服務連結角色的許可,除非另有定義,否則僅有 RDS Custom 可以擔任其角色。定義的許可包括信任政策和許可政策,並且該許可政策不能連接到任何其他 IAM 實體。

當您建立 RDS Custom 資料庫執行個體時,Amazon RDS 和 RDS Custom 服務連結角色兩者都會建立 (如果尚未存在) 並且使用。如需詳細資訊,請參閱使用 Amazon RDS 的服務連結角色

第一次建立 RDS Custom for Oracle 資料庫執行個體時,您可能會收到下列錯誤:服務連結角色正在建立的程序中。請稍後再試。如果收到這個訊息,請等待幾分鐘的時間然後再次嘗試建立資料庫執行個體。

在 RDS Custom for Oracle 資料庫執行個體上安裝其他軟體元件

在新建立的資料庫執行個體中,您的資料庫環境包含 Oracle 二進位檔、資料庫和資料庫接聽程式。您可能想要在資料庫執行個體的主機作業系統上安裝其他軟體。例如,您可能想要安裝 Oracle Application Express (APEX)、Oracle Enterprise Manager (OEM) 代理程式或 Guardium S-TAP 代理程式。如需指導方針和高階指示,請參閱詳細的 AWS 部落格文章在 Amazon RDS Custom for Oracle 上安裝其他軟體元件

使用 SSH 連線到您的 RDS Custom 資料庫執行個體

Secure Shell 通訊協定 (SSH) 是一種支援透過不安全網路進行加密通訊的網路通訊協定。建立 RDS Custom 資料庫執行個體之後,您可以使用 SSH 用戶端連線到此執行個體。如需詳細資訊,請參閱使用 SSH 連線至您的 Linux 執行個體

您的 SSH 連線技術取決於您的資料庫執行個體是否為私有,這表示它不接受來自公用網際網路的連線。在這種情況下,您必須使用 SSH 通道將 ssh 公用程式連線到執行個體。這項技術會在現有的 SSH 工作階段內使用專用資料串流 (通道) 傳輸資料。您可以使用 AWS Systems Manager來設定 SSH 通道。

注意

支援存取私有執行個體的各種策略。若要了解如何使用堡壘主機,將 SSH 用戶端連線到私有執行個體,請參閱 AWS上的 Linux 堡壘主機。若要了解如何設定連接埠轉送,請參閱使用 AWS Systems Manager Session Manager進行連接埠轉送

如果您的資料庫執行個體位於公有子網路且具有公開可用的設定,則不需要 SSH 通道。您可以像使用公有 Amazon EC2 執行個體一樣使用 SSH 進行連線。

若要將 SSH 用戶端連線到您的資料庫執行個體,請完成下列步驟:

步驟 1:將您的資料庫執行個體設定為允許 SSH 連線

若要確保您的資料庫執行個體能夠接受 SSH 連線,請執行下列動作:

  • 請確定您的資料庫執行個體安全群組允許 TCP 連接埠 22 上的傳入連線。

    若要了解如何設定資料庫執行個體的安全群組,請參閱 使用安全群組控制存取

  • 如果您不打算使用 SSH 通道,請確保您的資料庫執行個體位於公有子網路且可公開存取。

    在主控台中,可在資料庫詳細資訊頁面的連線能力與安全性索引標籤上公開存取相關欄位。若要在 CLI 中檢查您的設定,請執行下列命令:

    aws rds describe-db-instances \ --query 'DBInstances[*].{DBInstanceIdentifier:DBInstanceIdentifier,PubliclyAccessible:PubliclyAccessible}' \ --output table

    若要變更資料庫執行個體的協助工具設定,請參閱 修改 Amazon RDS 資料庫執行個體

步驟 2:擷取您的 SSH 私密金鑰和 EC2 執行個體 ID

若要使用 SSH 連線到資料庫執行個體,您需要與執行個體相關聯的 SSH 金鑰對。RDS Custom 會使用命名慣例do-not-delete-rds-custom-ssh-privatekey-resource_id-uuid或 代表您建立 SSH 金鑰對rds-custom!oracle-do-not-delete-resource_id-uuid-ssh-privatekey。 會將您的 SSH 私有金鑰 AWS Secrets Manager 儲存為秘密。

使用 AWS Management Console 或 擷取您的 SSH 私密金鑰 AWS CLI。如果您的執行個體具有公用 DNS,且您不打算使用 SSH 通道,亦請擷取 DNS 名稱。您可以指定 DNS 名稱進行公有連線。

擷取秘密 SSH 金鑰
  1. 登入 AWS Management Console 並開啟位於 https://https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在導覽窗格中選擇 Databases (資料庫),然後選擇您要連線的 RDS Custom 資料庫執行個體。

  3. 選擇 Configuration (組態)

  4. 請記下 Resource ID (資源 ID) 值。例如,資料庫執行個體資源 ID 可能是 db-ABCDEFGHIJKLMNOPQRS0123456

  5. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  6. 在導覽窗格中,選擇執行個體

  7. 尋找 EC2 執行個體的名稱,然後選擇與其相關聯的執行個體 ID。例如,EC2 執行個體 ID 可能是 i-abcdefghijklm01234

  8. Details (詳細資訊) 中尋找 Key pair name (金鑰對名稱)。配對名稱包含資料庫執行個體資源 ID。例如,配對名稱可能是 do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726crds-custom!oracle-do-not-delete-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c-ssh-privatekey

  9. 如果您的 EC2 執行個體是公有的,請記下公有 IPv4 DNS。例如,公有網域名稱系統 (DNS) 地址可能是 ec2-12-345-678-901.us-east-2.compute.amazonaws.com

  10. 在 https://https://console.aws.amazon.com/secretsmanager/ 開啟 AWS Secrets Manager 主控台。

  11. 選擇與金鑰對具有相同名稱的密碼。

  12. 選擇 Retrieve secret value (擷取秘密值)

  13. 將 SSH 私有金鑰複製到文字檔,然後以 .pem 副檔名儲存檔案。例如,將檔案儲存為 /tmp/do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem/tmp/rds-custom!oracle-do-not-delete-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c-ssh-privatekey.pem

若要擷取 SSH 私有金鑰並將其儲存在 .pem 檔案中,您可以使用 AWS CLI。

  1. 使用 aws rds describe-db-instances 尋找 RDS Custom 資料庫執行個體的資料庫資源 ID。

    aws rds describe-db-instances \ --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \ --output text

    下列範例輸出顯示 RDS Custom 執行個體的資源 ID。字首是 db-

    db-ABCDEFGHIJKLMNOPQRS0123456
  2. 使用 aws ec2 describe-instances 尋找資料庫執行個體的 EC2 執行個體 ID。以下範例使用 db-ABCDEFGHIJKLMNOPQRS0123456 做為資源 ID。

    aws ec2 describe-instances \ --filters "Name=tag:Name,Values=db-ABCDEFGHIJKLMNOPQRS0123456" \ --output text \ --query 'Reservations[*].Instances[*].InstanceId'

    以下範例輸出顯示 EC2 執行個體 ID。

    i-abcdefghijklm01234
  3. 若要尋找金鑰名稱,請指定 EC2 執行個體 ID。下列範例說明 EC2 執行個體 i-0bdc4219e66944afa

    aws ec2 describe-instances \ --instance-ids i-0bdc4219e66944afa \ --output text \ --query 'Reservations[*].Instances[*].KeyName'

    下列範例輸出顯示金鑰名稱,其使用命名格式 do-not-delete-rds-custom-ssh-privatekey-resource_id-uuidrds-custom!oracle-do-not-delete-resource_id-uuid-ssh-privatekey

    do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c rds-custom!oracle-do-not-delete-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c-ssh-privatekey
  4. 使用 aws secretsmanager 將私有金鑰儲存在以金鑰命名的 .pem 檔案中。

    下列範例會將金鑰儲存至 /tmp目錄中do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c的檔案。

    aws secretsmanager get-secret-value \ --secret-id do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c \ --query SecretString \ --output text >/tmp/do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem

    下列範例會將金鑰儲存至 /tmp目錄中rds-custom!oracle-do-not-delete-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c-ssh-privatekey的檔案。

    aws secretsmanager get-secret-value \ --secret-id rds-custom!oracle-do-not-delete-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c-ssh-privatekey \ --query SecretString \ --output text >/tmp/rds-custom!oracle-do-not-delete-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c-ssh-privatekey.pem

步驟 3:使用 ssh 公用程式連線到 EC2 執行個體

您的連線技術取決於您要連線到私有資料庫執行個體還是連線到公有執行個體。私有連線需要您透過 AWS Systems Manager設定 SSH 通道。

使用 ssh 公用程式連線到 EC2 執行個體
  1. 若為私人連線,請修改 SSH 組態檔,以透過 Proxy 將命令傳送至 AWS Systems Manager Session Manager。若為公有連線,請跳至步驟 2。

    將下列這幾行新增至 ~/.ssh/config。針對名稱開頭為 i-mi- 的主機,這些行會透過 Proxy 傳送 SSH 命令。

    Host i-* mi-* ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
  2. 變更為包含 .pem 檔案的目錄。使用 chmod,將許可設定為 400

    下列範例會變更為 /tmp目錄,並設定 .pem 檔案 的許可do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem

    cd /tmp chmod 400 do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem

    下列範例會變更為 /tmp目錄,並設定 .pem 檔案 的許可rds-custom!oracle-do-not-delete-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c-ssh-privatekey.pem

    cd /tmp chmod 400 rds-custom!oracle-do-not-delete-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c-ssh-privatekey.pem
  3. 執行 ssh 公用程式,指定 .pem 檔案和公有 DNS 名稱 (進行公用連線) 或 EC2 執行個體 ID (進行私有連線)。以使用者 ec2-user 身分登入。

    下列範例會使用 DNS 名稱 連線至公有執行個體ec2-12-345-678-901.us-east-2.compute.amazonaws.com

    # .pem file using naming prefix do-not-delete ssh -i \ "do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem" \ [email protected] # .pem file using naming prefix rds-custom!oracle-do-not-delete ssh -i \ "rds-custom!oracle-do-not-delete-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c-ssh-privatekey.pem" \ [email protected]

    下列範例會使用 EC2 執行個體 ID 連線到私有執行個體i-0bdc4219e66944afa

    # .pem file using naming prefix do-not-delete ssh -i \ "do-not-delete-rds-custom-ssh-privatekey-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c.pem" \ ec2-user@i-0bdc4219e66944afa # .pem file using naming prefix rds-custom!oracle-do-not-delete ssh -i \ "rds-custom!oracle-do-not-delete-db-ABCDEFGHIJKLMNOPQRS0123456-0d726c-ssh-privatekey.pem" \ ec2-user@i-0bdc4219e66944afa