분류 전체보기
-
AWS CodePipeline을 이용하여 정적 웹 사이트를 S3에 배포CI & CD 2024. 3. 25. 18:50
AWS CodePipeline을 이용하여 정적 웹 사이트를 S3에 배포 CodePipeline이란? 소프트웨어 릴리스에 필요한 단계를 모델링, 시각화 및 자동화하는 데 사용할 수 있는 지속적 전달하는 서비스로, 릴리스 프로세스의 여러 단계를 신속하게 모델링하고 구성할 뿐 아니라 소프트웨어 변경 사항을 지속적으로 릴리스하는 데 필요한 단계를 자동화합니다. S3란? 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스로, 데이터 레이크, 웹사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션, IoT 디바이스, 빅 데이터 분석 등 다양한 사용 사례에서 원하는 양의 데이터를 저장할 뿐 아니라 보호합니다. # TL;DR CloudFormation 템플릿을 활..
-
AWS EC2 Instance로 Redmine 5.1.0 구축(Amazonlinux 2023)Redmine 2023. 12. 12. 16:14
AWS EC2 Instance로 Redmine 구축(Amazonlinux 2023) 레드마인(Redmine)이란? 레드마인(Redmine)은 웹 기반의 프로젝트 관리와 버그 추적 기능을 제공하는 오픈 소스 프로그램입니다. 소프트웨어 개발 및 여러 협업 작업을 관리하는 데 사용됩니다. Ruby on Rails에 기반하여 작성되었으며, 멀티플랫폼을 지원할 뿐 아니라 여러 가지 종류의 데이터베이스 및 34개의 언어를 지원합니다. 주요 기능 화면기반의 관리에 도움이 되도록 달력과 간트 차트를 제공합니다. 일정관리 및 통합된 프로젝트관리가 가능합니다. 이슈추적 및 여러 가지 형상관리 기능을 제공합니다. # TL;DR 이번 튜토리얼에서는 AWS EC2로 Redmine 서버를 간단히 구성하고 구축합니다. VPC에 P..
-
RDS (Aurora for Mysql) 운영 방법AWS Architecture 2022. 7. 16. 19:42
AWS에서 RDS를 운영하다 보면 Master RDS 와 Read Replica RDS 로 2대구성으로 운영을 하게 됩니다. 어플리케이션에서 select sql 은 Read Replica RDS로 Insert, Update sql 은 Master RDS로 실행하면 가장 좋지만 SQL Split하는 방법을 애플리케이션쪽에서 하지 않고 인프라쪽에서 하는 방법이 있습니다. SQL Split이란 Select Sql은 Read Relica로 Insert, Update Sql은 Master에서 실행하도록 Sql를 나누어 주는 것입니다. heimdal database proxy 를 이용하는 방법 자세한 내용은 아래 AWS 블로그에 자세하게 설명되어 있습니다. https://aws.amazon.com/ko/blogs/..
-
AWS Systems Manager Change Calendar를 사용하여 완전 자동화를 실현AWS Component 2022. 5. 27. 22:06
TL; DR Change Calendar는 AWS에서 사용하는 캘린더 iCalendar형식 EventBridge와 연동 가능 캘린더 스케줄로 AWS 리소스 실행예약이 가능 cron 설정으로는 불가능한 스케줄 실행이 가능 SSM Change Calendar AWS 에서 만들 수 있는 캘린더이면서 Systems Manager에서 Automation 과 RunCommand 를 실행할 때에 실행하는 날과 실행하지 않는 날을 캘린더로 지정할 수 있습니다. 예를 들어 개발환경의 EC2 인스턴스를 자동으로 업무시간외 공휴일에도 자동으로 정지시킬 수 있습니다. 기존 EventBridge Rule에서는 cron설정으로 지정된 시간, 지정된 요일, 지정된 날짜 만 설정된다는 단점을 Change Calendar를 사용하면 ..
-
2020년 9월 30일이후 생성된 S3 Bucket에 대하여 path style의 S3 API Request가 중지됩니다AWS Component 2020. 8. 20. 19:45
공식 블로그 https://aws.amazon.com/ko/blogs/korea/amazon-s3-path-deprecation-plan-the-rest-of-the-story/ Amazon S3 경로 기반 API 사용 중지 계획 안내 | Amazon Web Services 지난 주 저희는 Amazon S3 버킷에 있는 객체의 주소를 지정하는 데 사용되는 경로 기반 액세스 모델을 중지할 것임을 발표했습니다. 이 블로그 게시물을 작성하기 위해 저는 현 상황에 대해 S3 팀과 aws.amazon.com S3 Endpoint 지정방법 패스 형식(path-style) V1이라고 불림 패스부분에 버킷명이 들어감 http://s3.amazonaws.com/(버지니아 리전만 가능) http://s3-ap-northe..
-
fluentd를 이용하여 S3로 로그전송시 불필요한 Get Request를 없애는 방법fluentd 2020. 7. 23. 17:27
Fluentd를 이용하여 S3로 로그를 전송할 때에 다음과 같은 설정을 사용하면 불필요한 Get Request가 발생하게 됩니다. check_object true (default true) s3_object_key_format 에서 %{index}를 사용 상기 설정으로 S3에 저장되는 로그파일은 로그파일명_0.txt, 로그파일명_1.txt 형식으로 번호가 자동적으로 부여되면서 저장되게 됩니다. 제 경우에는 60초마다 로그를 전송하는데 1시간에 60개의 로그파일이 저장되고 24시간이면 1440개의 로그파일이 저장됩니다. 마찬가지로 로그파일명_0.txt 부터 로그파일명_1439.txt 까지 생기게 되죠. 잠시 fluentd가 로그파일을 중복되지 않고 전송하는 흐름을 살펴보면 S3에 로그파일명_0.txt 이 ..
-
fluentd을 이용하여 s3로 로그전송시 전송지연 발생fluentd 2020. 5. 14. 20:18
fluentd가 flush하는 구조를 보면 다음 그림과 같이 buffer file에 tag값과 time 키값으로 chunk가 쌓이게 되고 flush_interval 에 설정된 시간이 지나거나 buffer_chunk_limit가 초과하게 되면 enqueue가 발생하게 됩니다. buffer chunk가 flush되는 조건은 다음과 같습니다. buffer chunk가 flush되는 조건 flush_interval 설정값에 의하여 조건이 바뀌게 됩니다. flush_interval를 설정하였을 때의 조건 buffer chunk 사이즈가 chunk_limit_size * chunk_full_threshold 에 도달했을 경우 buffer chunk가 생성되고 나서 flush_interval에 지정된 시간이 경과하였..
-
aws spot instance 서버로그 관리(feat. fluentd)fluentd 2020. 4. 27. 22:13
Spot인스턴스를 사용하면 인스턴스 요금을 최대한 줄일 수 있습니다만 spot인스턴스 사용할 수 있는 용량이 적어지거나 설정한 요금보다 비싸지게 되면 spot인스턴스가 Stop되거나 terminate되는 경우가 있습니다. terminate될 경우에 spot인스턴스내에 있던 로그를 영영 복구할 수 없게 되죠. 그래서 로그를 어떻게 하면 실시간으로 한곳에 모으거나 spot인스턴스가 terminate되는 신호를 trigger하여 로그를 Flush할 수 없을까하는 방법을 찾던 중에 fluentd를 찾게 되었습니다. fluentd란? 그럼 fluentd는 무엇일까 간단히 얘기하자면 fluentd는 로그를 수집하는 도구입니다. 그리고 Opensource입니다. https://www.fluentd.org/ Fluen..