aws
-
pulumi aws api: https://www.pulumi.com/registry/packages/aws/ github: https://github.com/dewble/pulumi-aws-network/tree/v1.0.0 2024.04.07 - [IaC/Pulumi] - [Pulumi]Create AWS Network:VPC, Subnet, Security Group 위 내용에 이어 AWS NAT, RouteTable, IGW, VPCE를 생성하는 Pulumi 코드를 작성합니다. Architecture 💡기본 라우팅 테이블 설정은 배포 후 수동으로 변경(jeff-route-default)했습니다. Create NAT Gateway NAT 게이트웨이는 프라이빗 서브넷 내의 인스턴스가 인터넷이나 다른 ..
[Pulumi]Create AWS Network: NAT, RouteTable, IGW, VPCEpulumi aws api: https://www.pulumi.com/registry/packages/aws/ github: https://github.com/dewble/pulumi-aws-network/tree/v1.0.0 2024.04.07 - [IaC/Pulumi] - [Pulumi]Create AWS Network:VPC, Subnet, Security Group 위 내용에 이어 AWS NAT, RouteTable, IGW, VPCE를 생성하는 Pulumi 코드를 작성합니다. Architecture 💡기본 라우팅 테이블 설정은 배포 후 수동으로 변경(jeff-route-default)했습니다. Create NAT Gateway NAT 게이트웨이는 프라이빗 서브넷 내의 인스턴스가 인터넷이나 다른 ..
2024.04.07 -
pulumi aws api: https://www.pulumi.com/registry/packages/aws/ github: https://github.com/dewble/pulumi-aws-network/tree/v1.0.0 이 글은 IaC 도구인 Pulumi를 사용하여 AWS에 네트워크 리소스를 구축하는 방법을 안내합니다. 1편에서는 VPC, Subnet, Security Group를 생성하고 2편에서 NAT, RouteTable, IGW, VPCE를 생성하게 됩니다. 완성 된 네트워크 구조는 아래 Architecture 에서 확인할 수 있으며 필요한 경우 환경에 맞게 내용을 수정하여 사용할 수 있습니다. Architecture 💡기본 라우팅 테이블 설정은 배포 후 수동으로 변경(jeff-route-..
[Pulumi]Create AWS Network:VPC, Subnet, Security Grouppulumi aws api: https://www.pulumi.com/registry/packages/aws/ github: https://github.com/dewble/pulumi-aws-network/tree/v1.0.0 이 글은 IaC 도구인 Pulumi를 사용하여 AWS에 네트워크 리소스를 구축하는 방법을 안내합니다. 1편에서는 VPC, Subnet, Security Group를 생성하고 2편에서 NAT, RouteTable, IGW, VPCE를 생성하게 됩니다. 완성 된 네트워크 구조는 아래 Architecture 에서 확인할 수 있으며 필요한 경우 환경에 맞게 내용을 수정하여 사용할 수 있습니다. Architecture 💡기본 라우팅 테이블 설정은 배포 후 수동으로 변경(jeff-route-..
2024.04.07 -
문제 특정 이벤트로 인해 사용자들이 몰리는 현상이 발생하면서 S3 버킷에 대한 요청이 급증했습니다. 이 예기치 못한 트래픽 증가로 인해 S3의 초당 쿼리 수 제한(QPS Limit)에 걸려 많은 파일들이 업로드되지 못하는 문제가 발생했습니다. S3 초당 쿼리 수 제한에 대한 이해 Amazon S3는 각 접두사(prefix) 당 3,500개의 PUT/COPY/POST/DELETE와 5,500개의 GET/HEAD 요청을 처리할 수 있는 높은 요청 빈도로 설계되어 자동 확장됩니다. 이 기본 성능은 S3의 동적 최적화와 확장 능력을 바탕으로 합니다. 그러나, 오늘과 같이 대규모 이벤트가 발생하여 요청이 급증하면, 시스템은 일시적으로 503 에러를 발생시킬 수 있으며, 이는 S3가 새로운 요청 빈도에 맞게 조정되..
[S3]초당 쿼리 수 제한(QPS Limit)을 극복하고 성능을 향상시키는 방법문제 특정 이벤트로 인해 사용자들이 몰리는 현상이 발생하면서 S3 버킷에 대한 요청이 급증했습니다. 이 예기치 못한 트래픽 증가로 인해 S3의 초당 쿼리 수 제한(QPS Limit)에 걸려 많은 파일들이 업로드되지 못하는 문제가 발생했습니다. S3 초당 쿼리 수 제한에 대한 이해 Amazon S3는 각 접두사(prefix) 당 3,500개의 PUT/COPY/POST/DELETE와 5,500개의 GET/HEAD 요청을 처리할 수 있는 높은 요청 빈도로 설계되어 자동 확장됩니다. 이 기본 성능은 S3의 동적 최적화와 확장 능력을 바탕으로 합니다. 그러나, 오늘과 같이 대규모 이벤트가 발생하여 요청이 급증하면, 시스템은 일시적으로 503 에러를 발생시킬 수 있으며, 이는 S3가 새로운 요청 빈도에 맞게 조정되..
2024.01.14 -
Terraform이 작업을 수행하면서 인프라의 현재 상태를 추적하기 위한 상태 파일 (terraform.tfstate)을 생성하게 되는데, 이 상태 파일의 관리 방식에 따라 로컬 상태(Locate State)와 원격 상태(Remote State)로 구분됩니다. Locate State, Remote State 차이점 Local State 정의: Terraform이 리소스를 관리할 때 기본적으로 사용하는 상태 저장 방식입니다. 파일: terraform.tfstate - 이 파일은 Terraform이 관리하는 리소스의 현재 상태를 JSON 형식으로 저장합니다. 특징: - 로컬 시스템에 상태 정보가 저장됩니다. - 팀원 간 상태 공유가 어려울 수 있습니다. - 로컬 저장소가 손실될 경우 상태 정보도 손실될 위험..
[Terraform]상태 저장소 설정하는 방법(Backend)Terraform이 작업을 수행하면서 인프라의 현재 상태를 추적하기 위한 상태 파일 (terraform.tfstate)을 생성하게 되는데, 이 상태 파일의 관리 방식에 따라 로컬 상태(Locate State)와 원격 상태(Remote State)로 구분됩니다. Locate State, Remote State 차이점 Local State 정의: Terraform이 리소스를 관리할 때 기본적으로 사용하는 상태 저장 방식입니다. 파일: terraform.tfstate - 이 파일은 Terraform이 관리하는 리소스의 현재 상태를 JSON 형식으로 저장합니다. 특징: - 로컬 시스템에 상태 정보가 저장됩니다. - 팀원 간 상태 공유가 어려울 수 있습니다. - 로컬 저장소가 손실될 경우 상태 정보도 손실될 위험..
2023.08.27 -
Terraform의 반복문(Loops) 기능은 기본적인 코드 구성을 최소화하면서 다양한 리소스를 생성하거나 관리할 때 유용합니다. 기본 문법 핵심 개념 Input Collection: for 키워드 뒤에 오는 컬렉션은 반복을 수행할 대상이 됩니다. Output Expression: 콜론(:) 뒤의 표현식은 각 반복마다의 결과를 결정합니다. Condition: if 키워드를 사용하여 조건을 지정할 수 있습니다. 이 조건에 맞는 항목만 결과로 포함됩니다. Input Types A for expression's input (given after the in keyword) can be a list a set a tuple a map an object. Lists & Sets [for in : if ] Exam..
[Terraform]반복문(For)을 사용하여 resource 작성하는 방법Terraform의 반복문(Loops) 기능은 기본적인 코드 구성을 최소화하면서 다양한 리소스를 생성하거나 관리할 때 유용합니다. 기본 문법 핵심 개념 Input Collection: for 키워드 뒤에 오는 컬렉션은 반복을 수행할 대상이 됩니다. Output Expression: 콜론(:) 뒤의 표현식은 각 반복마다의 결과를 결정합니다. Condition: if 키워드를 사용하여 조건을 지정할 수 있습니다. 이 조건에 맞는 항목만 결과로 포함됩니다. Input Types A for expression's input (given after the in keyword) can be a list a set a tuple a map an object. Lists & Sets [for in : if ] Exam..
2023.08.20 -
조건부 표현식(Conditional Expression)의 이해 조건부 표현식은 "조건 ? 참일 경우의 값 : 거짓일 경우의 값"의 형태로 사용됩니다. 이는 프로그래밍 언어에서 자주 볼 수 있는 삼항 연산자와 동일한 형태입니다. 이런 식으로 Terraform에서는 변수나 리소스의 값을 동적으로 결정할 수 있습니다. 왜 조건부 표현식이 필요한가? 인프라의 설정이나 배포 과정에서 모든 상황에 동일한 설정을 사용하는 것은 비효율적입니다. 예를 들면, 개발 환경과 실제 환경에서는 다른 설정이 필요할 수 있습니다. 이런 다양한 상황에 대응하기 위해 동적으로 리소스나 출력 값을 결정하는 것이 필요하고, 이때 조건부 표현식이 유용하게 사용됩니다. var 옵션으로 변수 재정의 tf apply -var="변수명=값" 형..
[Terraform]조건문(Conditional)을 사용하여 resource 작성하는 방법조건부 표현식(Conditional Expression)의 이해 조건부 표현식은 "조건 ? 참일 경우의 값 : 거짓일 경우의 값"의 형태로 사용됩니다. 이는 프로그래밍 언어에서 자주 볼 수 있는 삼항 연산자와 동일한 형태입니다. 이런 식으로 Terraform에서는 변수나 리소스의 값을 동적으로 결정할 수 있습니다. 왜 조건부 표현식이 필요한가? 인프라의 설정이나 배포 과정에서 모든 상황에 동일한 설정을 사용하는 것은 비효율적입니다. 예를 들면, 개발 환경과 실제 환경에서는 다른 설정이 필요할 수 있습니다. 이런 다양한 상황에 대응하기 위해 동적으로 리소스나 출력 값을 결정하는 것이 필요하고, 이때 조건부 표현식이 유용하게 사용됩니다. var 옵션으로 변수 재정의 tf apply -var="변수명=값" 형..
2023.08.20