반응형

분류 전체보기 107

[Terraform] Error: Incompatible provider version

Error 메세지 │ Error: Incompatible provider version │ │ Provider registry.terraform.io/hashicorp/template v2.2.0 does not have a package available for your current platform, darwin_arm64. │ 해결 방법 brew install go git clone https://github.com/hashicorp/terraform-provider-template.git cd ./terraform-provider-template go build chmod +x terraform-provider-template mkdir -p ~/.terraform.d/plugins/registr..

📂 IaC/Terraform 2022.08.23

[AWS] Route53 Failover(장애조치) 라우팅 구성하기

구성도Route 53을 활용해 Primary / Secondary Health Check를 설정하고 failover routing을 구성합니다.Primary health check가 Unhealthy 상태가 되면 DNS가 Secondary로 failover 되고, Healthy 상태로 돌아오면 DNS가 Primary로 failback 됩니다.평상시에는 DNS Lookup이 Primary EC2로 되지만Route 53 Health Check 설정하기Route 53 → Health checks → Create health check 사진과 같이 Primary / Secondary 2개의 Health check를 구성합니다.별도의 알람은 설정하지 않습니다.Health Check가 Healthy인걸 확인할수 있..

📂 AWS 2022.08.12

[AWS] ALB에 ACM(AWS Certificate Manager) 적용하기

구성도ALB는 HTTPS(443)으로 요청을 받으면 대상 그룹(target group)에 HTTP(80)으로 전달하여 SSL 종단점 역할을 수행합니다. (SSL Termination)route53는 hyuckang.link의 네임서버이며, one.hyuckang.link와 two.hyuckang.link는 hyuckang-alb를 가리키고 있습니다.SSL 인증서 발급받기Certificate type으로 Request a public certificate를 선택합니다.Domain names로 *.hyuckang.link를 입력하고, Select validation method로 DNS validation을 선택합니다.Certificates로 돌아가 Status가 Pending validation임을 확인하..

📂 AWS 2022.08.12

[Terraform] Provider, Resource, Data Source, Variable, Output, Locals, Module

Terraform Terraform은 테라폼 자체를 구성하는 내용으로 backend, required_version 등을 지정할수 있습니다. terraform { required_version = ">= 1.0.0" required_providers { aws = { source = "hashicorp/aws" version = "~> 4.0" } } }Provider Provider는 테라폼이 동작하는 클라우드 제공자(cloud providers) 또는 API 제공자(API providers)에 대해 기술합니다. provider들이 테라폼을 지원하지 않는다면 terraform은 어떤 종류의 인프라도 관리 할 수 없습니다. provider "aws" { profile = "aws_hyuckang" reg..

📂 IaC/Terraform 2022.08.11

[Terraform] Configuration file과 HCL

Terraform & Configuration file 테라폼은 IaC(Infra as a Code) Tool로 구성 파일(configuration file)을 선언적(declarative)으로 작성함으로서 인프라를 관리 할 수 있게 해줍니다. 구성 파일은 테라폼에게 설치할 플러그인, 생성할 인프라, 가져올 데이터 등을 알려줍니다. 구성 파일은 테라폼 네이티브 언어인 HCL(Hashicorp Configuration Language)과 JSON으로 작성 할 수 있습니다. 각각 .tf, .tf.json의 확장자를 갖으며 평문(plain text)으로 저장됩니다. 테라폼은 CDKTF(Cloud Development Kit for Terraform)을 지원합니다. Typescript, Python, Java,..

📂 IaC/Terraform 2022.08.08

[JAVA] Memory Leak과 OOME

Memory Leak(메모리 누수)이란? 더 이상 사용되지 않는 객체들이 GC(Garbage Collector)에 의해 회수되지 않고 메모리에 계속 누적되는 현상으로 어플리케이션의 성능을 저하시킬 수 있습니다. 힙 메모리에 상주하는 객체의 종류는 Referenced Objects와 Unreferenced Objects 2가지가 있습니다. GC는 주기적으로 unreference objects를 제거하며, referenced object는 실제로 애플리케이션에서 사용되지 않아도 제거하지 않습니다. 이때 Unused Objects이면서 referenced Object인 객체로 인해 Memory Leak이 발생하게 됩니다. OOME(Out Of Memory Error)이란? Memory Leak의 일반적인 증상..

📂 JAVA 2022.06.26

[AWS] AWS Python SDK Boto3 설치 및 사용법

Boto3란?Boto3는 Python용 AWS SDK로 Botocore(Python SDK와 CLI 사이의 공유되는 라이브러리), Boto3(Python SDK 구현 패키지) 두가지 주요 패키지로 구성되어 있습니다. (AWS CLI는 Botocore로 구현되어 있습니다.)AWS SDK를 사용하면 AWS 서비스들에 대한 객체지향(object-oriented) API 뿐만 아니라 저수준의 접근(low-level access)이 가능합니다.Boto3 SDK Featuresclient : AWS 서비스에 대한 저수준의 인터페이스(a low-level interface)를 제공하고 서비스 API와 1:1에 가깝게 매핑resource : AWS 서비스에 대한 객체 지향 인터페이스(an object-oriented ..

📂 AWS 2022.05.24

[JAVA/SPRING] API 응답 공통 포맷 만들기

개발을 하다 보면 수많은 오류가 발생하게 되고 발생하는 오류에 대해 적절한 HTTP Status Code로 핸들링하기는 어려움이 있습니다. 그렇기 때문에 공통적인 포맷을 만들고 Response status와 message로 Request에 대한 상태와 메시지를 돌려주는 코드를 만들어보겠습니다. ResponseStatus package com.hyuckang.springboot.utils; public enum ResponseStatus { SUCCESS, FAILURE, ERROR } ResponseDto package com.hyuckang.springboot.web.dto; import com.hyuckang.springboot.utils.ResponseStatus; import lombok.AllA..

📂 JAVA/Spring 2022.05.06

[AWS] CodeBuild

CodeBuild이란?CodeBuild는 소스코드를 컴파일하고 테스트를 실행하여 배포 가능한 패키지를 만들어주는 완전 관리형 빌드 서비스로 대표적인 CI(Continuous Integration) 서비스입니다.CodeBuild는 빌드 요청이 생성되면 즉시 빌드가 시작되고, 빌드 볼륨에 따라 인프라가 자동으로 확장/축소가 됩니다.CodeBuild의 특징빌드 프로젝트(build project)는 빌드를 실행하는 방법을 정의한 것이며 소스코드 위치, 빌드 환경, 실행할 빌드 명령, 빌드 출력물의 저장 위치등을 포함합니다.빌드 아티팩트(build artifacts)는 빌드에 의해 생성된 파일입니다. 일반적으로 배포 패키지, WAR 파일, 로그파일 등이 포함됩니다.빌드 환경(build environment)은 운..

📂 AWS 2022.04.27

[AWS] CodeCommit

CodeCommit이란?Git 기반의 레포지토리 서비스로 소스를 저장하고 제어할 수 있는 기능을 제공하며 기존 Git 도구와 연동 가능한 완전 관리형 소스 제어 서비스CodeCommit의 특징레포지토리에 저장된 데이터는 Key Management Service(KMS)을 통해 자동으로 암호화되고, 첫번째 리포지토리를 생성하면 AWS가 관리하는 CodeCommit 키가 자동으로 생성된다.IAM, CloudTrail, CloudWatch와 연동하여 레포지토리 접근을 제어하거나 모니터링 할 수 있습니다.CodeCommit은 resoure-level permissions(리소스 수준 권한)을 지원합니다. 이를 통해 git pull, git push등의 작업에 대해 제어가 가능합니다. 또한 작업에 대해 MFA를 ..

📂 AWS 2022.04.12
반응형