분류 전체보기 21

4-12. 테라폼 - Lambda와 EventBridge 구현하기

테라폼 - Lambda와 EventBridge 구현하기서버 없이 코드를 실행하고, 이벤트나 일정에 따라 자동으로 호출하기이전 글에서는 Terraform으로 ECS Fargate를 구현하는 방법을 정리했다.이번 글에서는 AWS의 서버리스 실행 환경인 Lambda와 이벤트 기반 실행을 위한 EventBridge를 Terraform으로 구현해보려 한다.Lambda는 서버를 직접 만들지 않고 코드를 실행할 수 있는 서비스다.코드 작성→ Lambda에 배포→ 이벤트 발생→ Lambda 실행EventBridge는 특정 이벤트나 일정에 따라 Lambda를 실행할 수 있게 해준다.정해진 시간→ EventBridge Rule→ Lambda 실행예를 들어 매일 새벽 배치 작업을 실행하거나, 5분마다 상태 점검 작업을 수행..

테라폼 2026.05.15

4-11. 테라폼 - ECS Fargate 기본 구현하기

테라폼 - ECS Fargate 기본 구현하기ECR 이미지를 가져와 컨테이너를 실행하고 ALB와 연결하기이전 글에서는 Terraform으로 ECR을 구현하는 방법을 정리했다.이번 글에서는 ECR에 저장된 Docker 이미지를 실행하는 ECS Fargate를 Terraform으로 구현해보려 한다.ECS는 Elastic Container Service의 약자다.AWS에서 컨테이너를 실행하고 관리하는 서비스이며, Fargate를 사용하면 EC2 서버를 직접 관리하지 않고 컨테이너를 실행할 수 있다.ECR→ Docker Image 저장ECS Fargate→ Docker Image 실행ALB→ 외부 요청을 ECS Task로 전달ECS Fargate는 처음 보면 리소스가 많아 보여서 어렵게 느껴질 수 있다.하지만 ..

테라폼 2026.05.14

4-10. 테라폼 - ECR 구현하기

테라폼 - ECR 구현하기Docker 이미지를 저장할 컨테이너 이미지 레지스트리 만들기이전 글에서는 Terraform으로 ALB와 Target Group을 구현하는 방법을 정리했다.이번 글에서는 AWS에서 Docker 이미지를 저장할 때 사용하는 ECR을 Terraform으로 구현해보려 한다.ECR은 Elastic Container Registry의 약자다.쉽게 말하면 AWS에서 제공하는 Docker 이미지 저장소다.Docker Image→ ECR Repository→ ECS / Lambda / EC2에서 사용ECR은 ECS Fargate, Lambda Container Image, EC2 기반 Docker 배포에서 자주 사용된다.다만 이 글에서는 Docker 이미지를 빌드하고 push하는 배포 흐름까지..

테라폼 2026.05.14

4-9. 테라폼 - ALB와 Target Group 구현하기

테라폼 - ALB와 Target Group 구현하기외부 요청을 애플리케이션 서버로 안전하게 전달하기이전 글에서는 Terraform으로 Secrets Manager와 SSM Parameter Store를 구현하는 방법을 정리했다.이번 글에서는 AWS에서 웹 서비스를 구성할 때 자주 사용하는 ALB와 Target Group을 Terraform으로 구현해보려 한다.ALB는 Application Load Balancer의 약자다.사용자의 HTTP 또는 HTTPS 요청을 받아 뒤쪽의 EC2, ECS Task, Lambda, IP Target 등으로 전달하는 역할을 한다.User→ ALB→ Target Group→ EC2 / ECS / Lambda처음에는 ALB를 단순히 “트래픽을 나눠주는 리소스” 정도로 이해할 ..

테라폼 2026.05.14

4-8. 테라폼 - Secrets Manager와 SSM Parameter Store 구현하기

테라폼 - Secrets Manager와 SSM Parameter Store 구현하기민감정보와 운영 설정값을 코드에서 분리해서 관리하기이전 글에서는 Terraform으로 RDS MySQL을 구현하는 방법을 정리했다.이번 글에서는 애플리케이션 운영에서 자주 필요한 Secrets Manager와 SSM Parameter Store를 Terraform으로 구현해보려 한다.서비스를 만들다 보면 다음과 같은 값들이 필요하다.DB passwordAPI keyJWT secretOAuth client secret외부 서비스 tokenDB endpoint환경별 설정값feature flaglog level이런 값을 모두 코드에 직접 작성하면 위험하다.application.yml.envterraform.tfvarsDocke..

테라폼 2026.05.13

4-7. 테라폼 - RDS MySQL 구현하기

테라폼 - RDS MySQL 구현하기DB Subnet Group, Security Group, 백업, 삭제 보호, 비밀번호 관리까지 함께 보기이전 글에서는 Terraform으로 S3를 구현하는 방법을 정리했다.이번 글에서는 AWS의 관리형 데이터베이스 서비스인 RDS MySQL을 Terraform으로 구현해보려 한다.RDS는 EC2에 직접 MySQL을 설치하는 방식과 다르게, AWS가 데이터베이스 운영에 필요한 많은 부분을 관리해주는 서비스다.DB 인스턴스 생성스토리지 관리백업스냅샷패치모니터링Multi-AZ 구성하지만 Terraform으로 RDS를 만들 때는 단순히 aws_db_instance 하나만 작성하면 끝나는 것이 아니다.RDS는 네트워크, 보안, 백업, 삭제 보호, 비밀번호 관리까지 함께 고려해..

테라폼 2026.05.13

4-6. 테라폼 - S3 구현하기

테라폼 - S3 구현하기Bucket, Public Access Block, Versioning, Encryption, Lifecycle까지 안전하게 구성하기이전 글에서는 Terraform으로 EC2를 구현하는 방법을 정리했다.이번 글에서는 AWS에서 가장 자주 사용하는 저장소 서비스인 S3를 Terraform으로 구현해보려 한다.S3는 처음 보면 단순한 파일 저장소처럼 보인다. 하지만 실제로 운영 환경에서 사용하려면 단순히 버킷 하나를 만드는 것으로 끝나지 않는다.S3 BucketPublic Access BlockVersioningServer-Side EncryptionLifecycle RuleBucket Policyforce_destroyprevent_destroy특히 S3는 실수로 공개되거나, 삭제되..

테라폼 2026.05.13

4-5. 테라폼 - EC2 구현하기

테라폼 - EC2 구현하기Subnet, Security Group, IAM Role, User Data까지 연결해서 EC2 이해하기이전 글에서는 IAM Role과 Policy를 Terraform으로 구현하는 방법을 정리했다.이번 글에서는 AWS에서 가장 기본적인 컴퓨팅 리소스인 EC2를 Terraform으로 구현해보려 한다.EC2는 처음 보면 단순히 “서버 한 대”처럼 보인다. 하지만 실제로 Terraform으로 EC2를 만들다 보면 여러 리소스가 함께 연결된다.VPCSubnetSecurity GroupKey PairIAM Instance ProfileAMIEBSUser DataPublic IP / Private IP즉, EC2는 단독으로 존재하는 리소스가 아니라 네트워크, 보안, 권한, 스토리지와 함께..

테라폼 2026.05.12

4-4. 테라폼 - IAM Role과 Policy 구현하기

테라폼 - IAM Role과 Policy 구현하기AWS 리소스가 어떤 권한으로 동작할지 Terraform으로 정의하기이전 글에서는 Security Group을 통해 AWS 리소스 간 네트워크 접근 관계를 정의하는 방법을 정리했다.이번 글에서는 AWS 권한 관리의 핵심인 IAM Role과 Policy를 Terraform으로 구현해보려 한다.AWS를 사용하다 보면 다음과 같은 상황을 자주 만나게 된다.EC2가 S3에 접근해야 한다.Lambda가 CloudWatch Logs에 로그를 남겨야 한다.ECS Task가 ECR에서 이미지를 pull 해야 한다.애플리케이션이 Secrets Manager 값을 읽어야 한다.GitHub Actions가 Terraform apply를 실행해야 한다.이때 필요한 것이 IAM이..

테라폼 2026.05.12

4-3. 테라폼 - Security Group과 네트워크 보안 설정

테라폼 - Security Group과 네트워크 보안 설정AWS 리소스 간 접근 관계를 Terraform 코드로 표현하기이전 글에서는 VPC, Subnet, Internet Gateway, Route Table을 Terraform으로 구현했다.이번 글에서는 AWS 네트워크 보안의 기본이 되는 Security Group을 다뤄보려 한다.Security Group은 흔히 방화벽이라고 설명되지만, Terraform으로 구현할 때는 단순히 포트를 여는 리소스로만 보면 안 된다.Security Group은 "누가 누구에게 접근할 수 있는가"를 정의하는 리소스다.즉, Security Group은 단순 포트 설정이 아니라 리소스 간 접근 관계를 코드로 표현하는 도구에 가깝다.목차1. Security Group이란 무..

테라폼 2026.05.12