Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esegui la migrazione da IBM WebSphere Application Server ad Apache Tomcat su Amazon EC2 con Auto Scaling
Creato da Kevin Yung () e Afroz Khan () AWS AWS
Tipo R: Replatform | Fonte: Applicazioni | Target: Apache Tomcat su un'EC2istanza Amazon con Auto Scaling abilitato |
Creato da: AWS | Ambiente: PoC o pilota | Tecnologie: app Web e mobili; migrazione |
Carico di lavoro: open source; IBM | AWSservizi: Amazon EC2 |
Riepilogo
Questo modello fornisce indicazioni per la migrazione di un'applicazione Java da IBM WebSphere Application Server ad Apache Tomcat su un'EC2istanza Amazon Elastic Compute Cloud (Amazon) con Amazon Auto EC2 Scaling abilitato.
Utilizzando questo modello, puoi ottenere:
Una riduzione dei costi IBM di licenza
Elevata disponibilità grazie all'implementazione Multi-AZ
Resilienza delle applicazioni migliorata con Amazon EC2 Auto Scaling
Prerequisiti e limitazioni
Prerequisiti
Applicazioni Java (versione 7). x o 8. x) dovrebbe essere sviluppato in LAMP pile.
Lo stato di destinazione è ospitare applicazioni Java su host Linux. Questo modello è stato implementato con successo in un ambiente Red Hat Enterprise Linux (RHEL) 7. Altre distribuzioni Linux possono seguire questo schema, ma è necessario fare riferimento alla configurazione della distribuzione Apache Tomcat.
È necessario comprendere le dipendenze dell'applicazione Java.
È necessario avere accesso al codice sorgente dell'applicazione Java per apportare modifiche.
Limitazioni e modifiche alla ripiattaforma
È necessario conoscere i componenti di enterprise archive (EAR) e verificare che tutte le librerie siano incluse nei file dei componenti Web. WAR È necessario configurare il WARplug-in Apache Maven
e produrre artefatti di file. WAR Quando si utilizza Apache Tomcat 8, esiste un conflitto noto tra servlet-api.jar e i file jar incorporati nel pacchetto dell'applicazione. Per risolvere questo problema, eliminate servlet-api.jar dal pacchetto dell'applicazione.
È necessario configurare WEB - INF /resources che si trova nel classpath della configurazione di Apache
Tomcat. Per impostazione predefinita, le JAR librerie non vengono caricate nella directory. In alternativa, puoi distribuire tutte le risorse in src/main/resources. Per impostare le opzioni JVM di runtime, è possibile creare il file di configurazione setenv.sh nella cartella bin di Apache Tomcat; ad esempio, _, _, ecc. JAVA OPTS JAVA HOME
L'autenticazione è configurata a livello di contenitore ed è configurata come realm nelle configurazioni di Apache Tomcat. L'autenticazione viene stabilita per uno dei tre ambiti seguenti:
JDBCDatabase Realm
cerca gli utenti in un database relazionale a cui accede il driver. JDBC DataSource Database Realm
cerca gli utenti in un database a cui si accede da. JNDI JNDIDirectory Realm
cerca gli utenti nella directory Lightweight Directory Access Protocol (LDAP) a cui accede il JNDI provider. Le ricerche richiedono: LDAPdettagli di connessione: base di ricerca utente, filtro di ricerca, base di ruoli, filtro di ruolo
La chiave JNDI Directory Realm: connetteLDAP, autentica gli utenti e recupera tutti i gruppi di cui un utente è membro
Autorizzazione: nel caso di un contenitore con un'autorizzazione basata sui ruoli che verifica i vincoli di autorizzazione in web.xml, le risorse web devono essere definite e confrontate con i ruoli definiti nei vincoli. Se LDAP non dispone della mappatura dei ruoli di gruppo, è necessario impostare l'attributo < > in web.xml per ottenere la mappatura dei ruoli di gruppo. security-role-ref Per vedere un esempio di documento di configurazione, consulta la documentazione di Oracle.
Connessione al database: crea una definizione di risorsa in Apache Tomcat con un endpoint URL Amazon Relational Database Service (AmazonRDS) e dettagli di connessione. Aggiorna il codice dell'applicazione in modo che faccia riferimento a utilizzando lookup DataSource . JNDI Una connessione DB esistente definita in non WebSphere funzionerebbe, poiché utilizza i WebSphere JNDI nomi. È possibile aggiungere una <resource-ref>voce in web.xml con il JNDI nome e la definizione del DataSource tipo. Per visualizzare un documento di configurazione di esempio, consultate la documentazione di Apache Tomcat
. Registrazione: per impostazione predefinita, Apache Tomcat accede alla console o a un file di registro. È possibile abilitare la traccia a livello di realm aggiornando logging.properties (vedi Registrazione in Tomcat).
Se utilizzi Apache Log4j per aggiungere log a un file, devi scaricare tomcat-juli e aggiungerlo al classpath. Gestione delle sessioni: se si utilizza IBM Web per il bilanciamento del carico delle applicazioni e la gestione delle sessioni, non è richiesta alcuna SEAL modifica. Se utilizzi un Application Load Balancer o Network Load AWS Balancer per sostituire IBM il componente SEAL Web, devi configurare la gestione delle sessioni utilizzando un'istanza ElastiCache Amazon con un cluster Memcached e configurare Apache Tomcat per utilizzare la gestione delle sessioni open source.
Se si utilizza il proxy IBM Web SEAL forward, è necessario impostare un nuovo Network Load Balancer su. AWS Utilizza il IPs servizio fornito dal Network Load Balancer per le configurazioni di SEAL giunzione Web.
SSLconfigurazione: Si consiglia di utilizzare Secure Sockets Layer (SSL) per le comunicazioni. end-to-end Per configurare una configurazione SSL del server in Apache Tomcat, segui le istruzioni nella documentazione di Apache
Tomcat.
Architettura
Stack di tecnologia di origine
IBM WebSphere Server delle applicazioni
Stack tecnologico Target
L'architettura utilizza Elastic Load Balancing (versione 2). Se si utilizza IBM Web SEAL for Identify per la gestione e il bilanciamento del carico, è possibile selezionare un Network Load Balancer attivo AWS da integrare con IBM il reverse proxy SEAL Web.
Le applicazioni Java vengono distribuite su un server applicativo Apache Tomcat, che viene eseguito su un'EC2istanza in un gruppo Amazon Auto Scaling EC2. Puoi impostare una politica di scalabilità basata su CloudWatch parametri di Amazon come CPU l'utilizzo.
Se stai ritirando l'uso del IBM Web SEAL per il bilanciamento del carico, puoi utilizzare Amazon ElastiCache for Memcached per la gestione delle sessioni.
Per il database di back-end, puoi implementare High Availability (Multi-AZ) per Amazon RDS e selezionare un tipo di motore di database.
Architettura Target
Strumenti
Apache Tomcat (versione 7). x o 8. x)
RHEL7 o Centos 7
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea un cloud privato virtuale (VPC). | ||
Crea sottoreti. | ||
Se necessario, create tabelle di routing. | ||
Crea elenchi di controllo degli accessi alla rete (ACLs). | ||
Configura AWS Direct Connect o una VPN connessione aziendale. |
Attività | Descrizione | Competenze richieste |
---|---|---|
Rifattorizza la configurazione Maven di build dell'applicazione per generare gli artefatti. WAR | ||
Rifattorizza le fonti di dati sulle dipendenze delle applicazioni in Apache Tomcat. | ||
Rifattorizza i codici sorgente dell'applicazione per utilizzare JNDI i nomi in Apache Tomcat. | ||
Distribuisci gli WAR artefatti in Apache Tomcat. | ||
Completa le convalide e i test delle applicazioni. |
Attività | Descrizione | Competenze richieste |
---|---|---|
Configura il firewall aziendale per consentire la connessione ai servizi di dipendenza. | ||
Configura il firewall aziendale per consentire l'accesso dell'utente finale a Elastic Load Balancing on. AWS |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea e distribuisci l'applicazione su un'EC2istanza. | ||
Crea un cluster Amazon ElastiCache for Memcached per la gestione delle sessioni. | ||
Crea un'istanza Amazon RDS Multi-AZ per il database di backend. | ||
Crea SSL certificati e importali in AWS Certificate Manager (ACM). | ||
Installa SSL i certificati sui sistemi di bilanciamento del carico. | ||
Installa SSL i certificati per i server Apache Tomcat. | ||
Convalide e test completi delle applicazioni. |
Attività | Descrizione | Competenze richieste |
---|---|---|
Chiudere l'infrastruttura esistente. | ||
Ripristina il database dalla produzione ad AmazonRDS. | ||
Riduci l'applicazione DNS apportando modifiche. |
Risorse correlate
Riferimenti
Tutorial e video