GNU/Linux >> Belajar Linux >  >> Linux

Migrasikan aplikasi web Java dari Amazon Web Services

Bagian sebelumnya: Sediakan sumber daya cloud saat bermigrasi dari AmazonWebServices

Artikel ini menunjukkan cara memigrasikan aplikasi web Spring berbasis Apache® Tomcat® dan Java™ dari Amazon® Web Services®(AWS) ke Rackspace Cloud. Contoh ini membutuhkan waktu sekitar 30 menit untuk diselesaikan.

Contoh menggunakan Spring PetClinic SampleApplication.

Gambar berikut menunjukkan topologi aplikasi:

Prasyarat

Prasyarat berikut diperlukan untuk mengikuti contoh dalam artikel ini:

  • Instans Amazon Elastic Compute Cloud (EC2) di AWS dengan akses rootyang menjalankan aplikasi web Spring di Apache Tomcat.
  • Akun yang valid dan aktif di Rackspace Cloud.

Persiapan

Lakukan langkah-langkah berikut sebelum Anda mencoba mengikuti langkah-langkah dalam latihan:

  • Identifikasi sumber daya yang ingin Anda migrasikan, termasuk sumber daya aplikasi dan basis data.
  • Buat daftar semua paket perangkat lunak yang diperlukan yang diinstal pada instans EC2 Anda, selain aplikasi Spring Anda.
  • Buat daftar semua server Amazon tambahan yang digunakan aplikasi (misalnya, Simple Email Server (SES) untuk email atau Relational Database Service (RDS) untuk database).
  • Jika Anda belum melakukannya, buat instance Cloud Server dan semua layanan Rackspace Cloud yang mendukung.

Instal paket perangkat lunak

Instal paket perangkat lunak berikut:

  • Oracle® Open Java Development Kit (OpenJDK™)
  • Apache Tomcat
  • OpenStack® Swift (opsional)

Instal OpenJDK di awan

Selesaikan langkah-langkah berikut untuk menginstal OpenJDK di cloud:

  1. Menggunakan Secure Shell (SSH), sambungkan ke instance Cloud Server dengan menggunakan URL RackspacePublicNet dan kata sandi root.

  2. Masukkan kata sandi root untuk masuk.

  3. Instal OpenJDK 7 dengan memasukkan perintah berikut:

    sudo yum install java-1.7.0-openjdk-devel
    
  4. Tentukan lokasi JAVA_HOME dengan memasukkan perintah berikut:

    ll /etc/alternatives/java
    

    Pada contoh output berikut, JAVA_HOME terletak di/usr/lib/jvm/jre-1.7.0-openjdk.x86_64 :

    /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
    

Instal Tomcat di Server Cloud

Gunakan langkah-langkah berikut untuk menginstal Tomcat di Server Cloud:

  1. Klik kanan versi Tomcat yang ingin Anda gunakan dari halaman Unduhan Perangkat Lunak Tomcat 7 dan salin URL tar.gz file (misalnya,https://www.us.apache.org/dist/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39.tar.gz ).

  2. Masukkan perintah berikut untuk mengubah direktori ke /usr/share (atau direktori yang ingin Anda gunakan) dan unduh file biner:

     cd /usr/share
     sudo wget https://www.us.apache.org/dist/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39.tar.gz
    
  3. Ubah izin dengan memasukkan perintah berikut:

     sudo chmod 775 apache-tomcat-7.0.39.tar.gz
    
  4. Ekstrak isi file dengan memasukkan perintah berikut:

     sudo tar zxvf apache-tomcat-7.0.39.tar.gz
    
  5. Setelah Anda mengekstrak Tomcat, gunakan perintah berikut untuk menghapus tar.gz file dan kosongkan ruang:

     sudo rm apache-tomcat-7.0.39.tar.gz
    
  6. Setel variabel lingkungan di catalina.sh file dengan memasukkan perintah berikut:

     cd /usr/share/apache-tomcat-7.0.39/bin
     sudo vi catalina.sh
    
  7. Tambahkan baris berikut ke catalina.sh file segera setelah\#!/bin/sh :

     JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
    
  8. Simpan perubahan Anda dan keluar dari file.

  9. Otomatiskan startup Tomcat dengan memasukkan perintah berikut:

     cd /etc/init.d
     sudo vi tomcat
    
  10. Tambahkan informasi berikut ke file. Pastikan JAVA_HOME ,TOMCAT_HOME , START_TOMCAT , dan STOP_TOMCAT lihat direktori yang benar:

    #!/bin/bash
    # chkconfig: 234 20 80
    # description: Tomcat Server basic start/shutdown script
    # processname: tomcat
    JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
    export JAVA_HOME
    TOMCAT_HOME=/usr/share/apache-tomcat-7.0.39/bin
    START_TOMCAT=/usr/share/apache-tomcat-7.0.39/bin/startup.sh
    STOP_TOMCAT=/usr/share/apache-tomcat-7.0.39/bin/shutdown.sh
    start() {
    echo -n "Starting tomcat: "
    cd $TOMCAT_HOME
    ${START_TOMCAT}
    echo "done."
    }
    stop() {
    echo -n "Shutting down tomcat: "
    
    cd $TOMCAT_HOME
    ${STOP_TOMCAT}
    echo "done."
    }
    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    stop
    sleep 10
    start
    ;;
    *)
    echo "Usage: $0 {start|stop|restart}"
    esac
    exit 0
    
  11. Simpan perubahan Anda dan keluar dari file.

  12. Setel izin file, siapkan Tomcat sebagai layanan sistem, dan uji penyiapan dengan memasukkan perintah berikut:

    sudo chmod 755 tomcat
    sudo /sbin/chkconfig --add tomcat
    sudo /sbin/chkconfig --level 234 tomcat on
    sudo /sbin/chkconfig --list tomcat
    

    Outputnya harus mirip dengan contoh berikut:

     tomcat 0:off 1:off 2:on 3:on 4:on 5:off 6:off
    
  13. Karena Tomcat berjalan pada port 8080, Anda perlu memastikan bahwa iptables tidak mengganggu konektivitas.

  14. Untuk menguji Tomcat, cari alamat Internet Protocol (IP) untuk CloudServer di Cloud Control Panel dan buka URL di browser (misalnya, https://<ipAddress>:8080/ ). Halaman arahan Apache Tomcat akan muncul.

    Catatan :Anda dapat menghentikan dan memulai Tomcat dengan menggunakan perintah berikut:

    sudo /sbin/service tomcat stop
    sudo /sbin/service tomcat start
    

Instal OpenStack Swift (opsional)

Jika Anda berencana menggunakan Cloud Files untuk mentransfer data Anda, Anda perlu menggunakan OpenStack Swift untuk mengaktifkan akses dari server Anda. Ikuti langkah-langkah di bagian ini untuk menginstal dan mengkonfigurasi OpenStack Swift.

  1. Gunakan perintah berikut untuk menginstal klien OpenStack Swift:

     sudo yum install python-novaclient python-glanceclient swift
    
  2. Setel variabel lingkungan yang diperlukan dengan menjalankan perintah berikut, dengan mengganti nama pengguna akun Rackspace Cloud dan kunci API Anda:

     export ST_USER=<yourLoginUsername>
     export ST_KEY=<yourApiKey>
     export ST_AUTH=https://identity.api.rackspacecloud.com/v1.0/
    

    Anda mungkin ingin mendefinisikan variabel-variabel ini di .bashrc . Anda atau.bash\_profile mengajukan. Jika Anda melakukan langkah ini, Anda harus memuat ulang file dengan source berikut perintah, menggantikan .bash\_profile untuk.bashrc jika perlu:

         source .bashrc
    
  3. Ketik swift list dan pastikan Anda dapat melihat wadah yang Anda buat untuk menyimpan data Anda.

Cadangkan data dari AWS ke File Cloud Rackspace

Ambil data Anda dari AWS EC2. Anda dapat menggunakan salah satu metode berikut untuk mentransfer data:

  • Transfer data secara langsung menggunakan rsync atau SSH File Transfer Protocol (SFTP).
  • Gunakan klien OpenStack Swift untuk mentransfer data Anda ke Cloud Files, lalu transfer data dari Cloud Files ke Cloud Server.

Selesaikan langkah-langkah persiapan berikut untuk menggunakan File Cloud:

  1. Gunakan perintah berikut untuk terhubung ke instans EC2 Anda dengan menggunakan SSH:

    ssh -i yourPrivateKey.pem [email protected]
    
  2. Lakukan dump database dengan menggunakan perintah berikut:

    mysqldump -h <rdsHostname> -u <rdsUsername> -p --triggers --routines --databases petclinic | gzip > ~/petclinic.sql.gz
    
  3. Gunakan perintah berikut untuk mencadangkan aplikasi Anda dan semua sumber daya lain yang dibutuhkan aplikasi, termasuk log dan direktori lain:

    # Ensure that you have the correct tomcat7 directory
    sudo tar cvzf ~/tomcat.tar.gz /usr/share/tomcat7/webapps/*
    
  4. Jika Anda menggunakan File Cloud untuk mentransfer file Anda, gunakan salah satu metode berikut untuk melakukan transfer. Jika Anda mentransfer file secara langsung menggunakan rsync atau SFTP, lewati ke bagian terakhir artikel ini.

    • Masukkan perintah berikut untuk mengunggah arsip Anda ke wadah CloudFiles (Tomcat dalam contoh ini) dengan menggunakan klienSwift:

      swift upload Tomcat petclinic.sql.gz
      swift upload Tomcat tomcat.tar.gz
      
    • Gunakan langkah-langkah berikut untuk mengunggah data Anda ke File Cloud melalui Panel Kontrol Cloud:

      1. Dari Pilih Produk menu tarik-turun, pilih RackspaceCloud> Storage> Files> containerName untuk membuka wadah Anda.

      2. Klik Unggah File .

      3. Klik Jelajahi , pilih file atau file yang ingin Anda unggah, dan klik Buka , Pilih , atau Pilih (tergantung pada browser dan sistem yang Anda gunakan).

      4. Klik Unggah File .

Pulihkan data dari File Cloud ke Server Cloud

Jika Anda mengunggah data Anda ke File Cloud, gunakan langkah-langkah berikut untuk mentransfernya ke Server Cloud Anda:

  1. Menggunakan SSH, sambungkan ke instance Cloud Server dengan menggunakan PublicNetURL dan kata sandi root.

  2. Instal dan konfigurasikan antarmuka baris perintah (CLI) Swift dengan mengikuti langkah-langkah di bagian “Menginstal paket perangkat lunak” di artikel ini.

  3. Pastikan Anda dapat menjalankan swift list perintah dan lihat wadah baru yang Anda buat di hasil.

  4. Gunakan perintah berikut untuk mengunduh dump database dari cadangan yang Anda ambil di bagian “Cadangkan data dari AWS ke File Cloud Rackspace” pada artikel ini dan pulihkan secara lokal:

    swift download Tomcat petclinic.sql.gz
    gunzip < petclinic.sql.gz | mysql -u <cloudDatabaseUsername> -p -h <cloudDatabaseHostname>
    
  5. Gunakan perintah berikut untuk menghentikan Tomcat dan mengunduh serta mengekstrak file aplikasi:

    sudo /sbin/service tomcat stop
    swift download Tomcat tomcat.tar.gz
    tar -zxvf tomcat.tar.gz
    
  6. Salin konten aplikasi web yang diekstrak ke Tomcatwebapps lokal direktori dan memodifikasi properti aplikasi (termasukjdbc.url , nama pengguna basis data, kata sandi basis data, dan properti lainnya).

  7. Dalam contoh Spring Framework Petclinic, beri komentar pada file berikut:

     petclinic/WEB-INF/classes/db/mysql/initDB.sql
     petclinic/WEB-INF/classes/db/mysql/populateDB.sql
    
  8. Gunakan perintah berikut untuk memulai ulang Tomcat:

    sudo /sbin/service tomcat start
    

Uji aplikasi Anda

Akses aplikasi web di browser Anda dihttps://<cloudServerIPAddress>:8080/petclinic .

Langkah selanjutnya

Pertimbangan pascamigrasi saat bermigrasi dari Amazon WebServices

Untuk skenario migrasi lainnya, lihat artikel berikut:

  • Migrasikan aplikasi .NET dari Amazon WebServices
  • Memigrasikan aplikasi berdasarkan Backbone.js, Node.js, dan MongoDB dari Layanan Web Amazon

Linux
  1. Pitchfork - aplikasi web Rackspace Cloud API

  2. Pertimbangan pascamigrasi saat bermigrasi dari Amazon Web Services

  3. Siapkan CORS di File Cloud

  1. Cara Migrasi dari CentOS 8 ke Rocky Linux 8

  2. Bangun aplikasi Anda di cloud Rackspace

  3. Langkah tingkat tinggi untuk bermigrasi dari Amazon Web Services

  1. Pemetaan sumber daya Amazon Web Services ke sumber daya Rackspace

  2. Bermigrasi Dari Parse Ke Rackspace

  3. Bermigrasi ke Rackspace Cloud dari Amazon Web Services