-
AWS 환경 설정 1IT/AWS 2024. 1. 24. 10:28
웹 호스팅 서비스를 사용하여 웹 애플리케이션을 구축하고 운영할 수 있으며, 이러한 애플리케이션에서 외부 API를 사용하는 환경을 구축하는게 점점더 수요가 높아지는 거 같습니다. API사용을 위해서 거의 모든 서비스 업체들에서 애플리케이션 요구사항에 동일요소로 공식 서비스화를 요구하고 있는 추세이다보니 AWS는 그 대안중에 하나가 아닐까 생각되어 알아보려고 합니다.
먼저 환경 설정부터 시작해서 기존 호스팅 서비스에 있는 데이터를 옮기거나 애플리케이션을 빌드하는 과정으로 이어가보려고 합니다. 이번 포스팅에서는 AWS 환경 설정에서 인스턴스 생성과 생성 후 수정을 위한 제거까지 진행해 보겠습니다.
AWS 환경 설정과 관련해서는 2편으로 이어질 예정입니다.
AWS 환경 설정
EC2 인스턴스 생성
- AWS Management Console에 로그인하고, EC2 인스턴스를 생성합니다.
- 워드프레스를 실행할 수 있는 충분한 사양(메모리, CPU, 스토리지)을 선택합니다.
- 웹 서버 (예: Apache, Nginx)와 PHP를 설치할 수 있는 운영 체제(예: Ubuntu, Amazon Linux)를 선택합니다.
보안 그룹 설정
- EC2 인스턴스에 대한 보안 그룹을 설정하여 HTTP(80), HTTPS(443), SSH(22) 포트를 열어 둡니다.
EC2 인스턴스에 접속
- SSH를 사용하여 EC2 인스턴스에 접속합니다.
웹 서버, PHP, MySQL/MariaDB 설치
- 필요한 웹 서버 소프트웨어, PHP, MySQL/MariaDB(또는 RDS를 사용할 경우 필요 없음)를 설치하고 구성합니다.
인스턴스 유형 t2 xlarge, t3 xlarge
t2.xlarge
- 세대: t2는 AWS의 이전 세대 버스트 가능(burstable) 인스턴스입니다.
- CPU 크레딧: t2 인스턴스는 CPU 크레딧을 사용하여 기본 성능 이상으로 버스트(임시 성능 향상)할 수 있습니다. 하지만 크레딧이 고갈되면 기본 성능으로 돌아갑니다.
- 사용 사례: t2 인스턴스는 간헐적 또는 예측 가능한 부하가 있는 작은 데이터베이스, 개발 환경, 빌드 서버 등에 적합합니다.
- 네트워킹 성능: 일반적으로 제한된 네트워킹 성능을 제공합니다.
t3.xlarge
- 세대: t3는 t2의 후속 모델로, 더 최신 세대의 버스트 가능 인스턴스입니다.
- CPU 크레딧과 성능: t3 인스턴스는 더 효율적인 CPU 크레딧 정책과 더 높은 기본 성능을 제공합니다. 이는 t2에 비해 더 오랜 시간 동안 더 높은 성능을 유지할 수 있음을 의미합니다.
- 네트워킹 성능: t3는 t2보다 더 나은 네트워킹 성능을 제공합니다.
- 가격: t3 인스턴스는 종종 t2보다 비용 효율적이며, 더 나은 성능을 제공하는 것에 비해 상대적으로 낮은 비용을 가질 수 있습니다.
결론
- 성능: t3.xlarge는 일반적으로 t2.xlarge보다 더 나은 성능을 제공합니다.
- 비용: t3 인스턴스는 t2보다 비용 효율적일 수 있으며, 성능 대비 가격이 더 낮을 수 있습니다.
- 사용 사례: t3는 더 다양한 작업 부하에 적합하며, 특히 t2의 한계를 넘어서는 성능이 필요한 경우 유용합니다.
AWS 인스턴스를 선택할 때는 애플리케이션의 요구 사항과 비용을 고려하여 적절한 인스턴스 유형을 선택하는 것이 중요합니다.
프리티어 사용
"프리티어 사용 가능"이란 AWS(Amazon Web Services)가 제공하는 특정 서비스를 무료로 사용할 수 있는 혜택을 의미합니다. AWS 프리티어는 새로운 사용자가 AWS 플랫폼을 경험해볼 수 있도록 설계되었으며, 일정 기준 내에서는 비용을 지불하지 않고 서비스를 사용할 수 있습니다.
AWS 프리티어의 주요 특징
- 종류
- 영구 무료: 일부 서비스는 항상 무료입니다(예: AWS Lambda의 월 1백만 요청).
- 12개월 무료: 가입 후 처음 12개월 동안 일부 서비스를 무료로 이용할 수 있습니다(예: t2.micro 또는 t3.micro 인스턴스).
- 체험판: 특정 서비스는 제한된 기간 동안 무료로 제공되는 체험판을 제공합니다.
- 사용 제한
- 프리티어는 사용량에 제한이 있습니다. 예를 들어, EC2의 경우 월 750시간의 t2.micro 또는 t3.micro 인스턴스 사용이 가능합니다. 이를 초과하면 추가 비용이 발생합니다.
- 적용 대상
- 프리티어 혜택은 AWS 계정을 새로 만든 사용자에게만 적용됩니다.
- 갱신 및 종료
- 프리티어 혜택은 가입 후 12개월이 지나면 종료됩니다(영구 무료 제외). 이후에는 정상 요금이 부과됩니다.
- 프리티어 사용의 이점
- 비용 절감: 초기 학습 단계나 소규모 프로젝트에서 AWS 서비스를 무료로 체험할 수 있습니다.
- 기술 실험: 다양한 AWS 서비스를 실험하고 경험할 수 있어 기술적 지식을 확장하는 데 유용합니다.
- 프로토타이핑 및 개발: 신규 애플리케이션 개발 및 테스트에 필요한 기본 인프라를 무료로 이용할 수 있습니다.
주의사항
- 비용 관리: 프리티어 한도를 초과하는 사용은 비용이 발생하므로, AWS 비용 관리 도구를 사용하여 사용량을 모니터링하는 것이 중요합니다.
- 한도 확인: 서비스별 프리티어 한도를 정확히 파악하고, 이를 초과하지 않도록 주의해야 합니다.
AWS 프리티어를 활용하면 다양한 AWS 서비스를 경험하고 학습할 수 있는 좋은 기회를 제공합니다. 하지만, 사용량과 관련된 제한 사항을 잘 이해하고 관리하는 것이 중요합니다.
인스턴스 지우기
AWS에서 EC2 인스턴스를 삭제(종료)할 수 있습니다. 인스턴스를 종료하면 해당 인스턴스는 더 이상 사용할 수 없게 되고, 이와 관련된 비용도 더 이상 발생하지 않습니다. 하지만 인스턴스를 종료하기 전 몇 가지 중요한 사항을 고려해야 합니다.
인스턴스 종료하기 전 확인사항
- 데이터 백업: 인스턴스에 중요한 데이터가 저장되어 있다면, 데이터를 백업해야 합니다. 인스턴스를 종료하면 인스턴스 스토어 볼륨에 저장된 모든 데이터가 영구적으로 손실됩니다.
- EBS 볼륨: EBS(Elastic Block Store) 볼륨이 인스턴스에 연결된 경우, 볼륨을 유지할지 여부를 결정해야 합니다. 인스턴스 종료 시 EBS 볼륨을 자동으로 삭제하도록 설정할 수도 있지만, 기본적으로 볼륨은 유지됩니다.
- 탄력적 IP: 탄력적 IP 주소가 인스턴스에 연결되어 있는 경우, 인스턴스를 종료하면 이 IP 주소가 해제됩니다. IP 주소를 계속 사용하려면 다른 인스턴스에 연결하거나, 탄력적 IP 주소를 계정에 보관해야 합니다.
인스턴스 종료 방법
- AWS Management Console 접속
- AWS Management Console에 로그인합니다.
- EC2 대시보드 이동
- 'Services' 메뉴에서 'EC2'를 선택합니다.
- 인스턴스 선택
- 'Instances' 섹션으로 이동하여 종료하려는 인스턴스를 선택합니다.
- 인스턴스 종료
- 선택한 인스턴스에 대해 'Actions' 드롭다운 메뉴를 열고 'Instance State' > 'Terminate'를 선택합니다.
- 종료 확인 메시지가 나타나면, 'Yes, Terminate'를 클릭하여 인스턴스를 종료합니다.
주의사항
인스턴스를 종료하면 되돌릴 수 없으므로, 중요한 데이터가 있는지 미리 확인하고 필요한 조치를 취하는 것이 중요합니다.
종료된 인스턴스와 관련된 비용이 더 이상 발생하지 않지만, 연결된 EBS 볼륨이나 다른 리소스에 대한 비용은 계속 발생할 수 있습니다.
AWS에서 인스턴스를 종료하는 것은 간단하지만, 영구적인 작업이므로 신중히 결정하고 실행해야 합니다.
삭제한 인스턴스에서 연결된 EBS 볼륨이나 다른 리소스
EC2 인스턴스를 삭제한 후 연결된 EBS 볼륨이나 다른 리소스에 대한 비용이 발생하지 않도록 하기 위해, 해당 리소스를 영구적으로 제거하는 단계를 따라야 합니다. 이러한 리소스에는 EBS 볼륨, 탄력적 IP 주소, 추가 네트워크 인터페이스 등이 포함될 수 있습니다.
EBS 볼륨 영구 제거
- AWS Management Console 접속: AWS Management Console에 로그인합니다.
- EC2 대시보드 이동: 'Services' 메뉴에서 'EC2'를 선택합니다.
- EBS 섹션 접근: 좌측 네비게이션 패널에서 'Elastic Block Store' 섹션 아래의 'Volumes'를 클릭합니다.
- 사용하지 않는 볼륨 확인
- 삭제된 인스턴스에 연결되었던 볼륨을 찾습니다. 볼륨 상태가 'available' (사용 가능)이라면, 그 볼륨은 현재 어떤 인스턴스에도 연결되어 있지 않은 상태입니다.
- 볼륨 삭제: 제거하려는 볼륨을 선택하고 'Actions' 드롭다운 메뉴에서 'Delete Volume'을 선택합니다.
- 삭제를 확인합니다.
탄력적 IP 주소 해제
- 탄력적 IP 섹션 접근: EC2 대시보드의 좌측 네비게이션 패널에서 'Elastic IPs'를 클릭합니다.
- 사용하지 않는 탄력적 IP 확인: 인스턴스에 연결되지 않은 탄력적 IP 주소를 찾습니다.
- 탄력적 IP 주소 해제
- 해제하려는 탄력적 IP 주소를 선택하고 'Actions' > 'Release Elastic IP Address'를 선택합니다.
- 해제를 확인합니다.
- 추가 네트워크 인터페이스 제거
- 네트워크 인터페이스 섹션 접근: EC2 대시보드의 좌측 네비게이션 패널에서 'Network Interfaces'를 클릭합니다.
- 사용하지 않는 네트워크 인터페이스 확인: 삭제된 인스턴스에 연결되었던 네트워크 인터페이스를 찾습니다.
- 네트워크 인터페이스 삭제: 제거하려는 네트워크 인터페이스를 선택하고 'Actions' > 'Detach' 또는 'Delete'를 선택합니다.
- 삭제 또는 분리를 확인합니다.
주의사항
- 데이터 손실: EBS 볼륨을 삭제하면 볼륨에 저장된 모든 데이터가 영구적으로 손실됩니다. 중요한 데이터는 반드시 백업하세요.
- 비용: 연결되지 않은 EBS 볼륨, 탄력적 IP 주소, 추가 네트워크 인터페이스는 비용을 발생시킬 수 있으므로, 필요하지 않은 경우 적절히 제거해야 합니다.
- 정책 및 규정: 리소스를 제거하기 전에 AWS의 정책 및 사용 규정을 확인하세요.
리소스를 제거하는 과정은 신중하게 진행해야 하며, 삭제 전에 모든 중요한 데이터는 안전하게 백업하는 것이 중요합니다.