У меня есть собственный AMI, который запускает мой сервис. Используя AWS Java SDK, я создаю экземпляр EC2, используя RunInstancesRequest
из AMI. Теперь, прежде чем я начну использовать свой сервис, я должен убедиться, что только что созданный экземпляр запущен и работает. Я опрашиваю экземпляр, используя:
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()
}
}
}
Поэтому, когда currentState
экземпляра превращается в desiredState
(то есть running
), я получаю статус, что экземпляр готов. Однако любой вновь созданный экземпляр, несмотря на то, что он находится в состоянии running
, недоступен для немедленного использования, поскольку он все еще инициализируется.
Как обеспечить возврат только тогда, когда я смогу получить доступ к экземпляру и его службам? Есть ли какие-либо специальные проверки статуса?
PS: я использую Scala