Tagged: AWS Toggle Comment Threads | Keyboard Shortcuts

  • Tuan Pembual 15:49 on 18 May 2018 Permalink | Reply
    Tags: AWS, ElasticBeanstalk, Metabase   

    Binar dalam Metabase 

    Metabase is the easy, open source way for everyone in your company to ask questions and learn from data.

    Di Binar Academy, kami menggunakan metabase sebagai mesin untuk mengolah data dari hasil Academy. Metabase dapat dipasang dalam berbagai cara. Namun ketika saya diminta untuk memasang Metabase di lingkungan produksi, baru sadar bahwa stack yang dibutuhkan adalah java. Dan ini membutuhkan resource mesin yang lumayan. Untuk lingkungan development, sebelumnya kita menggunakan Heroku. Dipilihlah untuk menggunakan teknologi container.

    Dari halaman dokumentasi, Metabase mampu dipasang pada layanan ElasticBeanstalk. Mari kita coba. Ya Binar Academy menggunakan layanan AWS untuk semua platform infrastruktur. Untuk pemasangan Metabase di ElasticBeanstalk(selanjutnya disingkat EB) saya mencoba menggunakan EB CLI, namun sepertinya terlalu overkill. Saya kembali menggunakan konfigurasi dari dashboard web.

    Beberapa langkah yang saya lakukan dalam konfigurasi Metabase:

    Memasang metabase di ElasticBeanStalk.

    Saya menggunakan panduan dari sini. Beberapa catatan dalam pemasangan:

    • EC2 yang digunakan EB: t2.micro
    • RDS Postgres: t2.micro

    Setelah Metabase selesai dipasang, kita akan mendapatkan publik url berupa domain, sebagai contoh: prod-metabase.xxxxxx.ap-southeast-1.elasticbeanstalk.com.

    Setting Up Metabase

    Silahkan akses domain yang didapat. Saya merujuk dokumentasi resmi untuk melakukan konfigurasi.

    • Setup Admin Account, beserta credential
    • Setup Email untuk notifikasi, saya menggunakan Google Apps, konfigurasinya hampir sama ketika konfigurasi email Mattermost.
    • Setup database internal Metabase (RDS) dan Database Raw Data, (DB Aplikasi, Google Analytic)
    • Invite Team, dengan memasukkan email team.

    Setting Domain dan HTTPS

    Domain yang didapat merupakan domain costum dari ElasticBeanstalk. Ingin diarahkan ke metabase.domain.id. Caranya:

    • Login ke Domain Management, pilih DNS
    • Buat sebuah CNAME baru dengan isian
      name: metabase
      value: {{enter-your-subdomain}}.elasticbeanstalk.com.
    • Simpan dan tunggu propagasi domain berjalan

    Untuk HTTPS, saya menggunakan SSL dari LetsEncrypt. Untuk pembuatannya, saya generate dari mesin lain yang sudah ada certbotnya.

    $ sudo service nginx stop
    $ sudo certbot certonly --standalone -d metabase.domain.id
    $ sudo service nginx start
    

    Kemudian downlaod dua file ini dari sertifikat ke laptop lokal.

    • fullchain.pem
    • privkey.pem

    Unggah dua file tadi ke IAM mengunakan AWS CLI dalam format berikut:
    aws iam upload-server-certificate –server-certificate-name [berikan nama ssl ke iam] –certificate-body file://[path to fullchain.pem] –private-key file://[path to privkey.pem]

    $ aws iam upload-server-certificate --server-certificate-name [berikan nama ssl ke iam] --certificate-body file://[path to fullchain.pem] --private-key file://[path to privkey.pem]
    $ cd /path/to/ssl
    $ aws iam upload-server-certificate --server-certificate-name metabase.domain.id --certificate-body file://fullchain.pem --private-key file://privkey.pem
    

    Load ssl ke metabase:

    • Buka Elastic Beanstalk dan pilih aplikasi Metabase.
    • Pilih Enviroment metabase
    • Kemudian pilih bagian Load Balancing. Pilih Add Listener. Kemudian isi jendela pop up seperti berikut:
      Listener Port: 443
      Listener Protocol: HTTPS
      Instance Port: 80
      Instance Protocol: HTTP
      SSL Sertificate: metabase.domain.id (sesuai dengan nama yang ditulis ketika Unggah SSL)
    • Simpan.

    Silahkan uji akses costum domain dengan HTTPS. Semoga sukses 😀

    Dah itu aja.

    Estu~

     

    Advertisements
     
  • Tuan Pembual 15:43 on 17 May 2018 Permalink | Reply
    Tags: AWS, ,   

    Memasang Mattermost di AWS 

    Rencana Desain

    Bagi yang belum mengenal mattermost, bisa membaca postingan saya sebelumnya.

    1 Mesin EC2 free tier (1Core1GB) AWS
    OS Ubuntu 16.04
    IP Publik Static (Elastic IP)

    Stack:

    • Nginx (as proxy)
    • Mattermost-server
    • Postgresql
    • SSL letsencrypt

    Security Group outbond:

    • 443, 80 (open)
    • Ping (open)
    • 8065 (port mattermost sementara)

    Instalasi saya pecah menjadi beberapa bagian

    Persiapan Mesin

    1. Buat mesin, sesuai spesifikasi diatas
    2. Login ssh dan mulai masang-masang

    (More …)

     
  • Tuan Pembual 17:18 on 18 February 2017 Permalink | Reply
    Tags: AWS, , , GCE,   

    Perpaduan Chef, Knife, AWS CLI, Digital Ocean, dan Google Compute Engine 

    6-alasan-wanita-tertarik-pada-pria-jago-masak
    Idenya, saya ingin memanajemen beberapa provider layanan awan dalam satu tools. Kebetulan kantor menggunakan beberapa, diantaranya aws, digital ocean, gce.

     

    Saya terbiasa menggunakan ChefDK dan knife sebagai alat masak. Mari kita pasang-pasang tools pendamping.

    1. ChefDK (Chef, Ruby, Knife)
    2. AWS CLI
       $ pip install awscli
      
    3. Google Cloud SDK
    4. Gem (knife-ec2, knife-digital_ocean, knife-google)
      $ chef gem install knife-ec2 knife-digital_ocean knife-google
      
    5. Atur knife.rb untuk masing-masing provider
      $ vim ~/.chef/knife.rb
      

      Atur kira kira seperti ini

      knife[:aws_credential_file] = File.join(ENV['HOME'], "/.aws/credentials")
      knife[:aws_config_file] = File.join(ENV['HOME'], "/.aws/config")
      knife[:aws_profile] = "default"
      knife[:digital_ocean_access_token]  = "xxxxxxxxxxxxxxxxxx"
      knife[:gce_project] = 'my-project-name'
      knife[:gce_zone]    = 'asia-east1-a'
      
    6. Knife siap digunakan
      $ knife ec2 server list
      $ knife digital_ocean droplet list
      $ knife google server list
      

    Dah kira-kira begitu.
    Sumber gambar dari sini.

    Estu~

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel