Anpassen eines Elastic Beanstalk AMI

8

Ich muss auf Elastic Beanstalk eine Java-Anwendung verwenden, die für den Glassfish-Server geschrieben wurde. Aufgrund von Amazon lässt mich nicht ein AMI mit Glassfish wählen, ich wählte eins mit Tomcat und ich änderte meine Anwendung, um richtig auf Tomcat zu arbeiten.

Nun habe ich gesehen, dass ich auch ein Sun JDK verwenden musste, während Elastic Beanstalk AMI standardmäßig mit openjdk ausgeliefert wird. Ich habe viel gegoogelt und einige (nicht so viele Ressourcen) interessante Beiträge wie diese Antwort auf StackOverflow gefunden

Was ich nicht verstehen kann, ist dieser Teil der Antwort:

  

Erstellen Sie Ihre benutzerdefinierte AMI aus einer laufenden Instanz von Amazon's Bohnenranke   AMI, das Sie manuell von EC2 starten, NICHT eines, von dem aus gestartet wurde   Starten Sie Ihre Anwendung über Bohnenstange.

Meine Frage lautet also: Kann jemand ein benutzerdefiniertes AMI mit Glassfish auf Elastic Beanstalk verwenden? Wenn es nicht möglich ist, kann mir jemand erklären, wie man das benutzerdefinierte AMI erstellt?

Danke, Andrea

    
andreaxi 17.08.2012, 08:35
quelle

3 Antworten

10

Diese Antwort bedeutet nur: "Starten Sie keine BeanStalk-Anwendung und schneiden Sie ein AMI nicht direkt von einer dieser Instanzen ab. Starten Sie stattdessen eine Instanz basierend auf den BeanStalk-AMIs (die in der öffentlichen AMI-Liste verfügbar sind)." Das heißt, benutzen Sie eines von diesen; Beachten Sie, dass es 84 von ihnen gibt:

Schneiden Sie Ihr eigenes privates AMI aus, wenn Sie die Instanz fertig konfiguriert haben, und spezifizieren Sie es in Ihrer Bean-Umgebung.

    
Christopher 17.08.2012, 12:18
quelle
6

Ich persönlich fand die ausgewählte Antwort verwirrend für mich, vielleicht weil ich immer noch die AWS-Lernkurve hochklettere. Vielleicht hilft diese Antwort anderen Neulingen. Nachdem ich gerade herausgefunden habe, wie man eine Elastic Beanstalk-Instanz mit meiner eigenen benutzerdefinierten AMI erfolgreich startet, glaube ich, was dieses Zitat sagt, die folgenden, völlig nicht offensichtlichen Schritte zu tun, die nur für mich funktionierten:

  1. Gehen Sie zu den EC2-Diensten (nicht zu den Elastic Beanstalk-Diensten) und starten Sie eine Instanz basierend auf dem Elastic Beanstalk AMI , das Sie als Ausgangspunkt für Ihre benutzerdefinierte AMI verwenden möchten. Du wirst es in einer Minute wegwerfen.

  2. Wählen Sie die Instanz und wählen Sie "Create Image / EBS AMI". Nach der Erstellung können Sie die temporäre EC2-Instanz löschen, die Sie erstellt haben. Es war nur Zweck, das benutzerdefinierte AMI zu erstellen.

  3. Gehen Sie jetzt zu den Elastic Beanstalk-Diensten und bearbeiten Sie Ihre Konfiguration, um auf Ihren benutzerdefinierten AMI zu verweisen.

Danger 08.04.2013 20:56
quelle
1

@Danger Es würde den Skalierungsprozess beschleunigen.

Ich verwende eine Docker-App auf EB, aber "docker pull" von Docker Hub ist so langsam, so dass meine Site in 15-30 Minuten ausgefallen wäre, wenn alle Instanzen ungesund sind. Erstellen Sie ein benutzerdefiniertes AMI und ziehen Sie ein Docker-Basisbild, um Zeit zu sparen.

    
Thi 16.12.2014 01:56
quelle