일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 유니크제약조건
- CHECK OPTION
- 다대다
- eager
- 동적sql
- shared lock
- execute
- 연관관계
- 낙관적락
- dfs
- SQL프로그래밍
- 이진탐색
- 연결리스트
- 다대일
- 스토어드 프로시저
- exclusive lock
- 힙
- 지연로딩
- querydsl
- 비관적락
- JPQL
- FetchType
- BOJ
- fetch
- 스프링 폼
- 일대다
- 백트래킹
- 데코레이터
- PS
- 즉시로딩
- Today
- Total
목록2024/09 (17)
흰 스타렉스에서 내가 내리지

# 개요AWS CDK 를 사용하면 복잡한 인프라를 간결하게 코드로 관리할 수 있으며, 이 과정에서 인프라가 코드로서 재사용 가능하고 확장성 있게 관리된다. AWS 공식 튜토리얼 : https://docs.aws.amazon.com/ko_kr/cdk/v2/guide/serverless_example.html 1. 먼저, AWS CDK 프로젝트를 Python 으로 초기화한다. mkdir s3-cdk-project && cd s3-cdk-projectcdk init app --language python * 위 명령어는 빈 디렉터리에서 실행하여야 한다. 비어있지 않은 디렉터리에서 `cdk init` 명령어를 사용하였다면 에러가 발생한다. 위 명령어를 실행하면 AWS CDK 프로젝트가 초기화되며, Pyth..
# 개요 AWS 에서 인프라를 정의하고 관리하는 방법으로 CloudFormation 과 AWS CDK 가 있다. 두 도구 모두 AWS 리소스를 프로비저닝하고 관리하는 데 사용되지만, 각각의 방식에는 장단점이 존재하며, 특정 상황에서 더 적합한 도구를 선택하는 것이 중요하다. 1. CloudFormation AWS CloudFormation 은 AWS 리소스를 JSON 또는 YAML 형식으로 정의할 수 있는 서비스이다.리소스 간의 의존성, 조건 등을 선언적으로 정의할 수 있으며, 이러한 템플릿을 사용하여 AWS 에서 인프라를 배포하고 관리할 수 있다. # 장점 직접적인 제어 : 사용자는 템플릿 파일에서 모든 리소스를 상세하게 정의하여 완전히 통제할 수 있다. 간결한 리소스 정의 : 간단한 리소스는 비..
# 개요모듈 간 데이터를 전달하는 것을 통해 코드를 재사용 가능케 하고 인프라 구성을 보다 효율적으로 관리할 수 있다. # 예시1. VPC 모듈과 서브넷 모듈 먼저, VPC 를 생성하는 모듈에서 VPC 의 ID 를 output 으로 정의하고, 이 값을 서브넷을 생성하는 모듈에서 받아서 사용한다고 가정해보자. VPC 모듈 (vpc/main.tf)resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16"}output "vpc_id" { value = aws_vpc.main.id} 위 코드는 VPC 를 생성하고, VPC 의 ID 를 output 으로 노출시킨다. 이 output 값을 다른 모듈에서 참조할 수 있다. 서브넷 모듈 (subnet/main.tf)res..
# 개요Terraform 을 통해 리소스를 배포한 후, 그 리소스들에 대한 중요한 정보를 효과적으로 관리하고 노출하는 것은 중요하다. 이 때 유용하게 활용되는 것이 바로 output 이다. # output 이란 무엇인가?`output`은 배포된 리소스의 속성이나 값을 외부로 노출하는 기능을 한다. 이를 통해 Terraform 구성 파일을 실행한 후, 생성된 리소스의 중요한 값들을 쉽게 확인할 수 있다. 예를 들어, 새로 생성된 인스턴스의 public IP 주소나 S3 버킷의 이름 같은 값들을 즉시 확인해야 할 때 `output` 을 설정하면 Terraform 이 적용된 후 자동으로 해당 값이 출력된다. output "instance_ip" { value = aws_instance.my_instan..
# 개요Terraform 은 다양한 함수를 내장하고 있다. 사용자는 이 함수를 이용하여 리소스를 보다 효율적으로 생성할 수 있고, 간략하게 코드를 만들 수 있다. * 현재는 built-in 함수만 지원하고 있다. 사용자가 임의로 함수를 만드는 건 지원하지 않고 있다. # FunctionsNumeric functionsString functions - ⭐️Collection functions - ⭐️Encoding functionsFilesystem functionsDate and Time functionsHash and Crypto functionsIP Network functionsType Conversion Functionshttps://developer.hashicorp.com/terraform/..

# 결론Terraform 에서 변수를 사용하기 위해서는, 1. 변수 정의 파일2. 변수 값 주입 파일 을 따로 생성해야 한다. # 개요Terraform 은 HCL Syntax 를 가진 언어이다. 언어적 특성을 가지고 있기 때문에 변수를 정의하고, 주입해서 사용할 수 있다. (HCL 은 json syntax 와 비슷하다) # Variable Types- string- number-boot # Complex variable types- list()- set()- map()- object( { = , ... } )- tuple ( [ , ... ] ) # 변수를 정의하기 - variables.tf tf 어느 파일에서나 변수를 정의할 수는 있지만, 일반적으로는 variables.tf 파일을 만들어서 정의한다..
많은 사람들이 이 두 직군의 차이를 궁금해하는데, 실제로 두 역할은 겹치는 부분이 많아 때로는 혼동되기도 한다. # 클라우드 엔지니어란?클라우드 엔지니어 (Cloud Engineer) 는 클라우드 인프라의 설계, 구축, 운영, 그리고 최적화에 중점을 두는 직무이다.주요 클라우드 플랫폼인 AWS, Microsoft Azure, Google Cloud Platform(GCP) 등의 기술을 활용하여 기업의 인프라를 클라우드 환경에서 효율적으로 관리하는 것이 주된 업무이다. * 클라우드 엔지니어의 역할 :- 클라우드 인프라의 설계 및 관리 : 가상 머신, 데이터베이스, 스토리지, 네트워크와 같은 클라우드 자원을 설정하고 운영한다.- 비용 최적화 : 클라우드 환경에서의 비용을 분석하고 절감할 수 있는 방안을 마..

만들어볼 서버리스 알리미 아키텍처입니다. 해야할 게 엄청 많지만, 차근차근 진행해 봅시다. 먼저, CloudFormation 의 템플릿을 만들어봅니다. vim notifier-template.yml # S3 버킷 생성과 IAM Role 먼저, S3 버킷을 만들고, 버킷과 SNS 에 접근할 수 있는 정책이 할당된 IAM Role 을 만드는 것부터 해봅니다. AWSTemplateFormatVersion: '2010-09-09'Parameters: SubscriptionEmail: Type: String Description: "The email address to subscribe to the SNS topic" Resources: MyS3Bucket: Type: 'AWS::S3..

1. CloudFormation 템플릿 작성 yml 템플릿은 IAM 역할을 생성하고, 해당 역할에 S3 버킷에 접근할 수 있는 정책을 할당하는 예제이다. vim iam_role_template.yamlAWSTemplateFormatVersion: '2010-09-09'Description: create iam role templateResources: MyIAMRole: Type: 'AWS::IAM::Role' Properties: RoleName: 'MyTestRole' AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: 'Allow' Pr..
AWS CloudFormation 과 Terraform 은 모두 인프라를 코드(IaC) 로 정의하는 도구이다. 두 도구 모두 AWS 리소스를 프로비저닝하고 관리하는 데 사용되지만, 각각의 특성과 장단점이 존재한다. CloudFormation 을 선택했을 때 장점1. AWS 에 최적화된 서비스 CloudFormation 은 AWS 에서 제공하는 네이티브 IaC 도구이다. AWS 의 새로운 서비스나 기능이 출시되었을 때 CloudFormation 이 가장 빠르게 지원을 받는다는 것이 큰 장점이다. 반면 Terraform 은 오픈소스 커뮤니티 기반으로 개발되므로, AWS 업데이트에 대응하는 데 시간이 조금 더 걸릴 수 있다. 2. AWS 관리 콘솔과의 통합 CloudFormation 은 AWS Managem..