앗! AWS, 숨쉬는것 보다 쉽다! 초보개발자를 위한 AWS 꿀팁모음

AWS 초보 개발자를 위한 꿀팁과 노하우 모음! 복잡한 아마존 웹 서비스(AWS)를 사용하는 방법과 효율적인 활용법을 쉽게 배워보세요. 프리티어 활용, 비용 관리 전략, 태그 활용법부터 IAM 보안 설정과 지역/가용 영역 이해까지, 초보자도 따라 할 수 있는 실용적인 조언을 제공합니다. AWS를 더욱 효과적으로 활용하여 개발 프로젝트를 성공적으로 이끌어보세요!

0. AWS(아마존 웹 서비스)는 너무 복잡하기만 하다?

유용한 기능이 가득한 만큼 초보 개발자에게는 악명 높은 난이도의 아마존 웹 서비스(Amazone Web Service, 이하 AWS).
이용해보고 싶은데 아직도 망설이고 계시나요?
이번 포스팅에서는 AWS를 더 효과적으로 활용할 수 있는 몇 가지 팁을 공유하겠습니다.
AWS는 강력한 클라우드 플랫폼이지만, 처음 사용할 때는 다소 복잡한 면이 있습니다.
하지만 걱정하지 마세요. 가장 기초적인 사용방법을 예시와 함께 준비해두었습니다.
 
 

1. AWS 프리티어(Free Tier) 활용하여 무료로 서버 사용하는 방법

AWS는 프리티어(Free Tier)라는 무료 사용 계층을 제공합니다.
초보 개발자들에게 이 프리티어를 활용하는 것은 매우 중요합니다. 프리티어로는 EC2 인스턴스, S3 버킷, RDS 데이터베이스 등을 1년간 무료로 사용할 수 있습니다.
그러나 프리티어를 초과하는 사용량은 요금이 부과되므로 주의가 필요합니다. 메일을 통해서 프리티어 만료 메일이 오므로 메일을 잘 확인 하셔서 프리티어 기간이 지나서 요금이 부과되는 것을 방지해야합니다.
 
notion image
 
 

2. 비용 관리 및 경보 설정으로 제한된 예산만으로 사용하기

AWS를 사용하다 보면 비용 관리가 중요한 이슈가 될 수 있습니다.
AWS 콘솔에서 비용 대시보드를 확인하고, 비용 예산과 경보를 설정하여 예상치 못한 요금 부과를 방지하세요.
경보를 통해 특정 비용 임계치를 초과할 때 알림을 받을 수 있어 더욱 안심하고 개발을 진행할 수 있습니다.
 
 

3. 태그(Tag) 활용하기

리소스를 생성할 때 태그(Tag)를 활용하는 것은 추후에 리소스를 식별하고 관리하는 데 매우 유용합니다. 예를 들어, "프로젝트", "환경", "소유자"와 같은 태그를 추가하여 리소스를 분류하고 검색할 수 있습니다. 이를 통해 복잡한 인프라에서도 필요한 리소스를 쉽게 찾을 수 있습니다.
처음에는 귀찮고 할게 많게 느껴지지만, 미뤄두고 하지 않는다면 나중에 리소스들을 구분하기 어려울 가능성이 많습니다. 리소스들의 구분이 힘들어지면 개발한 프로젝트를 유지보수 하기가 힘들어집니다. 따라서 미리미리 태그를 이용해서 리소스들을 미리 구분해두는 것을 추천합니다.
 
 

4. IAM(Identity and Acces Management)활용해서 보안 안전장치 마련하기

AWS Identity and Access Management (이하 IAM)을 사용하여 사용자 및 그룹별로 권한을 관리하세요. 필요한 권한만 부여하여 보안을 강화할 수 있습니다. 절대 루트 계정을 사용하지 않고 IAM 사용자를 생성하여 인프라를 관리하는 것이 좋습니다.
여러명이 작업을 할때 하나의 AWS계정으로 개발을 진행하는 경우가 있을 것 입니다. 여러명이 AWS 계정을 모두 알고있으면 계정정보가 노출될 수 있으며, 중복으로 작업하는 부분에 대해서 파악하기 힘든 경우가 있습니다. 따라서 IAM을 이용해서 이용자별로 권한을 제한하고, 보안적으로 안전장치를 마련하시길 바랍니다.
 
 

5. 지역과 가용 영역 이해하기

AWS는 전세계 여러 지역과 각 지역 내에 여러 가용 영역을 제공합니다. 지역과 가용 영역의 차이를 이해하고, 데이터의 백업 및 복원 전략을 수립하세요. 지역 간의 데이터 전송 비용과 지연 시간을 고려하여 최적의 아키텍처를 선택하세요.
AWS를 사용할때는 리전(Region : 인프라를 지리적으로 나누어 배포한 것을 의미)을 선택해야합니다. 리전을 선택하면 리전안에는 여러개의 AZ(Availability Zone, 가용영역)가 존재합니다.
AZ 안에는 최소 1개이상의 데이터센터가 존재하며 각 AZ는 같은 리전안에 있더라도 물리적 거리가 멀리 떨어져 있습니다.
이렇게 구성해 놓은 이유는 특정 리전에 하나의 서버만 존재하면 천재지변(홍수, 지진, 화재)이 일어났을때 서비스가 중단되게 됩니다. 그것을 막기위해 여러 AZ를 두어 한 곳이 불능이 되면, 다른 데이터 센터에서 서비스를 이어나갈 수 있게 됩니다.
즉 구조적으로 백업(Backup)이 용이하도록 설계되어 있는 것 이지요.
대표적인 부정적 사례로는 카카오(KAKAO)데이터 센터 화재 사건이 있습니다. 분산처리가 되어있지 않았기 때문에, 서비스 자체가 멈춰버려 기업에 큰 손실이 일어났던 사건이었습니다.
 
 

6. AWS 문서와 자원 활용

AWS는 다양한 문서, 튜토리얼, 예제 코드를 제공합니다. 문제가 발생했을 때 공식 문서와 커뮤니티 포럼을 활용하여 해결 방법을 찾을 수 있습니다. 아래 링크를 통해 AWS의 서비스 업데이트와 아키텍처 모범 사례에 대한 정보를 주기적으로 확인해보시고 하나씩 차근차근 기술을 익혀나가보셨으면 좋겠습니다.