Amazon-Ec2

如何配置 Knife 和 EC2 以從命令行創建新實例?

  • October 12, 2014

我正在使用 Amazon EC2 來創建實例。我在這裡閱讀:在 EC2 的刀文件中,我需要設置:

# EC2:
knife[:aws_access_key_id]     = "Your AWS Access Key"
knife[:aws_secret_access_key] = "Your AWS Secret Access Key"

現在,當我嘗試在我的 Knife.rb 中從 AWS 控制台設置安全憑證時,我得到一個

ERROR: You did not provide a valid 'AWS SSH Key Id' value.

而且,當我創建一個新的“密鑰對”時,我會得到一些 .pem 文件,這也讓我感到困惑。

如何設置我的刀和 EC2 來創建一個新節點?

我假設您在創建新節點時收到此錯誤,而不是在您嘗試在 Knife.rb 中設置安全憑據時收到此錯誤。

準確地說,當您啟動時應該出現錯誤:

knife ec2 server create -I <ami-id>

錯誤

ERROR: You did not provide a valid 'AWS SSH Key Id' value.

knife ec2 server create是由於您的命令中缺少 SSH 密鑰對。每當您啟動 Amazon EC2 實例時,您都需要指定一個 SSH 密鑰對。此 SSH 公鑰被添加到新啟動的實例中,以啟用無密碼 SSH 登錄。可以創建或導入密鑰對。密鑰對(適用於美國東部地區)可在您的 Amazon AWS 控制台的EC2 -> 密鑰對部分找到。

選擇 SSH 密鑰對後,您可以在knife ec2 create命令中將其名稱指定為:

knife ec2 server create -I <ami-id> -S <your-ssh-keypair-name>

注意:這將使用指定的ami-id和 SSH 密鑰對啟動 EC2 實例。knife bootstrap一旦實例啟動,Knife 將繼續前進。為此,您需要確保啟動knife ec2 server create. 您可能還想使用--server-url選項指定您的 Chef 伺服器 URL knife ec2 server create

引用自:https://serverfault.com/questions/472848