通过SDK使用阿里云服务器ECS实例
网站编辑2020-10-22 10:26:48710
通过SDK使用阿里云服务器ECS实例。典名科技介绍如果您是一位开发者,那就可以通过SDK的方式创建阿里云服务器的ECS实例。本文将为您推荐如何才能通过Java SDK创建阿里云服务器的ECS实例。
SDK一般指软件开发工具包。软件开发工具包一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
怎样准备Java SDK的环境
在使用Java SDK创建ECS实例前,您需要配置好Java SDK环境,并在Maven项目的pom.xml文件中,添加阿里云核心库aliyun-java-sdk-core、云服务器aliyun-java-sdk-ecs、专有网络aliyun-java-sdk-vpc和fastjson依赖。(阿里云开发者中心为您提供了ECS Java SDK以及阿里云核心库的Maven项目依赖及jar包,您可以编写代码调用阿里云SDK来实现对阿里云的产品和服务的访问。)
在pom.xml文件中新增专有网络aliyun-java-sdk-vpc依赖,如下所示。
<dependencies>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.4.3</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-ecs</artifactId>
<version>4.17.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.60</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vpc</artifactId>
<version>3.0.9</version>
</dependency>
</dependencies>获取AccessKey信息
创建AccessKey,访问密钥AccessKey(AK)相当于登录密码,只是使用场景不同。AccessKey用于程序方式调用云服务API,而登录密码用于登录控制台。如果您不需要调用API,那么就不需要创建AccessKey。


创建ECS实例所需资源
购买一个包年包月的ECS实例
| API | 参数 | 示例取值 |
|---|---|---|
| RunInstances | RegionId | 地域:cn-hangzhou |
| ImageId | 镜像:推荐使用Alibaba Cloud Linux镜像aliyun_2_1903_x64_20G_alibase_20200324.vhd。 | |
| InstanceType | 实例规格:
| |
| SecurityGroupId | 安全组ID:使用步骤3返回的结果。 示例:sg-bp1dve08xy2c8y9g**** | |
| VSwitchId | 交换机ID:使用步骤2返回的结果。 示例:vsw-bp1mihse903i05oxn**** | |
| InstanceName | 实例名称。 示例:ecs_sdk_demo | |
| InstanceChargeType | 付费方式:实例按照包年包月的付费方式PrePaid。 说明 您需要确保账号余额能够完成支付。 | |
| PeriodUnit | 付费周期单位:Month | |
| Period | 付费时长:1 | |
| InternetMaxBandwidthOut | 公网IP带宽:1 | |
| Password | 实例登录密码: 说明 您需要自定义复杂密码以保护ECS实例的安全。 |
以下代码示例表示创建包年包月的ECS实例。
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.ecs.model.v20140526.*;
public class RunInstances {
public static void main(String[] args) {
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "", "");
IAcsClient client = new DefaultAcsClient(profile);
RunInstancesRequest request = new RunInstancesRequest();
request.setRegionId("cn-hangzhou");
request.setImageId("aliyun_2_1903_x64_20G_alibase_20200324.vhd");
request.setInstanceType("ecs.s6-c1m2.small");
request.setSecurityGroupId("sg-bp1dve08xy2c8y9g****");
request.setVSwitchId("vsw-bp1mihse903i05oxn****");
request.setInstanceName("ecs_sdk_demo");
request.setInternetMaxBandwidthOut(1);
request.setPassword("" );
request.setPeriod(1);
request.setPeriodUnit("Month");
request.setInstanceChargeType("PrePaid");
try {
RunInstancesResponse response = client.getAcsResponse(request);
System.out.println(new Gson().toJson(response));
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
System.out.println("ErrCode:" + e.getErrCode());
System.out.println("ErrMsg:" + e.getErrMsg());
System.out.println("RequestId:" + e.getRequestId());
}
}
}返回结果如下所示。
{
"requestId": "9582F9F2-349C-438E-A6A2-3E7B6B56****",
"tradePrice": ****,
"instanceIdSets": ["i-bp1hcv43i3glqxbv****"]
}连接ECS实例
此示例介绍通过Cloud Shell登录Linux实例。如果您安装的是Windows实例,登录方式请参见在本地客户端上连接Windows实例。
此示例介绍通过Cloud Shell登录Linux实例。如果本地设备使用Windows操作系统,您可以使用Windows自带的远程桌面连接工具MSTSC连接Windows实例。
查询实例公网IP地址。
| API | 参数 | 示例取值 |
|---|---|---|
| DescribeInstances | RegionId | 地域:cn-hangzhou |
| InstanceIds | 实例ID:使用购买ECS实例返回的结果。 示例:'["i-bp1hcv43i3glqxbv****"]' |
包年包月实例到期后,您可以手动释放。如果一直未续费,实例也会自动释放。
如果您想要提前释放包年包月实例,阿里云目前支持三种退订类型:五天无理由退订、非五天无理由退订、未生效续费订单退订。有一条一定要注意的限制是退款只退还实付金额,已使用的代金券不退还。









