Keras neural network entirely different results on two different hardwares (one is AWS)
Consistency in models / predictions in Keras depend on the following:

Software Stack: The most uncommon problem, sometimes there are differences in different version of the numerical software which may change results.

Difference in Backends: Keras supports the TensorFlow backend, the Theano backend, and the CNTK backend. All of which will yield slightly different models. In the python console you can check the version with a message similar to:

Using TensorFlow backend.



You can switch backends using the following guide: Backend utilities | Keras

Setting seeds: In order to have consistency among models you need to set random seeds accordingly. In the case of Keras and Tensorflow backend, you need to set two random seeds:

In numpy

from numpy.random import seed


seed(123)

In tensorflow

from tensorflow import set_random_seed


set_random_seed(123)

There are other more intricate details for setting seeds in certain parts of the graph in Tensorflow explained better on this Stack Overflow answer and the set_random_seed() API documantation on Tensorflow's website.

Additional randomness added by GPUs: According to this MachineLearningMastery article there is even more randomness being added to a model when GPUs are used.

Intuitively in your problem, the source of randomness comes from not having set the appropriate seeds in numpy and Tensorflow, so start from there and start exploring the other options and documentations. Also remember that if you're using a different backend (Theano or CNTK), setting seeds will require a different function to be called.
An additional recommendation is to look for bugs in the script, version of downloaded binaries, warnings and errors during installation in case the result are too different. Something could be broken if one instance doesn't perform as expected and a fresh install might be necessary.