Skip to content

Instantly share code, notes, and snippets.

View ejlp12's full-sized avatar

EJLP ejlp12

  • Indonesia
View GitHub Profile
@ejlp12
ejlp12 / sam_lambda.md
Last active January 14, 2021 07:31
Memulai membuat aplikasi serverless dengan AWS Serverless Application Model (AWS SAM)

Tautan ke halaman ini: https://bit.ly/2UJlHIc

SAM the Squirrel

Jika anda belum mengetahui apa itu komputasi serverless dan AWS Lambda, silakan baca di tautan ini: https://bit.ly/2RkuhLv

SAM

AWS Serverless Application Model (AWS SAM) adalah sebuah open-source framework untuk membangun aplikasi nirserver (serverless) di AWS. Proyek open source AWS SAM dibuat dan didukung oleh AWS, tetapi anda atau komunitas dapat berkontribusi untuk ikut mengembangkannya.

@ejlp12
ejlp12 / aws_blog_first_things_to_do.md
Last active January 7, 2021 04:16
Beberapa hal ini yang perlu kamu lakukan disaat pertama kali kamu buat akun AWS.
  1. Ubah email address yang digunakan pada root account.

    Ini hanya berlaku kalau email yang kamu gunakan adalah email pribadi dan juga AWS account kamu bukan digunakan untuk keperluan pribadi kamu sendiri, tapi merupakan akun organisasi atau perusahaan. Email yang digunakan pada AWS account haruslah selalu dapat diakses oleh lebih dari satu orang. Kamu bisa membuat email alias misalnya aws-account@namaperusahaan.com yang diforward ke beberapa email pribadi.

    Hindarkan penggunaan email menggunakan domain gratisan seperti gmail.com, yahoo.com dan pastikan kamu secara aktif selalu membaca email dari AWS. AWS akan melakukan pengecekan fraud dan bisa saja karena hal tertentu akun kamu dianggap memiliki potensi fraud dan AWS mengirimkan email konfirmasi. Jangan sampai anda tidak mejawab email tersebut dan menyesal karena akun anda diblok.

  2. [Nyalakan Multi Factor Authentication (MFA)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_e

@ejlp12
ejlp12 / aws_face_rekognition_demo.md
Last active December 14, 2020 13:54
Static website demo (Face Recognition Demo)

LAB

Dalam LAB ini anda akan mencoba mem-deploy kode aplikasi web ke layanan Amazon S3. Aplikasi web tersebut adalah sebuah aplikasi Angular sederhana yang terhubung ke Backend System yaitu Amazon Rekognition yang akan melakukan deteksi wajah atau karakter manusia. Aplikasi tersebut terdiri dari file-file JavaScript, CSS dan HTML.

Sebelum menjalankan Lab ini, buatlah sebuah public S3 bucket dan set sebagai "Static website hosting". Bucket ini nanti akan digunakan untuk meng-host file-file aplikasi web (Angular)

  1. Login ke AWS Console.
  2. Klik menu "Service" kemudian di seach textbox ketik "Cloud9" kemudian klik item pada list yang muncul dibawah textbox.
@ejlp12
ejlp12 / aws_session_manager.md
Last active December 8, 2020 03:34
Setup Session Manager to access EC2 instance without SSH

Session Manager offers these benefits:

  • Centralized access control to instances using IAM policies
  • No open inbound ports and no need to manage bastion hosts or SSH keys
  • One-click access to instances from the console and CLI
  • Logging and auditing session activity

Reference:

@ejlp12
ejlp12 / aws_spot_instance.md
Last active November 25, 2020 15:49
aws spot instances

Ketika Anda menjalankan EC2 instance dari AWS Management Console dengan mengklik tombol "Launch instance" atau menggunakan AWS CLI (Command Line Interface) yaitu dengan perintah aws ec2 run-instances ... maka anda menjalankan EC2 instance yang disebut On-Demand instance

Dengan On-Demand instance anda membayar kapasitas komputasi yang dihitung per jam atau detik (minimum 60 detik) tanpa komitmen jangka panjang. Tanpa komitmen jangkan pajang artinya anda dapat menjalankan atau mematikan instance (berhenti) kapan saja. Harga dari On-Demand instance bersifat tetap dan tergantung dari:

  1. Tipe dari EC2 instance (besarnya daya komputasi CPU, memory, storage dan jaringan)
  2. Amazon Machine Image (AMI) yang digunakan. Yang berarti tergantung dari sistem operasi (misalnya Linux atau Windows) dan software yang terdapat didalamnya (misalnya SQL Server database atau software lain yang bisa anda dapatkan dari AWS Market
@ejlp12
ejlp12 / private_aws_api_gateway.md
Created February 6, 2019 05:54
Create Private API Gateway using VPC Endpoint (PrivateLink)
@ejlp12
ejlp12 / EA_Start_Cobol.md
Last active April 11, 2020 19:24
Let's start developing COBOL on Mac OS-X

Install GnuCOBOL

brew install gnu-cobol

Install python and pip3, pyqt5 for OpenCobolIDE/HackEdit dependencies

brew install python3
brew install pyqt5 --with-python3

Tautan ke halaman ini: https://bit.ly/2RkuhLv

Apa itu komputasi serverless?

Komputasi nirserver atau serverless memungkinkan Anda untuk membangun dan menjalankan aplikasi serta layanan tanpa perlu memikirkan server. Dengan komputasi serverless, sebenarnya aplikasi Anda masih berjalan di server, tetapi semua manajemen server dilakukan oleh penyedia komputasi awan yaitu AWS. Dengan menggunakan AWS dan Serverless Platform-nya, Anda dapat membangun dan menggunakan aplikasi pada layanan hemat-biaya yang sudah menyediakan ketersediaan (availability) aplikasi yang tinggi dan kemampuan penskalaan (scalability) yang fleksibel. Ini memungkinkan Anda fokus pada kode aplikasi Anda alih-alih memikirkan penyediaan, konfigurasi, dan pengelolaan server.

Mengapa membangun aplikasi serverless?

Membangun aplikasi serverless memungkinkan Anda untuk fokus pada kode aplikasi Anda alih-alih mengelola dan mengoperasikan infrastruktur. Anda tidak perlu memikirkan penyediaan atau konfigurasi server karena AWS

@ejlp12
ejlp12 / eks_security_best_practices.md
Last active February 19, 2020 00:19
AWS Recommended Security Best Practices for EKS

Preventive

@ejlp12
ejlp12 / rds_postgresql_manual_minor_upgrade.md
Last active February 19, 2020 00:19
Best practices for manual minor upgrade of RDS ProsgreSQL

Preparation (Before Upgrade):

  1. Review the official release notes to understand the changes introduced in the new version.
  2. Find the suitable next minor version as per the upgrade path. Use following command:
    aws rds describe-db-engine-versions \
      --engine postgres \
      --engine-version 9.5.12 | \
    

grep -A 500 "ValidUpgradeTarget"| \