2017-02-02 2 views
0

Ich sehe keine Antworten dafür beim googlen, also ist es wahrscheinlich, dass ich eine dumme Frage stelle, aber hier geht!aws bekomme Zeit nach Cloud

Ich möchte die aws api anrufen, um zu sehen, wie viel Zeit meine Cloud-Dienste haben, denn das scheint sich von meiner lokalen Serverzeit zu unterscheiden (um einen kleinen aber signifikanten Betrag).

Für ein bisschen mehr Kontext, ich führe einen automatisierten Test, der überprüfen muss, dass ein neues Objekt in S3 als Ergebnis des Systems im Test funktioniert. Das Objekt, das erstellt wird, erhält von AWS einen Zeitstempel in seinem Namen basierend auf der Amazon Server Zeit. Ich benutze diesen Zeitstempel, um das Objekt von allen anderen Objekten im Bucket zu unterscheiden, da es der einzige mit einer Zeit nach dem Start meines Testlaufs sein wird. Leider endet die Zeit, die es von Amazon bekommt, ein paar Sekunden bevor der Test gestartet wird, weil meine Serverzeit vor Amazon liegt.

Also wenn ich die "Wolke" Startzeit zu Beginn meines Tests bekommen könnte und vergleichen, dass ich dieses Problem nicht haben werde.

EDIT

Falls jemand das gleiche Problem hat, habe ich diese quick and dirty Abhilfe in C#, im Geist der akzeptierten Antwort aber nicht ganz so rigorose.

public async Task<DateTime> EstimateInternetTime() 
{ 
    var httpClient = new HttpClient(); 
    var response = await httpClient.GetAsync("http://google.com"); 
    return response.Headers.Date.Value.UtcDateTime; 
} 

Antwort

3

Es gibt keine „Wolke Zeit“, also keine Möglichkeit, Zeitstempel zu denen passen genau in AWS verwendet, um sicherzustellen.

Das Beste, was Sie tun können, ist Ihre Uhr mit NTP zu einem öffentlichen NTP-Server zu synchronisieren.

Amazon hat einen eigenen Pool von NTP-Server, die Sie verwenden können:

  • 0.amazon.pool.ntp.org
  • 1.amazon.pool.ntp.org
  • 3. amazon.pool.ntp.org
  • 2.amazon.pool.ntp.org

In vielen Fällen werden die EC2-Instanzen bereits diese Server konfiguriert.

finden Sie in der AWS-Dokumentation über die Konfiguration von NTP auf dem Linux-Server:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html#configure_ntp

Verwandte Themen