01. Java
02. git
03. Database
04. Jsp [Server]
05. HTML,CSS
07. JS
06. 미니프로젝트-2W
08. SpringFramework , SrpingBoot
19. 중간프로젝트 (1M)
10. Linux 명령어
11. AWS(v)
12. React JS [Front-end]
13. DevOps - Docker
14. App - Android
15. 최종프로젝트 (1M)
클라우드 컴퓨팅
이라고 알려진 웹 서비스 형태로 기업에 IT인프라를 제공
- 기업의 서버를 자체적으로 보유하고 있는 서버에 직접 설치하고 운영하는 방식
- 필요한 IT자원만을 선택해 인터넷을 통해 '서비스'방식으로 구입해 사용하는 방식
- Saas(Software as a Service) : 소프트웨어를 웹에서 사용할 수 있는 서비스
- Iaas(Infrastructure as a Service) : 인프라 구축에 필요한 시스템을 대여하는 서비스
- Paas(Platform as a Service) : 소프트웨어 개발에 필요한 플랫폼을 대여하는 서비스
- 데이터 센터의 집합
- 데이터 센터는 재난에 대비해 보통 3개의 형태로 나뉨
- 각 데이터 센터들은 여러개로 나누어져있고, 물리적으로 구축되어있으며 서로 광 통신만으로 연결되어 빠른 데이터를 공유할 수 있음
northeast-2a northeast-2b northeast-2c
- 위와 같이 나누어져 사용할 수 있는 영역
- 위의 예시로 보게된다면 한 리전에 3개의 가용영역이 있는 것
- 사용자 이름 입력 후 사용자 액세스 권한 제공을 체크한 후 IAM 사용자를 생성하고 싶음 선택
- 커스텀 비밀번호 입력
- 해당 사용자탭 -> 보안 자격 증명 -> 콘솔 엑세스 관리에서 활성화
고가용성 가상머신 서버
기존의 가상화 기술방식의 서비스
C로 시작하는 인스턴스는 CPU 최적화
- 대용량 연산작업 서버에 적합 (게임서버, 고성능 웹서버 등)
- 대규모 데이터셋 처리에 적합
- 관계형 데이터베이스, 비관계형 데이터베이스 실시간으로 처리하는 서버 등
- 일래스틱 캐시서버
- 대규모 데이터셋 파일저장에 적합
- 관계형 데이터베이스, 비관계형 데이터베이스
- 데이터 웨어하우징 어플리케이션
- 분산 파일 저장에 적합
보안그룹은 방화벽
보안그룹은 포트번호로 통제
인바운드 규칙은 외부에서 EC2에 접속하는 규칙
아웃바운드 규칙은 EC2에서 나가는 규칙(기본적으로 모든 포트를 아웃바운딩)
time out에러(무한로딩) > 보안그룹의 문제
connection refused에러 > 보안그룹은 통과했지만, 어플리케이션 레벨에서의 문제
- 같은 가용영역에 존재
- 장점
- 같은 영역에 있기 때문에 빠른 네트워크 통신이 가능
- 단점
- 가용영역에서 실패가 발생하면 모든 인스턴스에 실패가 전파 (짧은 지연속도)
- 동시 실패 위험이 감소
- 가용영역별 7개까지 배치될수 있음 (규모제한)
- 각 하드웨어별로 물리적이 랙(장비)를 공유하지 않기 때문에 장애로부터 격리
- partition1이 다운되어도 partition2는 사용가능
- 아파치kafka, hadoop같은 빅데이터 처리 어플리케이션들에 사용하기 좋음
EC2 인스턴스를 통쨰로 이미지로 만드는 방식
클라우드의 강력한 장점
EC2인스턴스에 설치하고자 하는 모든 소프트웨어를 AMI가 미리 패키징해줌
AMI는 특정 AWS리전에 국한되며, 각 AWS리전에는 고유 AMI가 있음
다른 AWS리전에서 AMI를 사용해 EC2인스턴스를 실행하는 것은 불가능하지만, 대상 AWS리전으로 AMI를 복사해 EC2인스턴스를 생성하는 것은 가능
AMI 사용하기 시나리오
- EC2인스턴스를 하나 생성
- 생성할 때 user data에 아래 내용을 넣음
#!/bin/bash sudo apt-get update sudo apt-get install -y apache2 apache2 -version sudo service apache2 start sudo chmod 777 /var/www/html/index.html
- 브라우저를 통해 설치된 apache2를 확인합
- 인스턴스를 우클릭하여 인스턴스 이미지 생성(AMI)로 생성
- AMI탭 에서 해당 AMI를 이용하여 인스턴스를 생성
- MI로 인스턴스 시작 클릭
- 생성할 때 퍼블릭아이피는 자동할당
- user data에는 아래 내용을 넣음음
- AMI이지로 인스턴스를 생성하기 때문에 기존 apt패키지와 apache2서버는 이미 설치 되어있음
#!/bin/bash echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html
- AMI로 생성된 EC2에 접속해서 결과를 확인
- 네트워크를 통해 파일 및 디렉토리에 엑세스 할 수 있음
여러 EC2인스턴스에 마운트 될 수 있음
EC2 인스턴스는 다양한 가용 영역에 있을 수 있음
EFS는 Linux기반 운영체제만 연결됨
EFS는 자동확장되어 크기 지정이 없음
스토리지 클래스 선택
Standard
: 다양한 가용영역에 포함되게 함 - 운영One-zone
: 하나의 가용영역에 포함되게 함 - 개발
Standard
: 어세스가 많은 파일들은 이 계층에 저장Infrequency access(IA)
: 일정 시간이 되면 사용량이 적은 파일을 스토리지 계층으로 옮기는 모드
- 처리량 모드
버스트모드
: 파일크기에 따라 용량의 크기도 정해짐 ( 파일처리량은 50Mib/s에서 100Mib/s까지 버스팅 )프로비저닝모드
: 스토리지 크기에 상관없이 파일 처리량을 설정할 수 있음
- 퍼포먼스(성능) 모드
일반모드
: 기본값이며, 일반적 성능 (웹서버에 적합)Max IO모드
: 고성능 IOPS를 제공 (Bigdata처리에 적합)