2017-03-20 32 views
-1

我完全不熟悉AWS。我已經獲得了一項官方任務,以探索適用於java的AWS api以便我們可以啓動虛擬機ON EC2。我已經通過了sdk-for-java的官方文檔,但有一些疑問:如何使用Java在EC2中啓動虛擬機

  1. 我需要在EC2上部署java代碼嗎?
  2. Java代碼是否可以創建和啓動虛擬服務器,或者我們只能通過代碼啓動它,並且需要通過EC2控制面板創建虛擬機?

感謝

回答

2

首先,因爲你很熟悉AWS,有一個通過他們的文檔閱讀。我知道有很多,但有以下鏈接應直接適用於您的情況:

Concepts
Getting started with AWS SDK for Java
Java examples

要回答你的問題,你要啓動虛擬機。在AWS中,這些被稱爲「實例」。要使用API​​啓動實例,您可以執行使API調用在本地的代碼,只要您擁有有效的憑據等,代碼就可以工作。您的代碼不需要在EC2內部運行。

只要您的Java項目中包含有效證書和AWS-SDK,以下代碼將爲您運行EC2實例。

RunInstancesRequest runInstancesRequest = 
    new RunInstancesRequest(); 

runInstancesRequest.withImageId("ami-4b814f22") // This is a base image, for example a ubuntu or linux instance 
        .withInstanceType("m1.small") // The size of the instance, these cost more the more powerful they are 
        .withMinCount(1) // Minimum amount of instances you want to launch 
        .withMaxCount(1); // Maximum amount of instances you want to launch 
+0

根據我的理解,上面的代碼將運行已經創建的實例。我們如何創建實例? ImageId和InstanceType具有固定值嗎? – Manish

+2

API調用被命名爲RunInstancesRequest,但是這會產生一個新的實例。我同意AWS的部分內容很差且不一致。 要創建一個服務器,您將需要一個包含操作系統和基本類型的根卷,這就是AMI進入的地方。AWS有大量的默認值。例如Ubuntu 16.04,亞馬遜Linux,紅帽子實例,請選擇(Google爲實際的Id)。還有社區創建的公共AMI,但我建議你堅持使用亞馬遜。當您在實際控制檯中完成啓動實例過程時,這將變得清晰。 –

+0

謝謝。這就說得通了。 – Manish

相關問題