전체 글 46

Lambda 대상 추가

AWS Lambda에서의 "대상 추가"는 Lambda 함수가 다른 AWS 서비스나 특정 자원과 연동하여 특정 작업을 수행하도록 설정하는 것을 의미. Lambda 함수가 수행해야 할 작업을 위해 이벤트를 전달하거나 데이터 처리를 위임할 대상을 추가하는 것Lambda에서 추가할 수 있는 대상의 예시와 사용 사례EventBridge(구 CloudWatch Events):대상 역할: Lambda 함수가 특정 이벤트를 기반으로 실행될 수 있도록, 이벤트 트리거 역할을 하는 EventBridge 규칙을 대상으로 추가사용 사례: 매일 정해진 시간에 작업 수행, 특정 AWS 서비스의 상태 변경(예: EC2 인스턴스 시작/종료 이벤트)에 따라 작업 수행 등이 있습니다.S3:대상 역할: S3 버킷에서 특정 객체 이벤트(예..

AWS 2024.11.11

AWS terraform data 사용법

data 블록은 AWS 리소스에 대한 정보를 가져오거나 기존 리소스를 참조할 때 사용됩니다. 이미 생성된 리소스의 정보를 활용할 수 있게 도와주며, 특정 리소스를 생성하지 않고도 접근할 수 있다.다양한 시나리오에서 data 블록을 사용할 수 있는데, 대표적으로는 다음과 같은 경우들이 있다.이미 존재하는 리소스 정보 참조: 예를 들어, 기존의 VPC, Subnet, AMI, IAM Role 등을 생성하지 않고도 Terraform으로 참조할 수 있다.동적 정보 검색: 최신 버전의 AMI를 동적으로 검색하거나, 특정 조건에 맞는 리소스를 검색하는 경우외부 리소스와 연동: 다른 팀이나 조직에서 관리하고 있는 리소스를 참조해야 할 때예시 1: 최신 Amazon Linux 2 AMI 검색가장 흔히 쓰이는 사용 사례..

AWS 2024.10.25

AWS 외부에서 EC2로 HTTPS 연결 설정 IaC

아래는 AWS EC2 인스턴스를 HTTPS로 연결하기 위해 필요한 리소스들(ACM, Route 53, EC2 등)을 Terraform을 사용하여 Infrastructure as Code(IaC)로 설정하는 예제이 예제에서는 다음을 포함합니다:ACM 인증서: 도메인에 대한 SSL 인증서 발급Route 53: 도메인에 대한 DNS 레코드 생성EC2 인스턴스: 웹 서버로 사용할 EC2 인스턴스 생성보안 그룹: HTTPS 및 HTTP 트래픽을 허용하는 보안 그룹 설정Terraform 구성 예제provider "aws" { region = "us-east-1" # 원하는 리전을 설정합니다.}# Route 53 Hosted Zone 생성resource "aws_route53_zone" "main_zone" { ..

AWS 2024.10.24

AWS Lambda 에 HTTPS 인증서 적용하기

Lambda에 HTTPS를 적용하기 위해선 API Gateway를 사용해서 Lambda로의 요청을 처리하게 해야 합니다. API Gateway는 HTTPS 트래픽을 처리할 수 있으며, ACM(인증서 관리 서비스)을 통해 발급받은 SSL 인증서를 적용할 수 있다.주요 단계:ACM 인증서 발급: ACM에서 HTTPS용 인증서를 발급받습니다.API Gateway 설정: API Gateway를 통해 HTTPS 트래픽을 Lambda로 전달합니다.API Gateway에 ACM 인증서 적용: 발급받은 SSL 인증서를 API Gateway에 연결합니다.Terraform을 사용한 IaC 예시# Step 1: ACM 인증서 발급resource "aws_acm_certificate" "lambda_cert" { domai..

AWS 2024.10.24

AWS Route53 records, alias_records, subject_alternative_names 설명

1. records설명: 일반적인 DNS 레코드입니다. 도메인에 대한 기본적인 DNS 설정을 할 때 사용됩니다.사용 시기:도메인 이름에 대한 CNAME, A, MX, TXT 등의 기본 DNS 레코드를 정의할 때 사용됩니다.예를 들어, 웹사이트의 도메인(www.example.com)을 특정 IP 주소나 CloudFront 배포와 같은 서비스에 연결하고자 할 때 CNAME 레코드나 A 레코드를 사용합니다.예시:records = [ { name = "cdn.test.com" type = "CNAME" records = [ "****.cloudfront.net" ] ttl = 300 }] 위 예시는 cdn.test.com을 CloudFront 배포에 연결하는 CNAME..

AWS 2024.10.24

AWS VPC, 2개 AZ, Subnet, Internet G/W, Application LB, Route53, DirectConnect, Transit G/W 연결 IaC 테스트 방법

아래는 두 개의 가용 영역(AZ)에 AWS VPC를 설정하고, 각각에 대해 퍼블릭 서브넷과 프라이빗 서브넷을 만들어 인터넷 게이트웨이, 애플리케이션 로드 밸런서(Application Load Balancer, ALB), Route 53을 설정하는 IaC 예시입니다. 외부에서 접근하는 방법도 설명하겠습니다.VPC 및 서브넷 생성 (Terraform 예시)provider "aws" { region = "ap-northeast-2"}# VPC 생성resource "aws_vpc" "main_vpc" { cidr_block = "10.0.0.0/16" enable_dns_support = true enable_dns_hostnames = true}# Internet Gateway 생성resource "a..

AWS 2024.10.23

AWS KMS(Key Management Service) IaC 사용법과 예시

AWS Key Management Service (KMS)는 데이터를 암호화하고 키 관리를 자동화하는 보안 서비스이다. 다양한 AWS 서비스에서 암호화 키를 사용하여 데이터를 보호할 수 있다. 아래는 KMS를 사용하여 여러 AWS 서비스와 통합하는 방법과 IaC(Infrastructure as Code)를 사용하여 KMS와 관련된 리소스를 설정하는 예시들을 소개한다.KMS의 주요 사용 사례S3 버킷: 데이터를 암호화하기 위해 S3 버킷과 통합 가능EBS 볼륨: EC2 인스턴스의 EBS 볼륨을 암호화RDS: RDS에서 저장된 데이터 암호화Lambda 함수: 환경 변수 또는 애플리케이션에서 사용하는 데이터를 암호화.EFS: 파일 시스템 데이터를 암호화Secrets Manager: 암호나 민감한 데이터를 보호..

AWS 2024.10.23

AWS Roles(역할) aws_iam_role의 assume_role_policy 사용법

위에서 jsonencode 블록 내의 파라미터는 IAM 역할(roles)을 생성할 때 Lambda 함수가 이 역할을 "가정(Assume)"할 수 있도록 설정하는 Assume Role Policy 이다. 이 정책은 AWS 리소스가 역할을 가정(assume)할 수 있는 권한을 정의하는 역할을 한다.resource "aws_iam_role" "lambda_exec_role" { name = "lambda_exec_role" assume_role_policy = jsonencode({ Version = "2012-10-17", Statement = [{ Effect = "Allow", Principal = { Service = "lambda.amazonaws.com"..

AWS 2024.10.23

AWS IAM 관리형 정책 (Managed Policies)

AWS에서는 다양한 관리형 정책(Managed Policies)을 제공하여 IAM 사용자, 그룹, 역할에 손쉽게 권한을 부여할 수 있다. AWS 관리형 정책은 서비스와 관련된 여러 작업을 수행할 수 있는 권한을 미리 정의한 것이다. 여기에는 특정 서비스에 대해 읽기, 쓰기, 관리 등의 권한이 포함되어 있다. 아래는 AWS에서 자주 사용되는 관리형 정책들과 그 설명이다1. AmazonS3FullAccessARN: arn:aws:iam::aws:policy/AmazonS3FullAccess설명: 이 정책은 사용자 또는 리소스에 S3 서비스 전체에 대한 읽기/쓰기 권한을 부여한다. 즉, S3 버킷을 생성하고 삭제할 수 있으며, 모든 객체에 대한 읽기 및 쓰기 작업을 수행할 수 있다.2. AmazonS3Read..

AWS 2024.10.23