이 페이지에서는 AWS EC2 Linux 인스턴스의 네트워크 설정 및 보안 관련 주요 개념을 다룹니다.
4. 보안 그룹 (Security Groups) 설정
보안 그룹이란? 보안 그룹은 인스턴스에 대한 인바운드(들어오는 트래픽) 및 아웃바운드(나가는 트래픽) 트래픽을 제어하는 가상 방화벽 역할을 합니다. 인스턴스를 시작할 때 하나 이상의 보안 그룹을 연결해야 합니다.
주요 규칙:
- SSH (Port 22): 인스턴스에 원격으로 접속하기 위해 반드시 허용해야 하는 포트입니다. 보통 '내 IP' 또는 특정 IP 범위로 제한하는 것이 보안상 좋습니다.
- HTTP (Port 80) / HTTPS (Port 443): 웹 서버를 운영할 경우, 웹 트래픽을 허용하기 위해 이 포트들을 'Anywhere (0.0.0.0/0)' 또는 특정 IP 범위로 열어주어야 합니다.
- 사용자 지정 포트: 데이터베이스(예: MariaDB 3306), 특정 애플리케이션 등 필요한 경우 추가 포트를 열 수 있습니다.
설정 방법:
'보안 그룹 구성' 단계에서 새로운 보안 그룹을 생성하거나 기존 보안 그룹을 선택합니다. 필요한 포트와 소스(Source) IP 범위를 지정하여 규칙을 추가합니다.
5. 스토리지 (EBS 볼륨) 설정
EBS (Elastic Block Store)란? EBS는 EC2 인스턴스에서 사용할 수 있는 영구 블록 스토리지 볼륨입니다. 인스턴스가 종료되어도 데이터가 유지됩니다. 기본적으로 OS와 함께 루트 볼륨이 생성됩니다.
주요 고려사항:
- 크기: 필요한 디스크 공간을 GB 단위로 설정합니다.
- 볼륨 유형: General Purpose SSD (gp2/gp3), Provisioned IOPS SSD (io1/io2), Throughput Optimized HDD (st1), Cold HDD (sc1), Magnetic 등 다양한 유형이 있습니다. 보통 gp2/gp3가 범용적으로 사용됩니다.
- 암호화: 데이터 보안을 위해 볼륨 암호화를 설정할 수 있습니다.
설정 방법:
'스토리지 추가' 단계에서 루트 볼륨의 크기를 조정하거나, 필요에 따라 추가 EBS 볼륨을 생성하고 연결할 수 있습니다.
6. 탄력적 IP (Elastic IP) 할당
탄력적 IP란? 탄력적 IP (EIP)는 AWS 계정에 할당되는 고정 공용 IPv4 주소입니다. 인스턴스가 중지되거나 시작될 때마다 IP 주소가 변경되는 것을 방지하고, 특정 인스턴스에 고정적으로 연결하여 사용할 수 있습니다.
필요성:
- 인스턴스가 중지/시작될 때마다 IP가 바뀌는 것을 방지하여 DNS 설정이나 외부 접속에 일관성을 유지할 수 있습니다.
- 장애 발생 시 다른 인스턴스로 빠르게 재할당하여 서비스 연속성을 확보할 수 있습니다.
할당 방법:
EC2 대시보드에서 '탄력적 IP' 메뉴로 이동하여 새로운 탄력적 IP 주소를 할당받은 후, 실행 중인 EC2 인스턴스에 연결합니다.
7. SSH 클라이언트를 이용한 접속
EC2 인스턴스 생성이 완료되고 실행 중 상태가 되면, 앞서 생성한 키 페어를 사용하여 SSH(Secure Shell) 클라이언트를 통해 인스턴스에 접속할 수 있습니다.
접속 방법 (Linux/macOS 터미널):
- 다운로드한 `.pem` 키 파일의 권한을 변경합니다:
chmod 400 your-key-pair.pem
- SSH 명령어를 사용하여 접속합니다. 사용자 이름은 AMI에 따라 다릅니다 (예: Ubuntu는 `ubuntu`, Amazon Linux는 `ec2-user`).
ssh -i "your-key-pair.pem" ubuntu@YOUR_INSTANCE_PUBLIC_IP
접속 방법 (Windows - PuTTY):
- PuTTYgen을 사용하여 `.pem` 파일을 `.ppk` 형식으로 변환합니다.
- PuTTY에서 호스트 이름(사용자@공용IP)을 입력하고, SSH > Auth 섹션에서 변환된 `.ppk` 개인 키 파일을 로드합니다.
- 'Open'을 클릭하여 접속합니다.