GNU/Linux >> Belajar Linux >  >> Linux

Migrasikan aplikasi berdasarkan Backbone.js, Node.js, dan MongoDB dari Amazon Web Services

Bagian sebelumnya: Sediakan sumber daya cloud saat bermigrasi dari Amazon Web Services

Skenario ini menunjukkan cara memigrasikan aplikasi Backbone.js, Node.js, dan MongoDB® dari Amazon Web Services (AWS) ke Rackspace Cloud. Dibutuhkan sekitar 30 menit untuk menyelesaikannya.

Diagram berikut menunjukkan topologi aplikasi:

Prasyarat

Skenario ini memiliki prasyarat berikut:

  • Stack aplikasi di AWS dengan akses root atau hak istimewa yang sesuai untuk masing-masing instans dan layanan.
  • Akun yang valid dan aktif di Rackspace Cloud.

Persiapan

Selesaikan langkah-langkah berikut sebelum Anda memulai skenario:

  • 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 Amazon Elastic Compute Cloud (EC2) Anda selain Backbone.js, Node.js, dan MongoDB.
  • Buat daftar semua layanan Amazon tambahan yang digunakan aplikasi Anda, seperti Simple Email Service (SES) untuk email atau Relational DatabaseService (RDS) untuk database.
  • Jika Anda belum melakukannya, buat instance Cloud Server dan semua layanan Rackspace Cloud yang mendukung.

Instal paket perangkat lunak

Bagian ini memberikan petunjuk untuk menginstal paket perangkat lunak yang diperlukan dan opsional.

Instal Git dan cURL

Anda perlu menggunakan Git dan cURL untuk mendapatkan komponen dependen seperti Node.js.

Jalankan perintah berikut untuk menginstal git dan cURL:

sudo apt-get -y install git curl

Instal Python (opsional)

Ubuntu® versi 12.0.4 Dukungan Jangka Panjang (LTS) termasuk Python®versi 2.7.2. Jika Anda memerlukan versi yang berbeda, Anda dapat menginstalnya dari halaman unduhan Python.

Instal OpenJDK

Gunakan langkah-langkah berikut untuk menginstal OpenJDK™:

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

  2. Instal OpenJDK 7 dengan memasukkan perintah berikut:

     sudo apt-get -y install openjdk-7-jre
    
  3. 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-amd64 :

     /etc/alternatives/java -> /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java*
    

Instal Tomcat 7 di server awan

Gunakan langkah-langkah berikut untuk menginstal Apache® Tomcat®:

  1. Masukkan perintah berikut untuk menginstal Tomcat 7:

     sudo apt-get -y install tomcat7
    

    Jika Anda ingin menginstal versi Tomcat yang berbeda atau menginstal Tomcat secara manual, pilih versi dari halaman Unduhan Perangkat Lunak Tomcat 7.

  2. 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 ).

  3. Ubah direktori menjadi /usr/share (atau direktori yang ingin Anda gunakan) dan unduh file biner dengan memasukkan perintah berikut:

     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
    
  4. Ubah izin dengan memasukkan perintah berikut:

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

     sudo tar zxvf apache-tomcat-7.0.39.tar.gz
    
  6. Setelah Tomcat diekstrak, hapus tar.gz file untuk menghemat ruang dengan memasukkan perintah berikut:

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

     cd /usr/share/apache-tomcat-7.0.39/bin
     sudo vi catalina.sh
    
  8. Tambahkan baris berikut tepat setelah \#!/bin/sh :

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

  10. Otomatiskan startup Tomcat dengan menggunakan perintah berikut:

    cd /etc/init.d
    sudo vi tomcat
    
  11. 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
    
  12. Simpan perubahan Anda dan keluar dari file.

  13. 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
    
  14. Karena Tomcat berjalan pada port 8080, pastikan iptables tidak mengganggu konektivitas.

    Untuk mempelajari tentang iptables, lihat Pengantar iptables.

  15. Uji Tomcat dengan mencari alamat Internet Protocol (IP) untuk cloudserver dari Rackspace Cloud Control Panel dan membuka URL di browser (misalnya, https://:8080/ ).

    Halaman arahan Apache Tomcat muncul.

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

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

Instal MongoDB di server cloud Anda

Anda dapat menemukan petunjuk untuk menginstal MongoDB di Rackspace Cloud di situs web Dokumentasi MongoDB.

Untuk penerapan produksi, Anda harus menggunakan set replika dengan setidaknya tiga node.

Untuk instalasi single-node, lakukan langkah-langkah berikut:

  1. Tambahkan kunci GNU Privacy Guard (GPG) ke apt-get untuk membuat tepercaya sumber dengan memasukkan perintah berikut:

     sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
    
  2. Gunakan perintah berikut untuk membuat 10gen khusus file repositori yang berisi lokasi file biner MongoDB:

     sudo sh -c 'echo "deb https://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen" | tee -a /etc/apt/sources.list.d/10gen.list'
    
  3. Perbarui apt-get untuk mengambil paket baru dengan memasukkan perintah berikut:

     sudo apt-get -y update
    
  4. Instal MongoDB dengan memasukkan perintah berikut:

     sudo apt-get -y install mongodb-10gen
    
  5. Verifikasi bahwa MongoDB berjalan dengan memasukkan perintah berikut:

     ps aux | grep mongo
    

Catatan :MongoDB menggunakan /var/lib/mongodb sebagai jalur data default. Jika Anda ingin mengubah jalur ini, Anda dapat mematikan instance MongoDB dan memperbarui file konfigurasi di /etc/mongodb.conf .

Siapkan server Node.js

Jika layanan Anda didukung oleh Node.js alih-alih Python, gunakan langkah-langkah berikut untuk menyiapkan server Node.js di instans cloud Anda:

  1. Instal Node.js dengan memasukkan perintah berikut:

     sudo apt-get -y install nodejs npm
    
  2. Uji instalasi dengan menggunakan perintah berikut untuk mendapatkan versi Node.js yang Anda jalankan:

     node --version
    

Instal OpenStack Swift (opsional)

Jika Anda berencana menggunakan Cloud Files untuk mentransfer data Anda, gunakan langkah-langkah berikut untuk menginstal klien OpenStack® Swift untuk mengaktifkan akses dari server Anda:

  1. Instal klien Swift dengan memasukkan perintah berikut:

     sudo apt-get install python-novaclient glance-client swift
    
  2. Setel variabel lingkungan yang diperlukan dengan menjalankan perintah berikut, dengan mengganti nama pengguna dan kunci antarmuka pemrograman aplikasi (API):

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

    Anda mungkin ingin mendefinisikan variabel ini di .bashrc atau.bash\_profile file, lalu muat ulang file dengan source berikut perintah, menggantikan .bash\_profile 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

Bagian ini menunjukkan cara mencadangkan data dari AWS ke Rackspace Cloud Files.Contohnya menggunakan wadah yang ada bernama AppData.

Pertama, ambil data Anda dari EC2. Anda dapat mentransfer data secara langsung dengan salah satu cara berikut:

  • Gunakan rsyncor SSH File Transfer Protocol (SFTP).

  • Gunakan klien OpenStack Swift untuk mentransfer data Anda ke Cloud Files, lalu transfer dari Cloud Files ke Cloud Server.

Untuk menggunakan File Cloud, ikuti langkah-langkah persiapan berikut:

  1. Menggunakan SSH, sambungkan ke instans EC2 Anda dengan memasukkan perintah berikut:

    ssh -i your_private_key.pem [email protected]
    
  2. Lakukan dump dari MongoDB. Gunakan -host dan -port options jika MongoDB berjalan pada instance yang berbeda, seperti yang ditunjukkan pada contoh berikut:

    mongodump --host mongodb1.yourdomain.com --port 3017 --username $USERNAME --password $PASSWORD --out ~/backup/mongodump-2013-05-03
    tar czvf backbonedb-2013-05-03.tar.gz ~/backup/db/mongodump-2013-05-03/*
    
  3. Gunakan perintah berikut untuk mencadangkan aplikasi Anda dan semua sumber daya yang dibutuhkan aplikasi, termasuk log dan direktori lain:

    # Backup backbone resources
    sudo tar cvzf ~/backup/app/backhone.tar.gz /usr/share/tomcat/webapps/YOURAPP/*
    # Backup node.js resources
    sudo tar cvzf ~/backup/app/nodejs.tar.gz /usr/local/nodejs/YOURAPP/*
    
  4. Jika Anda menggunakan File Cloud untuk mentransfer file Anda, gunakan salah satu metode berikut untuk melakukan transfer. Jika Anda menggunakan rsync atau SFTP, selesaikan transfer dan lewati ke bagian akhir artikel ini.

    • Unggah arsip Anda ke wadah Cloud Files dengan menggunakan klien Swift dan perintah berikut:

      swift upload AppData backbonedb-2013-05-03.tar.gz
      swift upload AppData backhone.tar.gz
      swift upload AppData nodejs.tar.gz
      
    • Gunakan langkah-langkah berikut untuk mengunggah data Anda ke File Cloud dengan menggunakan Panel Kontrol Cloud:

      1. Masuk ke Panel Kontrol Cloud.

      2. Di bilah navigasi atas, klik Pilih Produk> RackspaceCloud .

      3. Pilih Penyimpanan> File> Nama penampung untuk membuka wadah Anda.

      4. Klik Unggah File .

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

      6. Klik Unggah File .

Pulihkan data dari File Cloud ke Server Cloud

Jika Anda mengunggah data Anda ke Cloud Files, transfer ke CloudServers dengan menggunakan langkah-langkah berikut:

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

  2. Instal dan konfigurasikan antarmuka baris perintah (CLI) Swift seperti yang dijelaskan di bagian “Menginstal paket perangkat lunak”.

  3. Jalankan swift list perintah dan pastikan Anda melihat wadah baru yang Anda buat di hasil.

  4. Unduh dump database dari cadangan yang Anda ambil di bagian “Cadangkan data dari AWS ke File Cloud Rackspace” dan pulihkan secara lokal dengan menggunakan perintah berikut:

    swift download AppData backbonedb-2013-05-03.tar.gz
    gunzip < backbonedb-2013-05-03.tar.gz | mongorestore --host mongodb1.yourdomain.com --port 3017 --username user --password pass
    
  5. Unduh data (Backbone.js dan Node.js) dan pulihkan dengan menggunakan perintah berikut:

    sudo service tomcat7 stop #stop tomcat server
    swift download AppData backbone.tar.gz
    # restore / deflate backbone
    cd /usr/share/tomcat/webapps
    sudo tar xvf backbone.tar.gz
    # restore node.js
    swift download AppData nodejs.tar.gz
    sudo mkdir -p /usr/local/nodejs/YOURAPP
    cd /usr/local/nodejs
    sudo tar xvf nodejs.tar.gz
    
  6. Mulai layanan aplikasi dengan menggunakan perintah berikut:

    sudo service tomcat7 start
    cd /usr/local/nodejs/YOURAPP/
    sudo node server.js
    

Uji aplikasi Anda

Navigasikan ke https:/// di jendela browser untuk mengakses dan menguji aplikasi Anda.

Langkah selanjutnya

Pertimbangan pascamigrasi saat bermigrasi dari Amazon Web Services

Untuk skenario migrasi lainnya, lihat artikel berikut:

  • Migrasikan aplikasi .NET dari Amazon Web Services
  • Migrasikan aplikasi web Java dari Amazon Web Services

Linux
  1. Cara Menginstal dan Menggunakan MongoDB di Ubuntu 20.04

  2. Cara Menginstal dan Mengamankan MongoDB di Debian 11

  3. Instal s3cmd di Linux dan Kelola Bucket Amazon s3

  1. Cara Menginstal MongoDB di Ubuntu 20.04 dan CentOS 8

  2. Cara Menginstal MongoDB di Ubuntu 20.04

  3. Cara Menginstal dan Mengamankan MongoDB 4 di CentOS 8

  1. Cara Menginstal dan Mengamankan Redis di Ubuntu 18.04

  2. Langkah tingkat tinggi untuk bermigrasi dari Amazon Web Services

  3. Pertimbangan pascamigrasi saat bermigrasi dari Amazon Web Services