・ Préparation à l'éclipse ・ Exécution de l'inscription (un jour) ・ Implementation-Stop / Start EC2
Si vous passez le code Reagion et l'ID d'instance comme arguments, le nom d'instance sera renvoyé. De plus, si le même code Reagion est passé à partir de la deuxième fois, la valeur stockée dans la carte sera renvoyée.
// <reagion id <<incetance id, incetance key name>>
Map<String, Map<String, String>> resolveInstance = new HashMap<>();
private String getEC2InstanceKeyName(String targetReagion, String targetInstanceId) {
if (!resolveInstance.containsKey(targetReagion)) {
// <incetance id, incetance key name>
Map<String, String> incetanceMap = new HashMap<>();
//Obtenir l'ID d'instance et le nom de l'instance(Je sens que je peux l'obtenir sans faire une si grande chose. .. Cependant, cela ne semblait pas possible avec les véritables outils de métadonnées EC2.)
AmazonEC2 ec2 = AmazonEC2ClientBuilder.standard().withRegion(targetReagion).build();
DescribeInstancesResult ec2Info = ec2.describeInstances();
for(Reservation res : ec2Info.getReservations()) {
for(Instance ins : res.getInstances()) {
incetanceMap.put(ins.getInstanceId(), ins.getKeyName());
}
}
resolveInstance.put(targetReagion, incetanceMap);
}
return resolveInstance.get(targetReagion).get(targetInstanceId);
}
Recommended Posts