以编程方式在 AWS Elastic Beanstalk 中创建新实例
Create new instances in AWS Elastic Beanstalk programmatically
我是 AWS Elastic Beanstalk 的新手,我试图通过阅读文档并从中进行开发来理解它。随着阅读量的增长,我提出了以下问题:是否可以通过源代码来扩展或缩小应用程序?例如,如果我的应用程序达到某个阈值,它必须扩大规模。
我对此进行了研究,但找不到执行此操作的任何代码,我发现扩展应用程序的唯一方法是通过 AWS Elastic Beanstalk 控制台增加或减少其实例。
任何人都可以帮助我确认是否有办法以编程方式执行此操作,或者放大和缩小的唯一方法是通过控制台执行此操作?
AWS Elastic Beanstalk 确实有一个public API 让您使用代码执行操作。例如,这是此服务的 Java API 的 Java 文档。
Interface ElasticBeanstalkClient
您可以修改某些内容。例如,阅读 updateApplicationVersion 方法。但是,您需要阅读这些 Java 文档来弄清楚什么是可能的,什么是不可能的。
因为还没有 public 个示例 API,这里有一个功能示例描述了如何使用这个 API 来描述已部署的应用程序。
package com.aws.example;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.elasticbeanstalk.ElasticBeanstalkClient;
import software.amazon.awssdk.services.elasticbeanstalk.model.ApplicationDescription;
import software.amazon.awssdk.services.elasticbeanstalk.model.DescribeApplicationsResponse;
import java.util.List;
public class DescribeApplications {
public static void main(String[] args) {
Region region = Region.US_EAST_1;
ElasticBeanstalkClient beanstalkClient = ElasticBeanstalkClient.builder()
.region(region)
.build();
DescribeApplicationsResponse applicationsResponse = beanstalkClient.describeApplications();
List<ApplicationDescription> apps = applicationsResponse.applications();
for (ApplicationDescription app: apps) {
System.out.println("The application name is "+app.applicationName());
System.out.println("The application ARN is "+app.applicationArn());
}
}
}
Elastic Beanstalk 只是为您创建了一些 AWS 资源。这些资源包括 EC2 AutoScaling 组。您将修改 AutoScaling 组的所需实例计数属性以触发缩放事件。您可以在适用于不同编程语言的任何 AWS 开发工具包中执行此操作。
我是 AWS Elastic Beanstalk 的新手,我试图通过阅读文档并从中进行开发来理解它。随着阅读量的增长,我提出了以下问题:是否可以通过源代码来扩展或缩小应用程序?例如,如果我的应用程序达到某个阈值,它必须扩大规模。
我对此进行了研究,但找不到执行此操作的任何代码,我发现扩展应用程序的唯一方法是通过 AWS Elastic Beanstalk 控制台增加或减少其实例。
任何人都可以帮助我确认是否有办法以编程方式执行此操作,或者放大和缩小的唯一方法是通过控制台执行此操作?
AWS Elastic Beanstalk 确实有一个public API 让您使用代码执行操作。例如,这是此服务的 Java API 的 Java 文档。
Interface ElasticBeanstalkClient
您可以修改某些内容。例如,阅读 updateApplicationVersion 方法。但是,您需要阅读这些 Java 文档来弄清楚什么是可能的,什么是不可能的。
因为还没有 public 个示例 API,这里有一个功能示例描述了如何使用这个 API 来描述已部署的应用程序。
package com.aws.example;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.elasticbeanstalk.ElasticBeanstalkClient;
import software.amazon.awssdk.services.elasticbeanstalk.model.ApplicationDescription;
import software.amazon.awssdk.services.elasticbeanstalk.model.DescribeApplicationsResponse;
import java.util.List;
public class DescribeApplications {
public static void main(String[] args) {
Region region = Region.US_EAST_1;
ElasticBeanstalkClient beanstalkClient = ElasticBeanstalkClient.builder()
.region(region)
.build();
DescribeApplicationsResponse applicationsResponse = beanstalkClient.describeApplications();
List<ApplicationDescription> apps = applicationsResponse.applications();
for (ApplicationDescription app: apps) {
System.out.println("The application name is "+app.applicationName());
System.out.println("The application ARN is "+app.applicationArn());
}
}
}
Elastic Beanstalk 只是为您创建了一些 AWS 资源。这些资源包括 EC2 AutoScaling 组。您将修改 AutoScaling 组的所需实例计数属性以触发缩放事件。您可以在适用于不同编程语言的任何 AWS 开发工具包中执行此操作。