2016-03-21 172 views
0

这是一个新手问题。请多多包涵。如何使用AWS SDK启动ec2实例并通过AWS CLI连接到它

我试图使用适用于JAVA的AWS开发工具包创建实例,请遵循官方教程。当涉及到的密钥对部分我感到困惑:

CreateKeyPairRequest createKeyPairRequest = new CreateKeyPairRequest(); 
    createKeyPairRequest.withKeyName("azzouz_key"); 
    CreateKeyPairResult createKeyPairResult = Client.createKeyPair(createKeyPairRequest); 
    KeyPair keyPair = new KeyPair(); 
    keyPair = createKeyPairResult.getKeyPair(); 
    String privateKey = keyPair.getKeyMaterial(); 

    RunInstancesRequest runInstancesRequest = new RunInstancesRequest(); 

    runInstancesRequest.withImageId("ami-4b814f22") 
      .withInstanceType("m1.small") 
      .withMinCount(1) 
      .withMaxCount(1) 
      .withKeyName("azzouz_key") 
      .withSecurityGroups("Azzouz_group"); 

通过做这样,我该如何使用AWS CLI连接到我使用SDK创建的实例,我的意思是如何定位.pem文件(如果它确实存在)。我的逻辑在使用代码创建ec2实例方面是否正确并通过aws cli进行管理,或者它们都应该采用相同的方式?

回答

2

PEM密钥位于您的privateKey字符串变量的内容中。您需要将其写入文件中,因为这是您唯一能够通过API访问的文件。

要连接到服务器,请不要使用AWS CLI。您可以使用ssh命令。我会阅读这个问题的答案,以获得更多关于使用SSH连接到EC2服务器的信息:how to login to ec2 machine?

+0

谢谢。我知道我必须使用ssh命令,这就是我的意思。 所以解决方案是将privateKey写入文件。要试试这个,让你知道它是否有帮助。 –

+0

您在问题中指定了“AWS CLI”,这是AWS提供的特定工具的名称。 https://aws.amazon.com/cli/ –