일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ebs
- K8S
- elasticsearch
- POD
- YAML
- Deployment
- Kubernetes
- IAC
- dockerfile
- Django
- terraform
- EC2
- 자바스크립트
- docker
- Python
- WSGI
- AWS
- IAM
- intervals
- kernel
- leetcode
- github
- event loop
- asyncio
- asgi
- Service
- ansible
- EKS
- 쿠버네티스
- FastAPI
- Today
- Total
궁금한게 많은 개발자 노트
[ AWS ] EC2 Security Groups 본문
Security Groups: AWS내에서 네트워크 보안의 기본이며, 트래픽이 어떻게 EC2 instance들에게 들어오고 나가는지를 제어할 수 있습니다. Security Groups는 오직 allow rules로 구성되어 있습니다.(무엇이 오고 나가는지에 대한 규칙)
또한, Security Groups rules는 IP또는 security group를 참조할 수 있습니다. 서로 참조 가능.
firewall과 같은 기능으로, EC2 instance로 들어가고 나가는 트래픽들에 대한 규칙을 적용할 수 있습니다.
Security Groups regulate:
- Port들에 대한 접근
- 승인된 IP 범위 (IPv4, IPv6)
- inbound network 제어 (외부에서 instance로의)
- outbount network 제어 (instance로부터 외부로)
Security Groups Good to know:
- 여러 instance에 추가될 수 있습니다. 하나의 Security Group이 여러 instance에 적용될 수 있음을 뜻하며 마찬가지로 하나의 instance에서 여러 security group들을 적용시킬 수 있습니다.
- locked down to region /VPC combination: 지역에 국한되어 있으므로, 다른 지역으로 옮긴다면 새로운 security group을 생성해야 합니다.
- EC2외부에 존재하므로, 트래픽을 막는다면 EC2는 해당 트래픽에 대한 존재를 알 수 없습니다. EC2에서 동작하는 application과는 전혀 다릅니다. EC2외부의 방화벽이라고 생각하면 됩니다.
- SSH access만을 위한 별도의 security group을 유지하는 것이 좋습니다. SSH access는 일반적으로 가장 복잡하기 때문입니다.
- 만약 너의 application이 접근이 불가능하다면(timeout), 그것은 security group 문제일 것입니다. 하지만, timeout이 아닌 연결 거부등의 에러라면 security group은 동작했지만, application이나 다른 에러일 것입니다.
- 모든 inbound traffic은 blocked default, 모든 outbound traffic은 authorized by default
# security group끼리 참조가 가능하므로, 예를 들어 (A)EC2 instance에 적용된 security group 1의 inbound rule에서 security group 1,2를 승인한다면, 다른 EC2 instance의 IP가 무엇이든 간에 Security group 1,2를 적용하여 inbound traffic을 A instance에 보낸다면 접근이 가능합니다.
Class Ports to know:
• 22 = SSH (Secure Shell) - log into a Linux instance
• 21 = FTP (File Transfer Protocol) – upload files into a file share
• 22 = SFTP (Secure File Transfer Protocol) – upload files using SSH
• 80 = HTTP – access unsecured websites
• 443 = HTTPS – access secured websites
• 3389 = RDP (Remote Desktop Protocol) – log into a Windows instance
'DevOps' 카테고리의 다른 글
[ AWS ] EC2 instance Purchasing Options (0) | 2022.12.08 |
---|---|
[ AWS ] EC2 instance connect with SSH (0) | 2022.10.20 |
[ AWS ] EC2 Instance basic (0) | 2022.10.09 |
[ AWS ] IAM Permissions (0) | 2022.10.07 |
[ AWS ] Cloud Overview (0) | 2022.10.06 |