Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ tháng bảy, 2020

Một số hàm cơ bản khi tạo một hạ tầng ảo trên AWS dùng CDK python.

Như các bạn đã biết AWS CDK Python là một framework để code automation hạ tầng mạng cho AWS. Trong bài viết này chúng ta đi sơ qua một vài function cơ bản trong CDK Python dùng cho việc code automate hạ tầng trên AWS. 
Các components sẽ tạo như:  1. VPC, subnet, Internet GW và NAT GW.  2. ECS - Elastic Container Service, load balancer, AutoScaling Group, ... 
Nếu trước kia bạn có thể sử dụng Ansible hoặc terraform để deploy mà bạn không cần phải biết 1 ngôn ngữ nào, bạn cũng có thể deploy được các components phía trên. 
Terraform: Ansible:

Ngày nay bạn sử dụng code Python để deploy các component trên bằng framework CDK của AWS. 
Trong đó có các hàm thông dụng sau: 

vpc = ec2.Vpc(stack, "VPC",
max_azs=3,
cidr="10.100.0.0/16",
# configuration will create 3 groups in 2 AZs = 6 subnets.
subnet_configuration=[ec2.SubnetConfiguration(
subnet_type=ec2.SubnetType.PUBLIC,
name=name_subnet_public,
cidr_mask=24
) Tạo một VPC, có parameter tối đa available_zone = 3 và CIDR = 10.100.0.0/16 và 6 …

HTTPS cho Jenkins và Sonarqube.

Trong quá trình làm project, devops chúng ta thường build bộ CI/CD nhưng để bảo mật tầng web cho 2 ứng dụng này là Jenkins và Sonarqube thì bạn cần phải làm gì ?

Jenkins server được cài đặt trên ec2 instance của Amazon và Sonarqube được cài đặt chung với server Jenkins nhưng chạy port khác.

Logo Jenkins

Kết quả scan của sonarqube:

Trong trường hợp này bạn phân quyền developer nào được quyền truy cập vào web jenkins để deploy và developer nào được vào Sonarqube để xem các kết quả sonar-scanner trả về.

Mong muốn các dữ liệu truyền được mã hoá, vậy phải bật tính năng https cho truy cập jenkins và sonarqube.

Ví dụ ta đang dùng Nginx làm Reverse Proxy



Sau khi cài đặt nginx thành công ta viết 1 file configuration :

upstream jenkins {   server 127.0.0.1:8443 fail_timeout=0; } server {         listen 443 ssl;          listen [::]:443 ssl;         ssl_certificate /etc/nginx/nginx-selfsigned.crt;         ssl_certificate_key /etc/nginx/nginx-selfsigned.key;         root /var/www/example.com/html;         inde…

AWS CDK là gì ? Cách khởi tạo để cấu hình một hạ tầng cho ứng dụng trên nền tảng đám mây AWS

AWS CDK là gì?

Là bộ công cụ phát triển đám mây AWS (AWS CDK) là khung phát triển phần mềm nguồn mở để xác định cơ sở hạ tầng đám mây dưới dạng mã với các ngôn ngữ lập trình hiện đại và triển khai thông qua AWS CloudFormation

Trong bài viết này mình giới thiệu cách khởi tạo AWS CDK bằng ngôn ngữ python. 

Tạo một project. 

Tạo một folder, sau đó khởi động python cdk bằng lệnh : cdk init 

mkdir my-project cd my-project cdk init app --language python

Bật môi trường ảo cho python: 

source .env/bin/activate

Sau đó cài các dependencies: 

pip install -r requirements.txt

Để cài những thư viện cdk python. ta dùng lệnh: 

pip install aws-cdk.aws-s3 aws-cdk.aws-lambda

Với aws-s3, aws-lambda là SERVICE-NAME. 

Trước khi deploy lên AWS bạn chạy : 

cdk synth: Tổng hợp thành một Cloudformation Template từ một hoặc nhiều stack vào trong ứng dụng AWS CDK. 

cdk deploy API_corp VPC_corp: triển khai (deploy) một hoặc nhiều stack (API_corp VPC_corp) lên hạ tầng AWS.