Amazon-Ec2
如何配置 Knife 和 EC2 以從命令行創建新實例?
我正在使用 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 伺服器 URLknife ec2 server create
。