我可以使用AWS Java API从我在环境中使用runInstances(...)
创建的快照轻松创建实例。我设置快照的方式是自动启动一组进程和其他东西,以便我有一个功能齐全的配置。
我想做的是让实例自动运行我配置的命令并设置启动时间无轮询。有没有这方面的功能?
现在我正在使用Java Secure Channel library进行轮询。但是,我宁愿不必担心它,只要让AWS尽可能地处理它。
命令会在启动时更改,具体取决于运行的方式/时间,因此我可能需要执行以下命令:
SomeBashScript.sh -e SOME_ID some_command
答案 0 :(得分:0)
用于创建实例的API在我用于启动数据的RunInstancesRequest
类上有以下方法:
public void setUserData(String userData)
这完全涵盖了@birryee在User Guide中所说的内容。
因此,我的示例应用程序使用以下Java代码来启动:
// create the actual request
RunInstancesRequest request = new RunInstancesRequest();
request.withMinCount(1).withMaxCount(count);
request.withKeyName("TheOwner");
request.withSecurityGroups("SSH");
request.withInstanceType(InstanceType.T2Micro);
request.withImageId("MyImageID");
request.withRegion(Region.getRegion(Regions.US_EAST_1));
// add a web hook call to notify us when the instance is launched
request.withUserData("#!/bin/bash\ncurl -X POST http://domain.com/email-me");
// launch it
RunInstancesResult awsResponse = awsClient.runInstances(request);