전체 글 8

AWS Batch를 활용한 Spring Boot Batch 실행 방법

이번 시간에는 AWS Batch를 활용해 Spring Boot 기반 배치 작업을 등록‧실행하는 방법을 살펴보겠습니다.AWS Batch는 배치 서버를 자동으로 관리하며, CPU 최적화·메모리 최적화 등 컴퓨팅 리소스의 유형을 필요에 따라 동적으로 프로비저닝해 주는 완전관리형(Managed) 서비스입니다. 실제 AWS Well-Architected 진단 tool 개발 프로젝트를 수행하면서 AWS SDK for Java로 AWS Cloud 자원 정보를 저장하는 배치를 구현한 경험을 바탕으로, AWS Batch를 어떻게 활용할 수 있는지 살펴보겠습니다.아래 그림은 블로그에서 구현할 아키텍쳐 구성도 입니다. 아래 그림 처럼 AWS 계정 정보를 조회해 Root 계정 설정 정보를 저장하는 배치를 구현했습니다.이제 ..

AWS Tech 2025.06.25

IAM Role을 이용한 계정간 S3 Bucket 엑세스

이번 블로그에서는 IAM Role을 이용하여 타 계정 S3 Bucket 을 접근하는 간단한 방법에서 알아보겠습니다.대형 프로젝트의 경우 일반적으로 DEV, STG, PRD 등 총 3개 환경을 각각 다른 계정으로 분리하여 Cloud 시스템을 구축합니다. 시스템 구축 중 STG 계정에 있는 특정 S3 버킷으로 DEV, PRD 계정에 있는 EC2가 파일을 업로드, 다운로드 를 요청하는 사례가 종종 있습니다. 이런 경우 계정간 IAM Role 설정을 통하여 손쉽게 S3 버킷을 공유할 수 있습니다. IAM Role을 사용하여 아래 구성도처럼 A계정에 있는 EC2 로 B계정에 있는 S3 Bucket 에 접속하는 방법을 알아보고 접속이 잘되는 지 테스트해보겠습니다. 이번에 진행할 내용을 대략적으로 말씀드리면 1..

AWS Tech 2024.09.26

임시 자격 증명을 활용한 AWS 자원 액세스 예제 (S3 다운로드)

A라는 오토바이의 스마트키를 만드는 열쇠공이 있습니다. 열쇠공은 A 오토바이키를 원할때 마다 만들 수 있지만 해당 키로는 최대 12시간 동안만 오토바이를 탈 수 있습니다. 가끔 씩 친구가 오토바이 타고 싶을 때 키를 만들어줍니다. 해당 키 또한 최대 12시간만 사용가능합니다.   위에 설명이 100% 맞아 떨어지진 않지만 열쇠공은 IAM USER, 오토바이키를 만드는 행위는 STS AssumeRole, 오토바이키는 임시자격증명, 오토바이는 AWS 서비스로 표현할 수 있습니다. 즉 임시자격증명이란 특정 시간만 사용할 수 있는 권한을 뜻합니다. 만약 열쇠공 몸에 무한대로 A 오토바이를 사용할 수 있는 키가 장착되어있다면 열쇠공은 장기자격증명로 표현 할 수 있습니다. AWS 관련 된 자원은 장기자격증명 또는 ..

AWS Tech 2024.08.13

SSM 를 사용한 Private EC2 접근 및 Local PC -> Private EC2 SSH 접속

EC2를 Public Subnet에 구성하는 케이스는 실제 프로젝트에서 보안적 이슈로 흔하지 않습니다. 필자가 수행한 프로젝트들은 Amazon Linux 기반의 CI/CD 용 서버, RDS 관리용 서버, Infra 서버, EKS 및 Kubenetes 관리용 서버등으로 구성한  EC2를 Private Subnet 에 구성하고 Thirdy Party 접근 제어 솔루션(HI-TAM, Chakra MAX 등등) 으로 접근하거나 특정 EC2 및 특정 User 들은 AWS SSM을 통하여 접근하여 케이스가 있었습니다. 특히 프로젝트 규모가 작거나, 프로젝트 초기에 접근제어 솔루션 과 EC2 간 연결에 시간이 많이 소요되면, 빠른 기간내에 구성이 가능한 SSM 은 프로젝트 구축에 용이하게 사용됩니다. 이번 글에서는 ..

AWS Tech 2024.07.10

S3 Bucket 에 파일 업로드 시, 파일 다운로드를 위한 Pre-signed Url 을 Email 로 전송하는 방법

특정 S3에 파일이 업로드 될때마다 해당 파일을 메뉴얼로 확인할 필요 없이 바로 이메일로 보내달라는 요구사항을 고객에게 받은 경험을 바탕으로 구현한 아키텍쳐를 주제로 블로그를 작성해보겠습니다. 전체적인 Work Flow 는 다음과 같습니다.1. 사용자가 S3 에 특정 파일(= Object) 을 업로드 합니다.2. S3에 파일이 업로드 됨에 따라 Put 이벤트가 발생합니다.3. Put 이벤트 발생 시 Lamda 가 실행되도록 설정합니다.4. Lamda 를 활용하여 Put 한 파일에 대한 Presigned Url 생성 및 Email 전송을 통하여 다운로드 받도록 구성합니다.     좀더 상세화하면     - Lamda는 Put 이벤트 발생 시 생성된 파일 (=Object) 을 Get 합니다.    - Lam..

AWS Tech 2024.06.20

AWS Well-Architected Tool 를 이용한 Workload 진단

Well Architected Framework 란?일반적으로 건축물은 건축 설계서에 따라 시공됩니다. 건축 설계서에는 단순히 건물을 짓는 방법뿐만 아니라, 건물을 안전하고 효율적으로 시공하기 위한 기준과 방향도 함께 포함됩니다.예를 들어, 담장을 높게 설치하여 외부 침입으로부터 주거 공간을 보호하고, 유지·관리가 쉬운 자재를 사용해 관리 효율성을 높일 수 있습니다. 또한 개별 난방 시스템을 적용함으로써 에너지 사용을 최적화하고 비용 효율성도 높일 수 있습니다. 또한 건축물은 완공 후에도 지속적인 유지보수와 개선 작업을 통해 오랫동안 사람이 안전하고 쾌적하게 생활할 수 있는 환경을 제공해야 합니다. Cloud도 이와 같습니다. Cloud를 구축할 때는 보안성, 안정성, 비용 효율성 등을 고려하여 고객에게..

AWS Tech 2024.05.27

CloudWatch logs 구독 설정 및 연결 확인 테스트 (CloudWatch logs를 근 실시간으로 S3 저장-2편 )

전편에서는 1. CloudWatch logs에서 Log group , Log stream 생성 및 2. Cloudwatch logs 와 S3간의 전송 통로인 Kinesis Firehose Stream 을 구성해 보았습니다.    이번편에서 다음에 해야할 일은 log를  Kinesis Firehose Stream 으로 전송하기 위하여 Log group에 구독 필터(= Subscription filters 를 생성하는 작업 입니다.  전에 생성하였던 applicationlog 라는 Log group에서 Subscription filters 탭을 선택하고 Create 버튼을 클릭합니다.우리는 Kinesis Firehose Stream 을 구독하여 Log를 S3로 보낼 것이기 때문에 Create Amazon D..

AWS Tech 2024.05.03

Cloudwatch logs 및 Kinesis Firehose Stream 생성 (CloudWatch logs를 근 실시간으로 S3 저장-1편 )

모니터링을 위하여 Datadog Storage, Cloudwatch storage 에 log를 저장하고 있는 경우 상대적으로 저렴한 비용으로 log 파일을 관리하고 싶다면 S3에 로그파일을 저장하는 하는 방법을 고려해 볼만 합니다. 필요할 때마다 콘솔을 통하여 메뉴얼로 S3에 저장할 수 도 있지만 필요에 따라 근 실시간으로 저장이 필요한 요구사항이 생길 수도 있습니다. 실제 필자의 프로젝트 적용사례를 통하여  AWS Native Serivce를 이용하여 CloudWatch logs에 있는 로그들을 Json 형태로 S3 Storage에 저장하는 방법을 알아보겠습니다. 여기서는 프로젝트에서 적용하였던  json 형태로 S3를 저장하는 방법을 기술하였습니다. 다른 파일 형태로 저장하는 케이스에는 설정 방법이 ..

AWS Tech 2024.04.20