AWS
AWS · Floci · Terraform. 공부한 서비스는 아래 카드로 들어간다.
- S3 파일을 담는 저장소. 내 PC에 Floci를 띄워 버킷을 만들고 파일을 올려 보며, 내 PC에 파일을 둘 때와 무엇이 다른지 봤다.
- IAM 누가 무엇을 할 수 있는지 정하는 곳. 검사를 켠 Floci에서 키 없는 요청이 막히고, 버킷에 규칙을 적자 조회만 열리는 것을 봤다.
연습은 실제 AWS가 아니라 내 PC의 Floci에서 한다
시작은 받아 둔 Floci 저장소였다. 「이거 어떻게 쓰는 거야?」라고 물었고, Floci는 AWS를 흉내 내는 로컬 에뮬레이터라는 답을 받았다. 내 PC에서 띄우면 http://localhost:4566이 AWS인 척하고, 평소 쓰는 AWS CLI · Terraform을 그 주소로 돌리면 된다.
그다음 내 첫 짐작은 「이걸 미니 PC에 띄워서 홈페이지 파일 서버로 쓰면 되겠다」였다. 아니었다. 근거는 Floci 저장소 문서에 있었다.
README.md— 접속 키는 비어 있지만 않으면 아무 값이나 통과한다. 인터넷에 열면 누구나 파일을 올리고 지울 수 있다README.md— 스스로를 개발 · 테스트 · CI용이라고 소개한다src/main/resources/application.yml— 저장 방식 기본값이memory라서 껐다 켜면 데이터가 사라진다
그래서 Floci의 자리는 운영 서버가 아니라 돈이 들지 않고 망가뜨려도 되는 연습장이 됐다. 간단한 홈페이지를 운영하는 쪽은 Floci와 상관없이 따로 고른다.
대가는 둘이다. Floci가 AWS를 완벽하게 똑같이 흉내 내지는 않아서, 연습한 것은 마지막에 실제 AWS에서 다시 확인해야 한다. 그리고 요금 예상은 Floci로 할 수 없다. docs/services/pricing.md를 보면 들어 있는 가격표가 us-east-1의 EC2 세 종류 · S3 · Lambda뿐이고, 문서도 스스로 「가격 데이터베이스가 아니다」라고 적는다.
여기 적은 Floci 사실은 Claude가 Floci 저장소의 문서와 설정 파일을 열어 알려 준 것이다. 나는 아직 Floci를 직접 띄워 확인하지 않았다.
공부는 작은 프로젝트 하나를 돌릴 만큼만 먼저 배운다
처음 짐작은 「AWS가 무엇을 주는지 먼저 다 배우고, 그다음 Terraform」이었다. 순서는 맞았는데 「다」가 틀렸다. AWS 서비스는 200개가 넘어서 다 보고 넘어가려 하면 Terraform까지 가지 못한다.
그래서 내 말로 다시 세웠다. 간단한 프로젝트를 돌릴 수 있는 기초 도구부터 배우고, 다른 도구는 프로젝트가 필요로 할 때 배운다.
- S3 · IAM · DynamoDB · Lambda를 Floci 위에서 AWS CLI로 직접 만들고 지워 본다
- 1번에서 만든 것을 Terraform으로 똑같이 다시 만든다. 서비스는 이미 아니까 Terraform에만 집중할 수 있다
- 「정적 홈페이지 + 문의 폼」처럼 여러 서비스를 엮은 작은 프로젝트를 Terraform으로 세운다
- 실제 AWS에 올려 보고, 확인했으면 지운다
도메인 · CDN · 로그 · 자동 배포 · 로그인 같은 도구는 3번 프로젝트를 하다가 필요해지면 그때 이 페이지에 칸을 더한다. 대가는 AWS의 큰 그림을 처음부터 보지 못한다는 것이다. 지금 고른 네 서비스 밖에 무엇이 있는지는 프로젝트가 막힐 때에야 알게 된다.
AWS에서 아직 안 본 것
이 질문들은 Claude가 답을 주는 대신 내가 짐작부터 세워 하나씩 닫는다. 서비스 하나를 닫으면 위에 카드가 하나 생긴다.
- 같은 AWS CLI 명령이 주소만 바꾸면 Floci에서도 통하는 까닭은 무엇인가
- Terraform에 적은 몇 줄은 어떻게 실제 버킷이 되나 — 처음엔 「AWS CLI와 연동한 관리자 페이지」라고 짐작했다
- 남이 만든 Terraform 모듈을 가져다 쓰기 전에 무엇을 확인해야 하나