aws를 공부하면서 알게된 클라우드 개념들과 용어를 정리하였다.
AWS에서 인스턴스 생성시 사용한다. 인스턴스 생성 과정을 알아보자.
먼저 인스턴스 이름을 지정하고 설치할 OS를 선택한다. Linux 배포판들과 윈도우등이 기본적으로 지원된다.

인스턴스 유형에서는 생성할 인스턴스의 자원을 선택하게 되는데 불필요한 요금이 나가지 않도록 적절한 크기의 자원을 선택하자.

인스턴스 생성 후 로그인 시 키를 이용해 로그인 할 수 있다. PuTTY를 사용할게 아니면 .pem 형태로 키를 생성해 안전한 장소에 보관하고 이후에 ssh로 키 기반 인증을 통해 인스턴스에 접속하면 된다.


네트워크에서는 이후에 설명할 VPC를 선택하고 서브넷을 선택한다. VPC란 간단하게 설명하면 퍼블릭 클라우드 환경 내에서 논리적으로 격리된 자신만의 사설 네트워크 공간이다.
퍼블릭 IP 자동 할당을 활성화 시키면 자동으로 동적 IP가 할당된다.
보안 그룹을 통해 방화벽 설정을 미리 생성해두고 재사용할 수 있다.

고급 세부 정보 탭에 사용자 데이터 필드에 코드를 입력하면 인스턴스 생성시 자동으로 해당 부분을 실행하게 된다.
예를들어
#!/bin/bash
yum install -y httpd
echo "test" > /var/www/html/index.html
systemctl start httpd
systemctl enable httpd
해당 텍스트를 입력시 인스턴스 생성 후 자동으로 아파치 웹서버가 설치되고 실행된다.

VPC란 앞서 말했다시피 퍼블릭 클라우드 환경 내에서 논리적으로 격리된 자신만의 사설 네트워크 공간이다.
VPC 생성 후 서브넷, 인터넷 게이트웨이, NAT 게이트웨이 등을 설정하게 되는데 각각 뭔지 간단하게 알아보자.
구성 예시 구조도를 보며 알아보자.


해당 구조는 public subent에 EC2 A 인스턴스와 NAT Gateway가 존재하고 EC2 A는 IGW를 통해 인터넷과 연결된다.
private subnet에는 EC2 B가 존재하고 public subnet에 위치한 NAT Gateway를 통해 외부 인터넷으로 연결된다.
외부에서 인스턴스에 접근하려면 어떻게 해야 할까?
EC2 A에 접근은 SSH를 통해 가능하다. pulbic 영역에 있으니 적절히 설정만 되었다면 문제없다.
EC2 B는 어떨까? SSH로 접근시도 시 NAT Gateway에 의해 인바운드가 차단되므로 접근이 불가능하다. EC2 B에 연결하기 위해선 구조도에 나와 있듯이 EC2 A에 먼저 접근한 후 EC2 B로 연결을 시도하면 된다. EC2 A,B는 같은 VPC 내부에 존재하여 서로 private IP를 통해 연결이 가능하기 때문이다.
만약 EC2 A를 거치지 않고 EC2 B에서 외부와 연결하고 싶다면 EC2 B에 VPN 설정을 하면 될 것이다. 이외에 리버스쉘을 통해서도 연결이 가능할 것 같다.
먼저 스토리지 종류에 대해 알아보자
Block Storage, File Storage, Object Storage 3가지로 나눌 수 있다.

AWS에서 S3는 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스이다.
간단하게 S3를 사용하여 보자. 버킷을 생성후 파일을 업로드하고 외부에서 접근할 수 있도록 설정하주면 객체 URL 주소를 통해 해당 파일을 확인할 수 있다.


텍스트파일을 업로드했는데 한글이 깨져서 나온다... 인코딩 이슈가 살짝 있다. 따로 맞춰주거나 귀찮으면 그냥 영어쓰자

앞서 VPN 관련해서 이야기가 잠깐 나왔는데 통상적으로 VPN 연결을 위해선 인증서나 비대칭키를 생성해 사용한다. VPN을 위해 생성한 키를 AWS에서 등록할 떄 Certificate Manager를 이용하게 된다.


온프레미스 vs 클라우드
하이브리드 vs 멀티클라우드
IaaS/PaaS/SaaS
CDN (Content Delivery Network)
AWS에서 공동책임모델
클라우드의 보안은 AWS, 클라우드 안의 보안은 고객

외부 위협이 잠재적 취약점을 노출을하면 자산(asset)에 영향을 끼치는걸 위험(risk)이라고 한다.

캐싱 서버
접근 통제 모델
| 모델 | 기준 | 권한 결정 방식 | 예시 |
|---|---|---|---|
| DAC | 사용자 | 소유자가 직접 권한 부여 | 파일 ACL, chmod |
| MAC | 규칙(정책) | 시스템이 강제 규정 | SELinux, AppArmor |
| Non-DAC (RBAC) | 역할(role) | 역할에 따라 권한 상속 | AWS IAM, DB Role |
SDN/NFV
Site-to-Site(Gate-to-Gate)
EDR(Endpoint Detection and Response)
SIEM(Security Information & Event Management)
VPN

SHA 해시 알고리즘
주요 DBMS 포트
| DBMS | 기본 포트(프로토콜) | 비고 |
|---|---|---|
| MySQL | 3306/TCP | X Protocol: 33060/TCP (옵션) |
| MariaDB | 3306/TCP | MySQL과 동일(기본값) |
| Microsoft SQL Server (MSSQL) | 1433/TCP | SQL Server Browser: 1434/UDP |
| Oracle Database | 1521/TCP | TCPS(암호화 리스너): 2484/TCP |
| PostgreSQL | 5432/TCP |
Grandfather–Father–Son (GFS)
BCP (Business Continuity Plan, 사업연속성 계획)
HA(High Avalivity, 고가용성)
Proxy

CDN(Content Delivery Network)
IaC (Infrastructure as Code)
Ansible (엔서블)
RSS
※ 참고자료
https://study-infra.com/what-is-natgateway/
https://inpa.tistory.com/entry/NETWORK-%F0%9F%93%A1-Reverse-Proxy-Forward-Proxy-%EC%A0%95%EC%9D%98-%EC%B0%A8%EC%9D%B4-%EC%A0%95%EB%A6%AC