분류 전체보기

Opcode: 스택🧱  [예제][Register]rsp = 0x7fffffffc400[Stack]0x7fffffffc400 | 0x0  [결과][Register]rsp = 0x7fffffffc3f8[Stack]0x7fffffffc3f8 | 0x31337    [예제][Register]rax = 0rsp = 0x7fffffffc3f8[Stack]0x7fffffffc3f8 | 0x31337  [결과][Register]rax = 0x31337rsp = 0x7fffffffc400[Stack]0x7fffffffc400 | 0x0   Opcode: 프로시저📜 컴퓨터 과학에서 프로시저(Procedure)는 특정 기능을 수행하는 코드 조각을 말한다. 프로시저를 사용하면 반복되는 연산을 프로시저 호출로 대체할 수 ..
x86-64 어셈블리 명령 구성: 명령어 +  피연산자 피연산자에는 총 3가지 종류가 올 수 있다.상수(Immediate Value)레지스터(Register)메모리(Memory) 1. 데이터 이동 🚚: mov (값), lea(주소) 2. 산술연산 ❌ 3. 논리연산 🤔 - and & or논리 연산 명령어는 and, or, xor, neg 등의 비트 연산을 지시한다. 이 연산은 비트 단위로 이루어 진다. and dst, src: dst와 src의 비트가 모두 1이면 1, 아니면 0[Register]eax = 0xffff0000ebx = 0xcafebabe[Code]and eax, ebx[Result]eax = 0xcafe0000 or dst, src: dst와 src의 비트 중 하나라도 1이면 1, 아니..
레지스터 RAX(64 bits) - EAX (32 bits, Extended AX) - AX(16 bits) - AL(8 bits) - AH(8 bits) rax = 0x0123456789abcdef 일때eax = 0x89abcdefah = 0x89abal = 0xcdef 리눅스 메모리 구조 리눅스에서는 프로세스의 메모리를 크게 5가지의 세그먼트(Segment) 로 구분한다. 여기서 세그먼트란 적재되는 데이터의 용도별로 메모리의 구획을 나눈 것인데,크게 코드 세그먼트, 데이터 세그먼트, BSS 세그먼트, 힙 세그먼트, 그리고 스택 세그먼트로 구분한다. 운영체제가 메모리를 용도별로 나누면, 각 용도에 맞게 적절한 권한을 부여할 수 있다는 장점이 있다.권한은 읽기, 쓰기, 그리고 실행이 존재하며, CPU는 ..
Load Balancing · 부하를 다수의 다운스트림 인스턴스로 분산· EC2 인스턴스의 Health Checks 가능(인스턴스 상태 가능)· SSL 가속기 기능(복호화)· Managed Load Balancer로 AWS의 guarantee 로드밸런서는 Region Level에서 동작 Load Balancer 종류 #1. Classic Load Balancer(Not use)#2. ALB(HTTP, HTTPS, WebSocket)#3. NLB(TCP, TLS, UDP)#4. GWLB(3계층과 IP 프로토콜에서 동작) | 사용자와 Back-End 사이에 방화벽 역할(ALB와 NLB 사이)Load Balancer Security Groups EC2의 Security Groups Rule은 포트 80 HTT..
· AWS/EC2
Scalability #1. Vertical Scaling (=scale up/down)EC2 하드웨어 스펙 up/down #2. Horizontal Scaling (=scale out/in)Increase number of instances
· AWS/EC2
EFS(Elastic File System) → Security Group으로 Access Control하며 여러 EC2와 연결될 수 있다(별도의 SG 생성 필요할 수 있음)→ Linux 기반 AMI와만 호환(Not Windows)→ 용량 미리 설정할 필요 없이, 파일 시스템이 자동으로 확장
· AWS/EC2
EBS(Elastic Block Store) Volume : 인스턴스가 실행중인 동안 연결가능한 네트워크 드라이브(EC2 인스턴스 생성 시 자동으로 연결)로 블록 스토리지  객체 스토리지(AWS S3): 스토리지 자체만으로 서비스가 가능 #1. EBS란?① 인스턴스가 종료된 후에도 데이터 지속할 수 있다② 인스턴스를 재생성하고 이전 EBS 볼륨을 마운트하면, 데이터를 다시 받을 수 있다(재사용가능한 스토리지)    → EBS는 네트워크 드라이브로 EC2 인스턴스에서 분리될 수 있고, 매우 빠르게 다른 인스턴스로 연결될 수 있다.    → EBS 성능 조절 가능③ EBS는 특정 AZ에 종속되어 있으며, Snapshots을 이용하면 다른 AZ로 복사 가능 #2. 특징 CCP 레벨의 EBS 볼륨은 한번에 두개..
· AWS/EC2
EC2 State #1. 중지(Stop): EBS 디스크 데이터는 다시 시작할때까지 유지#2. 종료(Terminate): 루트 볼륨이 삭제되게 했다면, 인스턴스도 삭제. 그렇지 않은 다른 볼륨은 인스턴스가 종료되더라도 남는다. #3. 다시 시작 시      ① OS 부팅 & EC2 User Data 스크립트 실행      ② OS 부팅 완료      ③ 애플리케이션 실행, 캐시 구성 시작 등 EC2 Hibernate Hibernate (절전): 중지한 적이 없었던 것처럼 OS가 인식하게 하는 것!→ RAM에 있던 In-Memory 상태는 그대로 보존: 인스턴스 부팅 속도가 매우 빨라지는 것 → 절전 모드가 되고, 백그라운드에서 RAM에 기록되었던 In-Memory 상태는 루트 경로의 EBS 볼륨에 덤프하..
· AWS/EC2
Elastic Network Interface(ENI) 기본 ENI(Virtual Network Card)인 Eth0에 연결되어 EC2 네트워크 연결을 제공 ENI 특성- Primary Private IP, 1개 이상 Secondary IP- Private IP 당 1개의 Elastic IP- 1개의 Public IP- 1개 이상의 Security Group 연결- MAC Address- EC2 인스턴스와 독립적으로 생성하고 즉시 연결하거나, Failover 위해 EC2 인스턴스에서 이동 가능- 특정 AZ에 종속되어 있음첫 번째 EC2 인스턴스 A에 문제가 생겼으며, 이 인스턴스 A는 Eth1이라는 ENI에 연결되어 있다고 가정하자.→ 그렇다면, 첫 번째 EC2 인스턴스 A에서 두 번째 인스턴스 B로 E..
· AWS/EC2
Elastic IP Instance를 중지하고 재시작할때마다 Public IP를 재할당한다.→ 유지보수에 어려움이 있으므로, Elastic IP를 발급 받고→ 이를 현재 Running 중인 인스턴스의 고정적인 Public IP/Private IP를 설정토록 한다. Elastic IP를 발급받을 시 Public IP는 발급받은 Elastic IP로 설정되며,이를 인스턴스에 연결 시 해당 인스턴스의 Private IP로 연결할 수 있다. Placement Group → EC2 인스턴스가 AWS 인프라에 어떻게 배치되기를 원하는지 알려주는 것. #1. Cluster 형태      → Single AZ에서 low-latency를 가지는 인스턴스 그룹 형태      → 높은 성능(10GB의 Bandwidth) &..
Younngjun
'분류 전체보기' 카테고리의 글 목록