Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Menggunakan platform Ruby Elastic Beanstalk

Mode fokus
Menggunakan platform Ruby Elastic Beanstalk - AWS Elastic Beanstalk

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Topik ini menjelaskan cara mengonfigurasi, membangun, dan menjalankan aplikasi Ruby Anda di Elastic Beanstalk.

AWS Elastic Beanstalk mendukung sejumlah cabang platform untuk berbagai versi bahasa pemrograman Ruby. Lihat Ruby di dokumen AWS Elastic Beanstalk Platform untuk daftar lengkapnya.

Aplikasi web Ruby dapat berjalan di belakang server proxy NGINX di bawah server aplikasi Puma. Jika Anda menggunakan RubyGems, Anda dapat menyertakan Gemfiledalam bundel sumber Anda untuk menginstal paket selama penerapan.

Konfigurasi server aplikasi

Elastic Beanstalk menginstal server aplikasi Puma berdasarkan cabang platform Ruby yang Anda pilih saat Anda membuat lingkungan Anda. Untuk informasi selengkapnya tentang komponen yang disediakan bersama versi platform Ruby, lihat Platform yang Didukung dalam panduan AWS Elastic Beanstalk Platform.

Anda dapat mengonfigurasi aplikasi Anda dengan server Puma yang Anda sediakan sendiri. Ini memberikan opsi untuk menggunakan versi Puma selain yang sudah diinstal sebelumnya dengan cabang platform Ruby. Anda juga dapat mengonfigurasi aplikasi Anda untuk menggunakan server aplikasi yang berbeda, seperti Passenger. Untuk melakukannya, Anda harus menyertakan dan menyesuaikan a Gemfile dalam penerapan Anda. Anda juga diharuskan mengonfigurasi a Procfile untuk memulai server aplikasi. Untuk informasi selengkapnya lihat Mengonfigurasi proses aplikasi dengan Procfile.

Opsi konfigurasi lainnya

Elastic Beanstalk menyediakan opsi konfigurasi yang dapat Anda gunakan untuk menyesuaikan perangkat lunak yang berjalan pada instans Amazon Elastic Compute Cloud ( EC2Amazon) di lingkungan Elastic Beanstalk Anda. Anda dapat mengonfigurasi variabel lingkungan yang diperlukan aplikasi Anda, mengaktifkan rotasi log ke Amazon S3, dan memetakan folder dalam sumber aplikasi Anda yang berisi file statis ke jalur yang disajikan server proksi. Platform ini juga telah menentukan beberapa variabel lingkungan umum sebelumnya yang terkait Rails dan Rack untuk kemudahan dalam penemuan dan penggunaannya.

Pilihan konfigurasi tersedia di konsol Elastic Beanstalk untuk memodifikasi konfigurasi dari lingkungan yang sedang berjalan. Agar Anda tidak kehilangan konfigurasi lingkungan ketika mengakhirinya, Anda dapat menggunakan konfigurasi tersimpan untuk menyimpan pengaturan dan kemudian menerapkannya ke lingkungan lain.

Untuk menyimpan pengaturan di kode sumber, Anda dapat menyertakan file konfigurasi. Pengaturan di file konfigurasi diterapkan setiap kali Anda membuat lingkungan atau men-deploy aplikasi Anda. Anda juga dapat menggunakan file konfigurasi untuk menginstal paket, menjalankan penulisan, dan melakukan operasi penyesuaian instans lainnya selama deployment.

Pengaturan yang diterapkan di konsol Elastic Beanstalk mengganti pengaturan yang sama di file konfigurasi, jika ada. Hal tersebut memungkinkan Anda memiliki pengaturan default di file konfigurasi, dan mengganti keduanya dengan pengaturan khusus lingkungan di konsol tersebut. Untuk informasi selengkapnya tentang yang diutamakan, dan metode lain untuk mengubah pengaturan, lihat Opsi konfigurasi.

Untuk detail tentang berbagai cara memperluas platform berbasis Linux Elastic Beanstalk, lihat Memperluas platform Linux Elastic Beanstalk.

Mengonfigurasi lingkungan Ruby Anda

Anda dapat menggunakan konsol Elastic Beanstalk untuk mengaktifkan rotasi log ke Amazon S3, mengonfigurasi variabel yang dapat dibaca aplikasi Anda dari lingkungan.

Untuk mengakses pengaturan konfigurasi perangkat lunak untuk lingkungan Anda
  1. Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic Beanstalk. Wilayah AWS

  2. Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.

    catatan

    Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.

  3. Di panel navigasi, pilih Konfigurasi.

  4. Dalam kategori konfigurasi Pembaruan, pemantauan, dan pencatatan, pilih Edit.

Opsi log

Bagian opsi Log memiliki dua pengaturan:

  • Profil instans– Menentukan profil instans yang memiliki izin untuk mengakses bucket Amazon S3 yang terkait dengan aplikasi Anda.

  • Aktifkan rotasi file log ke Amazon S3 — Menentukan apakah file log untuk EC2 instans Amazon aplikasi Anda disalin ke bucket Amazon S3 yang terkait dengan aplikasi Anda.

File statis

Untuk meningkatkan kinerja, Anda dapat menggunakan bagian File statis untuk mengkonfigurasi server proxy untuk melayani file statis (misalnya, HTML atau gambar) dari satu set direktori di dalam aplikasi web Anda. Untuk setiap direktori, Anda mengatur jalur virtual ke pemetaan direktori. Saat server proksi menerima permintaan untuk file di jalur yang ditentukan, server langsung menyajikan file daripada merutekan permintaan ke aplikasi Anda.

Untuk detail tentang mengonfigurasi file statis menggunakan file konfigurasi atau konsol Elastic Beanstalk, lihat. Menyajikan file statis

Secara default, server proxy di lingkungan Ruby dikonfigurasi untuk melayani file statis sebagai berikut:

  • File dalam public folder disajikan dari /public jalur dan root domain (/path).

  • File di public/assets subfolder disajikan dari /assets jalur.

Contoh berikut menggambarkan cara kerja konfigurasi default:

  • Jika sumber aplikasi Anda berisi file bernama logo.png dalam folder bernamapublic, server proxy menyajikannya kepada pengguna dari subdomain.elasticbeanstalk.com/public/logo.png dansubdomain.elasticbeanstalk.com/logo.png.

  • Jika sumber aplikasi Anda berisi file bernama logo.png dalam folder bernama assets di dalam public folder, server proxy menyajikannyasubdomain.elasticbeanstalk.com/assets/logo.png.

Anda dapat mengonfigurasi pemetaan tambahan untuk file statis. Untuk informasi selengkapnya, lihat Namespace konfigurasi Ruby dalam topik ini.

catatan

Untuk versi platform sebelum Ruby 2.7 AL2 versi 3.3.7, konfigurasi server proxy Elastic Beanstalk nginx default tidak mendukung penyajian file statis dari root domain (). subdomain.elasticbeanstalk.com/ Versi platform ini dirilis pada 21 Oktober 2021. Untuk informasi selengkapnya lihat Versi platform baru - Ruby di Catatan AWS Elastic Beanstalk Rilis.

Properti lingkungan

Bagian Properti Lingkungan memungkinkan Anda menentukan pengaturan konfigurasi lingkungan pada EC2 instance Amazon yang menjalankan aplikasi Anda. Properti lingkungan diberikan sebagai pasangan nilai kunci ke aplikasi.

Platform Ruby menetapkan properti berikut untuk konfigurasi lingkungan:

  • BUNDLE_WITHOUT – Daftar grup yang dipisahkan oleh titik dua untuk diabaikan ketika menginstal dependensi dari Gemfile.

  • BUNDLER_DEPLOYMENT_MODE – Atur ke true (default) untuk menginstal dependensi dalam mode deployment menggunakan Bundler. Atur ke false untuk menjalankan bundle install dalam mode pengembangan.

    catatan

    Properti lingkungan ini tidak ditentukan pada cabang platform Ruby Amazon Linux AMI (Amazon Linux 2 yang terdahulu).

  • RAILS_SKIP_ASSET_COMPILATION – Atur ke true agar tidak menjalankan rake assets:precompile selama deployment.

  • RAILS_SKIP_MIGRATIONS – Atur ke true agar tidak menjalankan rake db:migrate selama deployment.

  • RACK_ENV – Menentukan tahap lingkungan untuk Rack. Misalnya, development, production, atau test.

Di dalam lingkungan Ruby yang berjalan di Elastic Beanstalk, variabel lingkungan dapat diakses menggunakan objek ENV. Sebagai contoh, Anda dapat membaca properti bernama API_ENDPOINT ke variabel dengan kode berikut:

endpoint = ENV['API_ENDPOINT']

Lihat Properti lingkungan dan pengaturan perangkat lunak lainnya untuk informasi selengkapnya.

Namespace konfigurasi Ruby

Anda dapat menggunakan file konfigurasi untuk mengatur opsi konfigurasi dan melakukan tugas-tugas konfigurasi instans lain selama deployment. Opsi konfigurasi dapat berupa platform khusus atau berlaku untuk semua platform di layanan Elastic Beanstalk secara keseluruhan. Opsi konfigurasi diatur ke dalam ruang nama.

Anda dapat menggunakan namespace aws:elasticbeanstalk:environment:proxy:staticfiles untuk mengonfigurasi proksi lingkungan untuk menyajikan file statis. Anda menentukan pemetaan jalur virtual ke direktori aplikasi.

Platform Ruby tidak menentukan namespace tertentu platform. Sebagai gantinya, platform Ruby menentukan properti lingkungan untuk opsi umum Rails dan Rack.

File konfigurasi berikut menentukan opsi file statis yang memetakan direktori bernama staticimages ke jalur /images, menetapkan setiap properti lingkungan yang ditentukan platform, dan menetapkan properti lingkungan tambahan bernama LOGGING.

contoh .ebextensions/ruby-settings.config
option_settings: aws:elasticbeanstalk:environment:proxy:staticfiles: /images: staticimages aws:elasticbeanstalk:application:environment: BUNDLE_WITHOUT: test BUNDLER_DEPLOYMENT_MODE: true RACK_ENV: development RAILS_SKIP_ASSET_COMPILATION: true RAILS_SKIP_MIGRATIONS: true LOGGING: debug
catatan

Properti lingkungan BUNDLER_DEPLOYMENT_MODE dan namespace aws:elasticbeanstalk:environment:proxy:staticfiles tidak tetapditentukan pada cabang platform Ruby Amazon Linux AMI (Amazon Linux 2 yang terdahulu).

Elastic Beanstalk memberikan banyak opsi konfigurasi untuk menyesuaikan lingkungan Anda. Selain file konfigurasi, Anda juga dapat mengatur opsi konfigurasi menggunakan konsol tersebut, konfigurasi tersimpan, EB CLI, atau AWS CLI. Untuk informasi selengkapnya, lihat Opsi konfigurasi.

Di halaman ini

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.