How to know if my instance will be terminated in ec2?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







1















I have a autoscalling in AWS, that basically do:




  1. Run a python process script.py

  2. This script get messages from sqs queue to process


My autoscalling is configured to start/terminate instance based on # of avaliables messages in queue. But sometimes when i processing something in machines and my # of messages, my autoscaling trigger to terminate instances, so i end losting message in the middle of processing.



I starting trying to handler signals but does not seem to be working.



My main goal is:




  • If i know that my instance will be terminate soon, i will wait finishing my current processes (i will not get any new message) and them i send a signal "OK" to AWS to shutdown the instance.


Is there anyway to archive this? I'm not using load balancing because i manually get the messages from queue.










share|improve this question

























  • Worst case, if an instance is terminated while processing a message, the message will automatically "reappear" on the queue after a certain period. This allows it to be reprocessed. Only when a message is Deleted will it not reappear.

    – John Rotenstein
    Jan 4 at 21:26


















1















I have a autoscalling in AWS, that basically do:




  1. Run a python process script.py

  2. This script get messages from sqs queue to process


My autoscalling is configured to start/terminate instance based on # of avaliables messages in queue. But sometimes when i processing something in machines and my # of messages, my autoscaling trigger to terminate instances, so i end losting message in the middle of processing.



I starting trying to handler signals but does not seem to be working.



My main goal is:




  • If i know that my instance will be terminate soon, i will wait finishing my current processes (i will not get any new message) and them i send a signal "OK" to AWS to shutdown the instance.


Is there anyway to archive this? I'm not using load balancing because i manually get the messages from queue.










share|improve this question

























  • Worst case, if an instance is terminated while processing a message, the message will automatically "reappear" on the queue after a certain period. This allows it to be reprocessed. Only when a message is Deleted will it not reappear.

    – John Rotenstein
    Jan 4 at 21:26














1












1








1








I have a autoscalling in AWS, that basically do:




  1. Run a python process script.py

  2. This script get messages from sqs queue to process


My autoscalling is configured to start/terminate instance based on # of avaliables messages in queue. But sometimes when i processing something in machines and my # of messages, my autoscaling trigger to terminate instances, so i end losting message in the middle of processing.



I starting trying to handler signals but does not seem to be working.



My main goal is:




  • If i know that my instance will be terminate soon, i will wait finishing my current processes (i will not get any new message) and them i send a signal "OK" to AWS to shutdown the instance.


Is there anyway to archive this? I'm not using load balancing because i manually get the messages from queue.










share|improve this question
















I have a autoscalling in AWS, that basically do:




  1. Run a python process script.py

  2. This script get messages from sqs queue to process


My autoscalling is configured to start/terminate instance based on # of avaliables messages in queue. But sometimes when i processing something in machines and my # of messages, my autoscaling trigger to terminate instances, so i end losting message in the middle of processing.



I starting trying to handler signals but does not seem to be working.



My main goal is:




  • If i know that my instance will be terminate soon, i will wait finishing my current processes (i will not get any new message) and them i send a signal "OK" to AWS to shutdown the instance.


Is there anyway to archive this? I'm not using load balancing because i manually get the messages from queue.







amazon-web-services amazon-ec2






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 4 at 17:20







Gaspar

















asked Jan 4 at 17:05









GasparGaspar

237




237













  • Worst case, if an instance is terminated while processing a message, the message will automatically "reappear" on the queue after a certain period. This allows it to be reprocessed. Only when a message is Deleted will it not reappear.

    – John Rotenstein
    Jan 4 at 21:26



















  • Worst case, if an instance is terminated while processing a message, the message will automatically "reappear" on the queue after a certain period. This allows it to be reprocessed. Only when a message is Deleted will it not reappear.

    – John Rotenstein
    Jan 4 at 21:26

















Worst case, if an instance is terminated while processing a message, the message will automatically "reappear" on the queue after a certain period. This allows it to be reprocessed. Only when a message is Deleted will it not reappear.

– John Rotenstein
Jan 4 at 21:26





Worst case, if an instance is terminated while processing a message, the message will automatically "reappear" on the queue after a certain period. This allows it to be reprocessed. Only when a message is Deleted will it not reappear.

– John Rotenstein
Jan 4 at 21:26












1 Answer
1






active

oldest

votes


















4














you can use AWS autoscaling lifecycle hooks, they will put your ec2 instance in wait state before terminating it and deliver a message to SNS or cloudwatch that your instance is ready to terminate you can finish your already processed message in the mean time, i found an interesting blog post explaining the use case similar to yours .



AWS autoscaling lifecycle hooks






share|improve this answer
























  • I will take a look! Hope that solve my problem! Thanks.

    – Gaspar
    Jan 4 at 17:30











  • i believe it will

    – varnit
    Jan 4 at 17:30














Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54043254%2fhow-to-know-if-my-instance-will-be-terminated-in-ec2%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









4














you can use AWS autoscaling lifecycle hooks, they will put your ec2 instance in wait state before terminating it and deliver a message to SNS or cloudwatch that your instance is ready to terminate you can finish your already processed message in the mean time, i found an interesting blog post explaining the use case similar to yours .



AWS autoscaling lifecycle hooks






share|improve this answer
























  • I will take a look! Hope that solve my problem! Thanks.

    – Gaspar
    Jan 4 at 17:30











  • i believe it will

    – varnit
    Jan 4 at 17:30


















4














you can use AWS autoscaling lifecycle hooks, they will put your ec2 instance in wait state before terminating it and deliver a message to SNS or cloudwatch that your instance is ready to terminate you can finish your already processed message in the mean time, i found an interesting blog post explaining the use case similar to yours .



AWS autoscaling lifecycle hooks






share|improve this answer
























  • I will take a look! Hope that solve my problem! Thanks.

    – Gaspar
    Jan 4 at 17:30











  • i believe it will

    – varnit
    Jan 4 at 17:30
















4












4








4







you can use AWS autoscaling lifecycle hooks, they will put your ec2 instance in wait state before terminating it and deliver a message to SNS or cloudwatch that your instance is ready to terminate you can finish your already processed message in the mean time, i found an interesting blog post explaining the use case similar to yours .



AWS autoscaling lifecycle hooks






share|improve this answer













you can use AWS autoscaling lifecycle hooks, they will put your ec2 instance in wait state before terminating it and deliver a message to SNS or cloudwatch that your instance is ready to terminate you can finish your already processed message in the mean time, i found an interesting blog post explaining the use case similar to yours .



AWS autoscaling lifecycle hooks







share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 4 at 17:22









varnitvarnit

1,307519




1,307519













  • I will take a look! Hope that solve my problem! Thanks.

    – Gaspar
    Jan 4 at 17:30











  • i believe it will

    – varnit
    Jan 4 at 17:30





















  • I will take a look! Hope that solve my problem! Thanks.

    – Gaspar
    Jan 4 at 17:30











  • i believe it will

    – varnit
    Jan 4 at 17:30



















I will take a look! Hope that solve my problem! Thanks.

– Gaspar
Jan 4 at 17:30





I will take a look! Hope that solve my problem! Thanks.

– Gaspar
Jan 4 at 17:30













i believe it will

– varnit
Jan 4 at 17:30







i believe it will

– varnit
Jan 4 at 17:30






















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54043254%2fhow-to-know-if-my-instance-will-be-terminated-in-ec2%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Mossoró

Can't read property showImagePicker of undefined in react native iOS

Pushsharp Apns notification error: 'InvalidToken'