

# Amazon EC2 모범 사례
<a name="ec2-best-practices"></a>

Amazon EC2를 최대한 활용하려면 다음과 같은 모범 사례를 수행하는 것이 좋습니다.

**보안**
+ 가능한 경우 ID 제공업체 및 IAM 역할과 아이덴티티 페더레이션을 사용하여 AWS 리소스와 API에 대한 액세스를 관리합니다. 자세한 내용은 *IAM 사용 설명서*의 [ID 공급자 및 페더레이션](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) 섹션을 참조하세요.
+ 보안 그룹에 대한 최소 허용 규칙을 구현합니다.
+ 인스턴스에서 운영 체제와 애플리케이션을 정기적으로 패치, 업데이트 및 보안합니다. 자세한 내용은 [업데이트 관리](update-management.md) 섹션을 참조하세요. Windows 운영 체제와 관련된 지침은 [Windows 인스턴스를 위한 보안 모범 사례](ec2-windows-security-best-practices.md) 섹션을 참조하세요.
+ Amazon Inspector를 사용하여 Amazon EC2 인스턴스에서 소프트웨어 취약성과 의도하지 않은 네트워크 노출을 자동으로 검색하고 스캔합니다. 자세한 내용은 [Amazon Inspector 사용 설명서](https://docs.aws.amazon.com/inspector/latest/user/what-is-inspector.html)를 참조하세요.
+ AWS Security Hub CSPM 제어를 사용하여 보안 모범 사례 및 보안 표준에 따라 Amazon EC2 리소스를 모니터링하세요. Security Hub CSPM 사용에 대한 자세한 내용은 *AWS Security Hub CSPM 사용 설명서*의 [Amazon Elastic Compute Cloud 제어](https://docs.aws.amazon.com/securityhub/latest/userguide/ec2-controls.html)를 참조하세요.

**스토리지**
+ 루트 볼륨 유형이 데이터 지속성, 백업 및 복구에 미치는 영향을 이해합니다. 자세한 내용은 [루트 볼륨 유형](ComponentsAMIs.md#storage-for-the-root-device) 섹션을 참조하세요.
+ 운영 체제와 데이터에 대해 별도의 Amazon EBS 볼륨을 사용합니다. 데이터를 포함하는 볼륨이 인스턴스 종료 이후에 지속되는지 확인합니다. 자세한 내용은 [인스턴스가 종료될 때 데이터 보존](preserving-volumes-on-termination.md) 섹션을 참조하세요.
+ 인스턴스에서 임시 데이터를 저장하는 데 사용 가능한 인스턴스 저장소를 사용합니다. 인스턴스를 중단하거나 최대 절전 모드로 전환하거나 종료하면 인스턴스 저장소에 저장된 데이터가 삭제됩니다. 인스턴스 저장소를 데이터베이스 스토리지용으로 사용하는 경우 내결함성을 보장하는 복제 인자를 가진 클러스터가 있어야 합니다.
+ EBS 볼륨 및 스냅샷을 암호화합니다. 자세한 내용은 *Amazon EBS 사용 설명서*의 [Amazon EBS encryption](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html)을 참조하세요.

**리소스 관리**
+ 인스턴스 메타데이터 및 사용자 지정 리소스 태그를 사용하여 AWS 리소스를 추적하고 식별합니다. 자세한 내용은 [인스턴스 메타데이터를 사용하여 EC2 인스턴스를 관리합니다.](ec2-instance-metadata.md) 및 [Amazon EC2 리소스 태깅](Using_Tags.md) 섹션을 참조하세요.
+ Amazon EC2에 대한 현재 제한을 조회합니다. 실제로 필요할 시점보다 미리 제한 증가를 요청하도록 계획하세요. 자세한 내용은 [Amazon EC2 서비스 할당량](ec2-resource-limits.md) 섹션을 참조하세요.
+ AWS Trusted Advisor를 사용하여 AWS 환경을 검사한 다음에 비용 절감, 시스템 가용성 및 성능 개선 또는 보안 격차를 해결할 기회가 있으면 권장 사항을 적용합니다. 자세한 내용은 AWS Support 사용 설명서**의 [AWS Trusted Advisor](https://docs.aws.amazon.com/awssupport/latest/user/trusted-advisor.html)를 참조하세요.

**백업 및 복구**
+ [Amazon EBS 스냅샷](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html)을 사용하여 EBS 볼륨을 정기적으로 백업하고, 인스턴스에서 [Amazon Machine Image(AMI)](AMIs.md)를 만들어 추후 인스턴스 시작을 위한 템플릿으로 구성을 저장합니다. 이 사용 사례를 달성하는 데 도움이 되는 AWS 서비스에 대한 자세한 내용은 [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/) 및 [Amazon Data Lifecycle Manager](https://docs.aws.amazon.com/ebs/latest/userguide/snapshot-lifecycle.html)를 참조하세요.
+ 애플리케이션의 주요 구성 요소를 여러 가용 영역에 배포하고 데이터를 적절히 복제합니다.
+ 인스턴스를 다시 시작할 때 IP 주소를 동적으로 지정하도록 애플리케이션을 설계합니다. 자세한 내용은 [Amazon EC2 인스턴스 IP 주소 지정](using-instance-addressing.md) 섹션을 참조하세요.
+ 이벤트를 모니터링하고 이에 대응하세요. 자세한 내용은 [Amazon EC2 리소스 모니터링](monitoring_ec2.md) 섹션을 참조하세요.
+ 장애 조치를 처리할 수 있도록 준비해야 합니다. 기본 솔루션의 경우 네트워크 인터페이스 또는 탄력적 IP 주소를 대체 인스턴스에 수동으로 연결할 수 있습니다. 자세한 내용은 [탄력적 네트워크 인터페이스](using-eni.md) 섹션을 참조하세요. 자동 솔루션의 경우 Amazon EC2 Auto Scaling을 사용할 수 있습니다. 자세한 내용은 [Amazon EC2 Auto Scaling 사용 설명서](https://docs.aws.amazon.com/autoscaling/ec2/userguide/)를 참조하세요.
+ 인스턴스 및 Amazon EBS 볼륨 복구 프로세스를 정기적으로 테스트하여 데이터와 서비스가 복원되는지 확인하세요.

**네트워킹**
+ 애플리케이션의 TTL(Time-to-Live) 값을 IPv4 및 IPv6의 경우 255로 설정합니다. 더 작은 값을 사용하면 애플리케이션 트래픽이 전송되는 동안 TTL이 만료되어 인스턴스에 연결성 문제가 발생할 수 있습니다.