- Newest
- Most votes
- Most comments
Hi owen,
Possible Reasons:
-
Instance Termination: When you manually scale up or down, GameLift might terminate instances to bring the fleet to the desired capacity. If there are active sessions on these instances, they may get terminated as part of this process.
-
Graceful Shutdown: GameLift usually attempts to terminate instances gracefully, but if the scaling action is too abrupt, some sessions might not have enough time to complete their operations before being terminated.
-
Health Check Failures: Sometimes, when scaling up, new instances might fail initial health checks, causing the GameLift service to terminate those instances and any sessions running on them.
How to Prevent This:
-
Use Auto-Scaling: Instead of manual scaling, consider configuring target-based auto-scaling policies. Auto-scaling is designed to scale fleets up or down more smoothly, reducing the risk of sudden terminations.
-
Instance Protection: Consider using instance protection during scaling activities. This can prevent GameLift from terminating instances with active game sessions during a scaling event. You can find more information on this in the GameLift documentation.
-
Graceful Session Shutdown: Ensure that your game servers can handle shutdown requests gracefully. When an instance is terminated, GameLift sends a
ProcessTerminate
signal. Make sure your game server processes this signal correctly, allowing it to complete ongoing sessions or notify players of the termination. -
Monitoring and Logging: Enable detailed logging and monitoring to track why instances are being terminated. CloudWatch logs can provide insights into whether instances are failing health checks or being terminated due to other reasons.
Further Reading:
I hope this helps! 😁
Relevant content
- Accepted Answerasked 2 years ago
- asked 2 years ago
- AWS OFFICIALUpdated 9 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 3 months ago
Instance Protection? I will try this. thank you for your answer!