Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E- ISSN 2503-2933 670

## Ketersediaan Tinggi Infrastruktur Elearning Berbasis Komputasi Awan
Haeruddin*
Teknologi Informasi, Universitas Internasional Batam Jl. Gajah Mada, Baloi – Sei Ladi, Batam 29442, Kepulauan Riau - Indonesia haeruddin@uib.ac.id*

## Abstrak
Dalam  rangkah  mencegah  penyebaran  COVID-19  proses  pembelajaran  tidak  dapat dilakukan secara tatap muka. Salah satu alternatif yang dapat di lakukan adalah Program Belajar Jarak  Jauh.  Konten  pembelajaran  diakses  secara  online  pada  sistem e-learning ,  yang memungkinkan  pelajar  untuk  melihat  dan  berinteraksi  dengan  pengajar  melalui  media web browser pada  perangkat  laptop,  personal  komputer,  atau  layanan mobile lainnya.  Dalam mendukung  proses  pembelajaran  secara  efektif  dan  efisien  sistem e-learning tentu  saja membutuhkan infrastruktur yang handal yang dapat diakses oleh banyak pengguna dalam waktu yang  bersamaan.  Membangun  infrastruktur  yang  handal  secara  mandiri  dapat  menimbulkan beban  kerja,  perawatan  dan  biaya  yang  tinggi.  Dalam  mengatasi  masalah  ini  dapat menggunakan Cloud  Computing .  Ini  beroperasi  pada  jaringan  internet  dan  memiliki  fitur virtualisasi, komputasi grid, komputasi otonom dan utilitas, dengan model pay-go-use di mana klien  membayar  sumber  daya  yang  diminta  atau  yang  di  gunakan  saja.  Salah  satu  penyedia layanan cloud adalah  Amazon Web Service.  Layanan  ini  dapat  membuat web  server untuk menerapkan high  availability  e-learning yang  di  dukung  fitur Auto  Scaling  Instance  EC2, Elastic  Load  Balancer,  Elastic  File  Sistem,  VPC,  Database ,  dan  konfigurasi  dapat  dilakukan secara otomasi dengan CloudFormation sesuai template yang telah di buat YAML. Sedangkan metode  pengembangan  infrastruktur high  availability  e-learning adalah Network  Development Life Cycle.
Kata kunci - Amazon Web Service, E-learning , High Availability , Komputasi Awan, Moodle.

## Abstract
In order to prevent the spread of COVID-19, the learning process cannot be done face- to-face. One alternative that can be done is the Distance Learning Program. Learning content that is accessed online on an e-learning system, which allows students to view and access the instructor  via  a  web  browser  on  a  laptop,  personal  computer,  or  other  mobile  services.  In supporting an effective and efficient learning process, the e-learning system requires a reliable infrastructure that can be accessed by many users at the same time. Build reliable infrastructure that  can  handle  high  workloads,  maintenance, and  costs.  In  overcoming  this  problem  can  use Cloud  Computing.  It  operates  on  an  Internet  network  and  features  virtualization,  grid computing,  autonomous  computing,  and  utilities,  with  a  pay-go-use  model  in  which  the  client pays for resources that are served or used only. One of the cloud service providers is Amazon Web  Service.  This  service  can  create  a  web  server  to  implement  high-availability  e-learning which  is  supported  by  the  EC2  Auto  Scaling  Instance  feature,  Elastic  Load  Balancer,  Elastic File  System,  VPC,  Database,  and  configuration  can  be  done  automatically  with CloudFormation according to the template that has been made for YAML. Meanwhile, the high availability of  e-learning infrastructure  development method is  the  Network  Development  Life Cycle.
671 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E-ISSN 2503-2933
Keywords - Amazon Web Service, Cloud Computing, E-learning, High Available, Moodle

## 1. PENDAHULUAN
aat ini dunia tengah waspada pada penyebaran virus corona atau yang kita kenal dengan nama  COVID-19  [1].  Penularan  virus  ini  sangat  cepat  sehingga  organisasi  kesehatan dunia (WHO) menetapkan COVID-19 sebagai pandemi yang terjadi secara global [2]. Di Indonesia  peningkatan  jumlah  kasus  COVID-19  meningkat  dalam  waktu  yang  singkat, sehingga  membutuhkan  penanganan  untuk  mencegah  penyebaran  COVID-19.  Dalam  hal  ini salah  satu  langkah  yang  diambil  oleh  pemerintah  adalah  isolasi  total.  Hal  ini  menyebabkan semua aktivitas perkantoran, termasuk proses pembelajaran pada sekolah dan universitas harus dilakukan secara remote dari rumah. Pembelajaran adalah bagian inti dari proses pendidikan. Di masa  pandemi  ini  proses  pembelajaran  tidak  dapat  dilakukan  secara  tatap  muka  demi mengurangi  wabah  penyebaran  COVID-19.  Salah  satu  alternatif  yang  dapat  dilakukan  adalah Program  Belajar  Jarak  Jauh  (PBJJ)  [3].    Perubahan  pada  proses  pembelajaran  tatap  muka menjadi PBJJ adalah keputusan yang harus dilaksanakan oleh sekolah dan univeritas agar tujuan pendidikan dapat dilaksanakan secara efektif dan efisien.
Dalam  menerapkan  PBJJ  selama  pandemi  COVID-19,  para  pengajar  (guru  dan  dosen) dan  pelajar  (siswa/i  dan  mahasiswa/i)  melakukan  pembelajaran  secara online .  Agar pembelajaran  dapat  berjalan  dengan  maksimal  maka  membutuhkan  infrastruktur  dan  sistem yang  handal.  Salah  satu  sistem  yang  dapat  digunakan  adalah e-learning dengan  teknologi Learning Management System (LMS). LMS adalah aplikasi perangkat lunak berbasis web yang dirancang  untuk  menangani  konten  pembelajaran,  interaksi  mahasiswa,  alat  penilaian  dan laporan kemajuan proses pembelajaran, dan aktivitas para pelajar. Konten pembelajaran diakses secara online melalui LMS, yang memungkinkan pelajar untuk melihat dan berinteraksi dengan alat  pembelajaran  melalui web  browser dengan  perangkat  laptop,  personal  komputer,  atau layanan  mobile  lainnya  [4].  Pada  penelitian  Savira  &  Suharsono,  2020  yang  berjudul “Implementasi e-learning Berbasis  Moodle  Di  Masa  Pandemi  Covid-19”  terdapat  80,8  % responden  setuju  Aplikasi  LMS  yang  digunakan  adalah  Moodle  [5],  memiliki  lisensi  secara terbuka, dan fitur yang banyak.
Sebagian besar institusi pendidikan memelihara web server untuk menjalankan berbagai sistem  yang  mereka  miliki  termasuk e-learning ,  yang  membuat  mereka  memiliki  perawatan yang  tinggi,  lebih  banyak  beban  kerja,  dan  meningkatkan  biaya.  Akan  tetapi  jarang  juga dijumpai  institusi  pendidikan  menerapkan  dukungan  ketersediaan  tinggi,  ini  dikarenakan penerapan infrastruktur yang kompleks dan mahal, sehingga mereka menggabungkan beberapa layanan  menjadi  satu,  seperti web  server dan  Database  dalam  satu server yang  sama.  Untuk mengatasi  hal  ini  dapat  menggunakan  teknologi  komputasi  awan  ( Cloud  Computing )  untuk membangun web server yang memberi kinerja yang lebih baik. Teknologi terbaru telah bergeser dari yang sudah ada ke komputasi awan. Karena investasi sumber daya serta biaya pemeliharaan yang lebih sedikit. Cloud Computing yang beroperasi melalui Internet Work Protocol memiliki fitur  virtualisasi,  komputasi grid ,  komputasi  otonom  dan  utilitas,  dengan  model pay-go-use di mana  klien  membayar  sumber  daya  yang  diminta  atau  yang  digunakan  saja.  Pelanggan komputasi  awan  memiliki  akses  lengkap  ke  kapabilitas  teknologi  informasi  dan  layanan  yang disediakan  melalui internet [6].    Salah  satu  yang  dapat  digunakan  adalah  teknologi cloud Amazon Web Service (AWS).
Pada  penelitian  ini  hanya  fokus  pada  pengembangan  infrastruktur web server untuk menjalankan e-learning dengan  aplikasi  Moodle  yang  meliputi Auto  Scaling  Instance  EC2, Elastic  Load  Balancer,  Elastic  File  Sistem,  VPC,  Database .  Konfigurasi  dilakukan  dengan
S
Jatisi                            ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E- ISSN 2503-2933 672
menggunakan CloudFormation dengan  template  yang  telah  di  buat  YAML  [7].  Penelitian  ini tidak  membahas  tentang  cara instalasi  aplikasi Moodle  secara lengkap,  dan  berapa  biaya  yang digunakan.  Dalam  mengembangkan  sistem  infrastruktur web server e-learning yang  memiliki dukungan  tingkat  tinggi  maka  penulis  menggunakan  metode Network  Development  Life  Cycle (NDLC)  yang  terdiri  dari  Analisis,  Desain,  Simulasi Prototyping ,  Implementasi,  Pemantauan, dan Manajemen.

## 2. METODE PENELITIA
Metode  yang  digunakan  dalam  pembangunan  ketersediaan  tinggi  pada  infrastruktur Learning  Management  System (Moodle)  pada  AWS  adalah  dengan  menggunakan  metode Network  Development  Life  Cycle yang  terdiri  dari  Analisis,  Desain,  Simulasi Prototyping , Implementasi ,  Pemantauan,  dan  Manajemen.  Namun  pada  model  siklus  tidak  semua  tahapan digunakan.  Tahapan  yang  di  gunakan  adalah  Analisis,  Desain,  Implementasi,  dan  Monitoring. Model siklus hidup pengembangan jaringan seperti yang ditunjukkan pada gambar 1.
Gambar 1. Metode NDLC

## 2.1 Analisis
Tahapan ini melakukan pengumpulan yang memberikan gambaran obyektif tentang suatu masalah  yang  ada  atau  penelitian  yang  mendeskripsikan  sebuah  fenomena,  peristiwa  yang terjadi pada saat ini. Metode pengumpulan data dalam penelitian ini terbagi menjadi tiga bagian yaitu wawancara, studi literatur dan observasi [7].
Dari hasil tersebut dilakukan analisas berbagai kemunungkinan apa yang akan dilakukan, kemudian  meberikan  rekomendasi  apa  yang  akan  dilakukan  papda  tahapan  berikutnya.  Pada tahapan analisa ini kami juga menitip beratkan pada teknologi yang akan digunakan diantaranya: a. Cloud Computing
Dunia  komputasi  awan  terus  berkembang,  dengan  konsep  dan  teknologi  baru  yang diciptakan  untuk  langkah  yang  cepat,  ini  memberikan  cara  yang  mudah  dan  efisien  untuk menyebarkan layanan teknologi informasi di dunia [7]. Komputasi awan adalah paradigma teknologi  informasi  yang  memungkinkan  akses  dari  mana  saja  dan  kapan  saja  selama terhubung dengan koneksi internet . Sumber daya cloud dapat dikonfigurasi dengan layanan tingkat  tinggi  dan  cepat  [8].  Selain  itu  memungkinkan  pelanggan  dengan  mudah
673 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E-ISSN 2503-2933
menggunakan  aplikasi  pengembangan  dalam  mengembangkan  suatu  sistem  dengan  cepat, sangat  menyederhanakan  proses  penambahan  dan  pengurangan  sumber  daya  ke  aplikasi yang  sedang  berjalan,  serta  pembayaran  hanya  untuk  sumber  daya  yang  benar-benar dialokasikan (model bayar per penggunaan atau bayar sesuai pemakaian) [9]. Berdasarakan jenisnya komputasi awan dibagi menjadi beberapa bagian yaitu private cloud , public cloud , dan hybrid cloud . Private Cloud adalah  layanan cloud yang  di  kelola  suatu  individu  atau organisasi secara pribadi. Ini bertujuan untuk menjalankan bisnis mereka dengan mengelola dan  menjalankan  komputasi  infrastruktur  mereka  sendiri. Public Cloud adalah  layanan komputasi yang disediakan oleh penyedia layanan cloud yang diperuntukkan kepada semua kalangan dengan biaya yang telah ditentukan. Layanan ini biasanya digunakan di enterprise B2C ( Enterprise to Consumer ). Hybrid cloud merupakan gabungan antara private cloud dan public cloud .  Bentuk cloud ini  banyak  ditemukan  pada  perusahaan  B2C  dan  B2B  [10]. Sedangkan  layanan Cloud terbagi  menjadi  tiga  yaitu:  SaaS  ( Software  as  a  Service ),  PaaS ( Platform  as  a  Service ),  dan  IaaS  ( Infrastructure  as  a  Service ).  Fasilitas  semacam  itu digunakan oleh berbagai kategori bisnis sesuai dengan kebutuhan mereka [11].
b. Auto-scaling
Otomasi  adalah  metodologi  yang  digunakan  dalam  distribusi  komputasi,  memanfaatkan kalkulasi  numerik  di  sekelompok  komputer,  biasanya  diukur  berdasarkan  jumlah kompleksitas  kinerja  komputer,  serta  penskalaan  sendiri  ( self-scaling )  atau  penskalaan otomatis  ( auto-scaling )  dan  penskalaan  terprogram  ( programmed  scaling ).  Salah  satu contoh  yaitu  AWS Auto  Scaling yang  monitoring  aplikasi  dan  menyesuaikan  kapasitas secara otomatis dalam mempertahankan kinerja yang stabil serta memprediksi penggunaan biaya serendah mungkin. Pada penerapan auto-scaling , evaluasi dilakukan berdasarkan pada keterbatasan  sumber  daya  awal  yang  telah  kita  tentukan.  Penskalaan  aturan-aturan  atau metode auto-scaling yang  difokuskan  pada break  point .  Ini  merupakan  standar  yang digunakan  di  seluruh  penyedia cloud ,  termasuk  Amazon  EC2  [8].  Ada  dua  metode  utama dalam  melakukan auto-scaling yaitu Vertical  Scaling dan Horizontal  Scaling . Vertical Scaling adalah  proses  menambahkan  atau  menghapus  sumber  daya  ke Virtual  Machine untuk  menjangkau  kinerja  yang  diinginkan.  Namun  metode  ini  masih  memiliki  kendala terbatasnya  kapasitas  fisik  pada  sistem hypervisor .  Misalnya,  KVM  tidak  bisa  secara dinamis menambah atau menghapus vCPU dalam menjalankan Virtual Machine , sedangkan VMware  ESXi  dapat  menambahkan,  tetapi  tidak  dapat  menghapus  vCPU  dalam menjalankan Virtual  Machine . Horizontal  Scaling adalah  proses  menambahkan  / menghapus  instance Virtual  Machine ke  sistem  untuk  memenuhi  tujuan  spesifik  tertentu. Horizontal Scaling dikenal sebagai Out atau In scaling yang baik. Berbeda dengan Vertical Scaling , Horizontal  Scaling tidak  dibatasi  oleh  kapasitas  fisik  sumber  daya,  dan  tidak memerlukan  kemampuan  khusus  apa  pun  dari hypervisor yang  digunakan.  Sebagian  besar Horizontal  Scaling membutuhkan  penyeimbang  beban  untuk  mendistribusikan  beban dengan  tepat  ke  seluruh instance  Virtual  Machine setelah  menambahkan  atau  menghapus instance VM tersebut [12].
c. Load balancing
Load  balancing merupakan  suatu  mekanisme  dalam  jaringan  komputer  yang  membagi permintaan  menuju  ke  sejumlah server atau server yang  terdistribusi  dengan  tujuan  untuk pemanfaatan  sumber  daya  yang  optimal,  baik  itu  mengurangi  waktu  respon,  memperbesar throughput ,  dan  mengurangi overload [13].  Server  terdistribusi  adalah  bagian  dari lingkungan cloud yang  tersedia  di  seluruh  aplikasi hosting internet yang  berbeda.  Untuk memberikan Quality  of  Service (QoS)  yang  lebih  baik  dan  kinerja  layanan  eksternal  yang efisien,  diperlukan  penjadwalan  dan load balancing yang  efisien  di  antara  node  di lingkungan cloud [14].  Salah  satu  fitur load  balancing pada  AWS  adalah Elastic  Load Balancer .  Mekanisme  ini  bekerja  secara  otomatis  membagi  atau  mendistribusikan  trafik
Jatisi                            ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E- ISSN 2503-2933 674
suatu  aplikasi  yang  masuk  ke  beberapa  target,  seperti  instans  EC2,  kontainer,  IP address dan berbagai peralatan virtual. Ini bertujuan dapat menangani berbagai beban trafik aplikasi di berbagai Availability Zone . Pada AWS ( Elastic Load Balancer ) menawarkan empat fitur load yaitu: Application  Load  Balancer,  Network  Load  Balancer,  Gateway  Load  Balancer , dan Clastic  Load  Balancer . Application  Load  Balancer sangat  cocok  digunakan  untuk layanan berbasis web yang menggunakan protokol http dan https . Network Load Balancer banyak  digunakan  untuk  mengatur  trafik  jaringan  yang  menggunakan  protokol User Datagram  Protocol (UDP), Transmission  Control  Protocol (TCP),  dan Transport  Layer Security (TLS). Gateway  Load  Balancer digunakan  dalam  menjalankan  peralatan jaringan virtual  pihak  ketiga.  Sedangkan Classic  Load  Balancer menyediakan  pengaturan  trafik berdasarkan tingkat permintaan dan tingkat koneksi.

## 2.2 Desain
Tahapan  desain  adalah  tahapan  dimana  kika  menbuat  rancangan  konsep  infrastruktur yang  akan  di  bangun,  meliputi  topologi  dan  hubungan  antara  sistem  yang  akan  di  gunakan nantinya,  serta  fitur  yang  akan  di  gunakan.  Peralatan  yang  di  gunakan  untuk  membuat  desain yaitu draw.io.

## 2.3 Implementasi
Pada tahapan ini langsung melakukan implementasi dari desain yang telah ditentukan dari tahapan sebelumnya ke Amazon Web Service . Instalasi semua aplikasi dan fitur akan dilakukan ditahapan ini juga. Implementasi menggunakan Amazon CloudFormation.

## 2.4 Monitoring
Tahapan  monitoring  adalah  melakukan  pemantauan  pada  sistem  yang  telah diimplementasikan,  dan  melakukan  pengujian  sistem  tersebut  berjalan  dengan  baik.  Pada tahapan ini juga akan dilakukan pengujian dengan etode stress tes pada CPU.

## 3. PEMBAHASAN

## 3.1 Analisis
Jika  dilihat  rata-rata  pemasangan  Moodle  di  kampus  atau  sekolah,  kita  akan  melihat semua  aspek  penyiapan  yang  diterapkan  pada  satu server .  Ini  akan  mencakup server web dan Database ,  serta server pencadangan.  Akan  tetapi  kita  tidak  akan  melihat  bentuk failover lain atau  dukungan  ketersediaan  tinggi  ( high  available ).  Untuk  membangun  hal  tersebut membutuhkan  biaya  yang  relatif  tinggi  seperti  harus  menyediakan  minimal  2  server,  2 perangkat jaringan yang medukung ketersediaan tinggi, serta 2 koneksi internet. Oleh karena itu layanan cloud seperti  AWS  memungkinkan  membangun e-learning dengan  aplikasi  Moolde dengan  dukungan  ketersediaan  tinggi.  Dukungan  ketersediaan  tinggi  adalah  membangun layanan  Moodle  yang  tahan  terhadap  kegagalan  dan  dapat  diskalakan  dalam  hal  kinerja  saat dibutuhkan. Untuk menjaga efisiensi biaya, perancangan ini dengan spesifikasi rendah, dimana sistem  akan  menerapkan server tambahan  untuk  menangani  beban  saat  dibutuhkan,  tetapi  di waktu  lain  seperti  musim  liburan  akan  mengurangi  penggunaan server ke  minimum  yang diperlukan untuk menjaga situs web (Moodle) berfungsi.

## 3.2 Desain
Dalam perancangan high available Learning Management System (Moodle) dapat dilihat pada gambar 2 berikut adalah komponen komponen yang harus di terapkan.
675 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E-ISSN 2503-2933

## Gambar 2. Arsitektur Implementasi Moodle pada AWS
1. Amazon CloudFront ,  ini  merupakan  layanan  pada  AWS  yang  mempercepat  pengiriman konten  yang  ada  pada  sistem  yang  kita  miliki  dengan  memanfaatkan  jaringan  AWS  secara global, konten yang ada pada sistem yang kita miliki akan didistribusikan didekat pengguna akhir  sistem  yang  kita  miliki.  Pada  kasus  ini CloudFront akan  mengambil  konten  dari Moodle yang berada pada instance EC2 atau media penyimpanan seperti S3 dan EFS. 2. Internet Gateway memiliki  peran  penting  untuk  menghubungkan  jaringan  yang  ada  pada VPC  yang  kita  miliki  ke jaringan internet .  Ini  bertujuan  agar server yang  kita miliki  dapat diakses dan mengakses internet .
3. NAT Gateway berfungsi  untuk  menerjemahkan Private Subnet (APP Subnet dan  Data Subnet ) ke Public Subnet agar terhubung ke internet .
4. Application  Load  Balancer mendistribusikan  lalu  lintas  aplikasi  yang  masuk  di  beberapa instance EC2  (APP  Moodle)  di  beberapa Availability Zone .  Kita  dapat  mencapai ketersediaan  tinggi  dengan  mengelompokkan  beberapa server Moodle  yang  berjalan  di belakang Application Load Balancer .
5. Amazon EC2 Auto  Scaling membantu dalam  memastikan jumlah instance EC2 yang benar untuk menangani beban aplikasi Moodle. Pada kasus ini Amazon EC2 Auto Scaling bekerja berdasarkan  pemakaian  CPU. Instance akan  bertambah  ketika  pemakaian  CPU  rata-rata melebihi >=75% dalam waktu yang telah ditentkan dan dihapus ketika pemakaian CPU rata- rata  kurang  dari  <=50%. Auto  Scaling  Instance EC2  akan  menjalankan  sistem  operasi Ubuntu 20.04 LTS, aplikasi Moodle 3.11, aplikasi Web server Apache 2.4 dan PHP 7.4.
6. Caching dapat  berdampak  dramatis  pada  kinerja  Moodle.  Template  akan  mengonfigurasi berbagai  bentuk caching termasuk OPcache , CloudFront ,  dan ElastiCache . Opcache mempercepat  eksekusi  PHP caching skrip  yang  telah  dikompilasi  dalam  memori.  Manfaat OPcache adalah  peningkatan  kinerja  dan  penggunaan  memori  yang  jauh  lebih  rendah. Amazon ElastiCache adalah  layanan  penyimpanan  nilai  kunci  dalam  memori  yang kompatibel dengan Memcached yang dapat digunakan sebagai cache atau penyimpanan data.
Moodle  merekomendasikan  agar  tidak  menggunakan server memcached yang  sama  untuk
Jatisi                            ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E- ISSN 2503-2933 676
kedua sesi dan MUC. Peristiwa yang memicu pembersihan cache MUC menyebabkan MUC menghapus server memcached .  Oleh  karena  itu,  harus  mengonfigurasi  dua  kluster ElastiCache , satu untuk cache sesi dan satu lagi untuk cache aplikasi.
7. Database  merupakan  penyimpanan  data  terpusat,  agar  tercipta  keterssediaan  tinggi direkomendasikan menggunakan Database yang mendukung klasterisasi seperti PostgreSQL.
8. EFS Mount Target adalah fitur yang digunakan untuk menghubungkan Instance EC2 untuk mengakses file share Moodle Data yang ada pada EFS dalam VPC.
9. Amazon Elastic File System (Amazon EFS) menyediakan penyimpanan file yang sederhana dan  dapat  diskalakan  untuk  digunakan  dengan  instance  EC2  di  AWS Cloud .  Meskipun menginstal  Moodle  di  EFS  akan  membuat  manajemen  (pembaruan,  patching,  dll.)  lebih mudah, namun Moodle tidak dapat bekerja dengan baik ketika dijalankan dari penyimpanan bersama.  Oleh  karena  itu  Moodle  merekomendasikan  bahwa dir root dikonfigurasi  di penyimpanan  lokal  ( Web server ).  Sedangkan  Moodle  Data,  Moodle Cache ,  dan  Moodle Temp dapat  disimpan  pada  penyimpanan  bersama.  Berikut  ini  adalah  struktur  direktori Moodle dengan model cluster webserver : $CFG->dirroot = '/var/www/moodle/html'  #Stored on root EBS volume $CFG->dataroot = '/var/www/moodle/data'  #Stored on shared EFS filesystem $CFG->cachedir = '/var/www/moodle/cache' #Stored on shared EFS filesystem $CFG->tempdir = '/var/www/moodle/temp'  #Stored on shared EFS filesystem $CFG->localcachedir = '/var/www/moodle/local' #Stored on root EBS volume Jika dilihat rata-rata pemasangan Moodle di kampus atau sekolah, kita akan melihat semua aspek  penyiapan  yang  diterapkan  pada  satu server .  Ini  akan  mencakup server web dan Database ,  serta server pencadangan.  Akan  tetapi  kita  tidak  akan  melihat  bentuk failover lain  atau  dukungan  ketersediaan  tinggi  ( high  available ).  Untuk  membangun  hal  tersebut membutuhkan biaya yang relatif tinggi.

## 3.3 Implementasi
Dalam  implelentasi  infrastruktur web server e-learning menggunakan  AWS Cloud Formation .  Ini  akan  mempermudah  dalam  mengimplementasikan  infrastruktur  yang  telah dirancang  seperti  pada  gambar  2  diatas  secara  otomatis,  dengan  menggunakan template yang telah  dibuat  sebelumnya,  kita  hanya  mengisi  beberapa  parameter  kemudian  menjalankannya. Adapun  alur stack  kode yang  telah  dibuat  seperti  pada  gambar  3  dibawa  ini.  Setelah menjalankan stack pada AWS Cloud Formation , maka terdapat beberapa parameter yang harus diisi sesuai dengan rancangan yang telah di tentukan.
677 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E-ISSN 2503-2933

## Gambar 3 Alur Stack Kode yang Telah di Buat
Pada gambar 4 terdapat parameter General AWS yang berisi EC2 Key Pair yang nantinya akan  di  gunakan  untuk login ke Instance EC2,  SSH  akses  0.0.0.0/0  yang  berarti  dari  semua jaringan, serta domain yang akan digunakan pada implementasi ini. Pada contoh kali ini domain yang  digunakan  untuk e-learning adalah learning.jasakonfig.com .  Pada  bagian  Network menggunakan satu VPC dan untuk menjalankan Auto Scaling dan Load Balancer minimal harus menggunakan  dua Availability  Zone ,  serta  menambah  network  address subnet Public ,  aplikasi subnet , dan data subnet seperti pada rancangan gambar 2.
Jatisi                            ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E- ISSN 2503-2933 678
Gambar 4. Parameter General dan Network
Pada  gambar  5  terdapat  parameter File  System yang  berisi  EFS performance=general purpose , encrypted EFS=true , dan instance type yang digunakan kita pilih t2.small untuk biaya yang lebih murah. Pada Database DB Instance Class menggunakan db.r4.large , encrypted DB Cluster=true , kemudian nama dan usernya database kita isi Moodle.
Gambar 5 Parameter File System dan Database
Pada  gambar  6  terdapat Caching yang  terdiri  dari use  session  cache=false akan  di konfigurasi  setelah  proses stack selesai, Session  Cache  Node  Type=cache.t2.nano , Use Application Cache=true , dengan Application Cache Node Type=cache.t2.nano , dan Use Cloud Front=true . Pada Bastion Instance Type t2.nano yang akan di gunakan untuk NAT. Pada Web pilih instance Type=t2.large dengan  dengan Web Server ASG Max=3 dan Web ASG Min=1 . Jadi kita memiliki minimal satu instance EC2 untuk menjalankan web server dan maksimal tiga server instance EC2 jika terjadi Auto Scaling .
Gambar 6 Parameter Caching, NAT, Web
679 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E-ISSN 2503-2933
Pada  gambar  7  dapat  dilihat  proses  konfigurasi  menggunakan  stack  pada  AWS CloudFormation telah berjalan dengan baik.
Gambar 7. Proses Stack Berhasil
Gambar  8  merupakan  konfigurasi Memcached pada  Moodle  yang  diarahkan  ke Memcache yang telah di buat di AWS.
Gambar 8. Menambahkan Memcache pada Aplikasi Moodle

## 3.4 Monitoring
Setelah  berhasil  mengimplementasikan  layanan e-learning tingkat  tinggi  pada  AWS, pada  tahapan  pemantauan  untuk  memastikan  apa  sistem  berjalan  sesuai  dengan  yang  telah  di tentukan sebelumnya yang dapat dilihat seperti pada gambar 9 di bawah ini.
Jatisi                            ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E- ISSN 2503-2933 680
Gambar 9. Monitoring dan Pengujian Auto Scaling
Di tahapan ini akan dilakukan uji coba untuk Auto Scaling pada Web server yang telah di instal  aplikasi  Moodle.  Pengujian  dilakukan  dengan  menggunakan stress tes  pada server tersebut. Aplikasi stress di instal pada Ubuntu server . Menjalankan perintah berikut ini: #stress -c 8 -m 8 -t 900s , dimana -c adalah jumlah beban core yang akan diuji harus melebihi jumlah vCPU yang dimiliki server , -m adalah alokasi penggunaan ram yang akan digunakan saat stress tes di jalankan, -t adalah durasi stress tes yang di jalankan yaitu 15 menit. Dari hasil pengujian menunjukkan  bahwa  setelah  dilakukan stress tes  selama15  menit  penggunaan  vCPU  naik menjadi 100% seperti pada gambar 9, dimana terdapat penambahan instance EC2 ( web server ) dari satu menjadi tiga. Setelah stress tes dihentikan dan penggunaan menurun dibawah <= 50% maka secara otomatis jumlah instance EC2 kembali menurun ke angka awal yaitu satu.

## 4 K ESIMPULAN DAN SARAN
Pada  masa  pandemi  COVID-19  tidak  memungkinkan  melakukan  pembelajaran  secara tatap muka, sehingga Program Belajar Jarak jauh (BPJJ) menjadi solusi. Teknologi yang dapat digunakan untuk memaksimalkan pembelajaran jarak jauh adalah e-learning salah satu aplikasi yang dapat digunakan yaitu Moodle. Dalam mengantisipasi lonjakan trafik ke sistem e-learning harus diantisipasi dengan infrastruktur yang handal. Dengan mengimplenentasikan infrastruktur sendiri akan mengeluarkan biaya banyak sehingga solusi yang dapat digunakan adalah teknologi cloud .  Salah  satu  penyedia  layanan cloud yang  dapat  digunakan  untuk  mengimplementasikan high availablity e-learning yaitu  AWS.  Pada  layanan cloud ini  kita  dapat  membangun infrastruktur layanan secara  otomasi  dengan CloudFormation berdasarkan  template  yang  telah dirancang, meningkatkan layanan web server menggunakan Auto Scaling , Load Balancer , serta
681 Jatisi ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E-ISSN 2503-2933
penggunaan  Database  yang  handal.  Untuk  pembayaran  pada cloud sesuai  dengan  yang sumberdaya  yang  digunakan  saja.  Untuk  penelitian  berikutnya  dapat  membuat  layanan  serupa dengan ini dan desain yang lebih sederhana, serta rincian estimasi biaya yang akan dikeluarkan setiap bulannya.

## D AFTAR P USTAK A
[1] V. No and N. Mona, “Konsep Isolasi Dalam Jaringan Sosial Untuk Meminimalisasi Efek Contagious (Kasus Penyebaran Virus Corona di Indonesia),” J. Sos. Hum. Terap. , Vol. 2, No. 2, pp. 117–125, 2020, doi: 10.7454/jsht.v2i2.86.
[2] R.  Widiyani, “Latar  Belakang  Virus  Corona,  Pekembangan  Hingga  Isu  Terkini.” https://news.detik.com/berita/d-4943950/latar-belakang-virus-corona-perkembangan- hingga-isu-terkini.
[3] N.  B.  Argaheni, “Sistematik  Review:  Dampak  Perkuliahan  Daring  Saat  Pandemi COVID-19  Terhadap  Mahasiswa  Indonesia,” PLACENTUM  J.  Ilm.  Kesehat.  dan  Apl. , Vol. 8, No. 2, p. 99, 2020, doi: 10.20961/placentum.v8i2.43008.
[4] N.  N.  M.  Kasim  and  F.  Khalid, “Choosing  The  Right  Learning  Management  System (LMS)  For  The  Higher  Education  Institution  Context:  A  Systematic  Review,”  Int.  J. Emerg. Technol. Learn. , Vol. 11, No. 6, pp. 55–61, 2016, doi: 10.3991/ijet.v11i06.5644.
[5] F.  Savira  and  Y.  Suharsono, “Implementasi  E-Learning  Berbasis  Moodle  di  Masa Pandemi Covid 19,” J. Chem. Inf. Model. , Vol. 01, No. 01, pp. 1689–1699, 2020.
[6] A.  R  and  J.  Agarkhed, “Evaluation  of  Auto  Scaling  and  Load  Balancing  Features  in Cloud,”  Int.  J.  Comput.  Appl. ,  Vol.  117,  No.  6,  pp.  30–33,  2015,  doi:  10.5120/20561- 2949.
[7] M.  Mangayarkarasi,  S.  Tamil  Selvan,  R.  Kuppuchamy,  S.  Shanthi,  and  S.  R.  Prem, “Highly Scalable and Load Balanced Web Server On AWS Cloud,” IOP Conf. Ser. Mater. Sci. Eng. , Vol. 1055, No. 1, p. 012113, 2021, doi: 10.1088/1757-899x/1055/1/012113.
[8] V.  K.  Verma, “Evaluations  of  Distributed  Computing  on  Auto-Scaling  and  Load Balancing Aspects in Cloud Systems,” Vol. 2, pp. 31–37, 2020.
[9] T.  Lorido-Botran,  J.  Miguel-Alonso,  and  J.  A.  Lozano, “A  Review  of  Auto-Scaling Techniques for Elastic Applications in Cloud Environments,” J. Grid Comput. , Vol. 12, No. 4, pp. 559–592, 2014, doi: 10.1007/s10723-014-9314-7.
[10]  Y. Khan and S. Varma, “An Efficient Cloud Forensic Approach For IaaS, SaaS and PaaS Model,” 2nd Int. Conf. Data, Eng. Appl. IDEA 2020 , 2020, doi:
10.1109/IDEA49133.2020.9170707.
[11]  N. Dimitri, “Pricing Cloud Iaas Computing Services,” J. Cloud Comput. , Vol. 9, No. 1, 2020, doi: 10.1186/s13677-020-00161-2.
Jatisi                            ISSN 2407-4322 Vol. 10, No. 1, Maret 2023, Hal. 670-682 E- ISSN 2503-2933 682
[12]  A.  Al-Dulaimy,  J.  Taheri,  A.  Kassler,  M.  R.  Hoseiny  Farahabady,  S.  Deng,  and  A. Zomaya, “MULTISCALER:  A  Multi-Loop  Auto-Scaling  Approach  for  Cloud-Based Applications,” IEEE Trans. Cloud Comput. , Vol. XXX, No. AUGUST, pp. 1–18, 2020, doi: 10.1109/TCC.2020.3031676.
[13]  S.  D.  Riskiono  and  D.  Darwis, “Peran  Load  Balancing  Dalam  Meningkatkan  Kinerja Web Server di Lingkungan Cloud,” Krea-Tif , Vol. 8, No. 2, pp. 1–8, 2020.
[14]  U. K. Jena, P. K. Das, and M. R. Kabat, “Hybridization of Meta-Heuristic Algorithm For Load  Balancing  In  Cloud  Computing  Environment,”  J.  King  Saud  Univ.  -  Comput.  Inf. Sci. , No. xxxx, pp. 1–11, 2020, doi: 10.1016/j.jksuci.2020.01.012.