CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL, email VARCHAR(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin, age varchar(5) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin, address text collate utf8mb4_general_ci, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;
-- [G] 1. char set ALTER TABLE users CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- [B] 1. char set INSERT INTO users (username, email, age, address) VALUES ('fastlookup', 'fast@example.com','1','L.A santa monica beach');
-- [G] 2. col order ALTER TABLE users MODIFY COLUMN email VARCHAR(100) AFTER age; -- [B] 2. col order INSERT INTO users (username, email, age, address) VALUES ('émilie', 'émilie@example.com','24','jeju-island');
-- [G] 3. col type varchar -> int ALTER TABLE users MODIFY COLUMN age int; -- [B] 3. col type varchar -> int INSERT INTO users (username, email, age) VALUES ('jane_smith', 'jane@example.com', 25);
-- [G] 3. col type text -> varchar ALTER TABLE users MODIFY COLUMN address VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- [B] 4. col type text -> varchar INSERT INTO users (username, email, age, address) VALUES ('no_index', 'no_index@example.com','98','new-york,new-york');
블루-그린 테이블 구조가 달라도 데이터는 정상적으로 복제가 되었다.
작업이 완료되었고, 복제가 완료되었으면 staging 을 prod 로 바꾸는 switch over 를 하자
전환이 완료되었다. 그린은 신규블루로 바뀌었고 엔드포인트도 기존 블루의 엔드포인트로 바뀌었다.
기존블루의 인스턴스 이름에는 "old" 가 붙게 된다.
사용자 입장에서는 잠깐의 순단이 발생하고 운영반영이 되었다.
* 스위치오버 전후 유의점
- 전환 전 그린 파라미터의 원복 : read_only, slave_type_conversions ( 재부팅 필요)
Amazon EC2는 요구 사항에 가장 적합한 유형을 선택할 수 있도록 다양한 인스턴스 유형을 제공합니다. 인스턴스 유형 이름은 패밀리, 세대, 프로세서 패밀리, 추가 기능 및 크기를 기준으로 지정됩니다. 인스턴스 유형 이름의 첫 번째 자리는 인스턴스 패밀리를 나타냅니다(예: c). 두 번째 자리는 인스턴스 세대를 나타냅니다(예: 7). 예를 들어 세 번째 위치는 프로세서 패밀리를 나타냅니다(예: g). 마침표 앞의 나머지 문자는 인스턴스 스토어 볼륨과 같은 추가 기능을 나타냅니다. 마침표(.) 뒤는 인스턴스 크기(예: small 또는 4xlarge, 베어 메탈의 경우 metal)입니다.
# 인스턴스 패밀리 C – 컴퓨팅 최적화 D - 고밀도 스토리지 F - FPGA G - 그래픽 집약적 Hpc – 고성능 컴퓨팅 I – 스토리지 최적화 Inf – AWS Inferentia M – 범용 Mac – macOS P – GPU 가속 R – 메모리 최적화 T – 버스트 가능한 성능 Trn – AWS Trainium U – 고용량 메모리 VT - 비디오 트랜스코딩 X – 메모리 집약적
# 프로세서 패밀리 a - AMD 프로세서 g – AWS Graviton 프로세서 i - 인텔 프로세서
# 추가 기능 d – 인스턴스 스토어 볼륨 n - 네트워크 및 EBS 최적화 e - 추가 스토리지 또는 메모리 z - 고성능 flex – Flex 인스턴스
EC2 : Elastic Compute Cloud. Iaas 로 AWS에서 제공하는 서버형태
RDS : Relational Database Service. DBaas 로 AWS에서 제공하는 DB서비스
EBS : (Elastic Block Store) : EC2용으로 제공하는 확장 가능한 고성능 블록 스토리지 서비스. AMI : (Amazon Machine Image) EC2에 연결된 모든 EBS volume 의 동시 백업 Snapshot : 선택한 EBS volume 만을 백업
프로비저닝 : 사용자 요구에 맞게 시스템 자원을 할당, 배치, 배포 해두었다가 필요시 즉시 사용가능 상태로 미리 준비해두는것 S3 : (simple storage service) AWS IAM : aws Identity and Access Management) WAP : (wireless application protocol) WAF : (web application firewall)
ELB : elastic load balancer
베어메탈 : 가상화 기술을 사용하지 않고 물리적으로 분리된 CPU, 메모리 등의 컴퓨팅 자원을 단독으로 할당 받아 사용할 수 있는 고성능 클라우드 컴퓨팅 서비스
Elastic 이란 말이 자주 나오는데 찰랑이는 머릿결로 유명한 카피문구 "엘라스틴 했어요" 라는 말처럼
탄력있고 유연하게 서비스를 제공한다는 것이 클라우드 컴퓨팅의 가장 큰 레거시 환경과의 차이점이다.
blue-green-deployment (블루그린 배포) : AWS에서 제공하는 무중단 배포 기법 (blue : product / green : staging)
cut-over : 신규 시스템으로 전환
리전(Region) : AWS 를 서비스 하는 단위 지역 ex) 서울
AZ (Availability Zone) : 가용영역, 하나의 리전 내에 위치한 IDC ex) seoul 리전의 목동, 일산 등
Edge location : AWS의 CDN 서비스인 CloudFront 를 위한 캐시서버들의 모음