Sla*_*ast 5 scala amazon-ec2 amazon-web-services aws-sdk aws-java-sdk
我有一个运行我的服务的自定义AMI。使用AWS Java SDK,我使用RunInstancesRequest
AMI 创建EC2实例。现在,在开始使用服务之前,必须确保新创建的实例已启动并正在运行。我使用以下方法轮询实例:
var transitionCompleted = false
while (!transitionCompleted) {
val currentState = instance.getState.getName
if (currentState == desiredState) {
transitionCompleted = true
}
if(!transitionCompleted) {
try {
Thread.sleep(TRANSITION_INTERVAL)
} catch {
case e: InterruptedException => e.printStackTrace()
}
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当currentState
实例的变成desiredState
(是running
)时,我得到实例已准备就绪的状态。但是,任何新创建的实例尽管处于running
状态,但仍在初始化中,因此无法立即使用。
如何确保仅在能够访问实例及其服务时才返回?是否要进行任何特定的状态检查?
PS:我使用Scala
归档时间: |
|
查看次数: |
965 次 |
最近记录: |