분류 전체보기 12

boto3

boto3는 AWS 서비스를 Python 코드로 자동화하고 제어할 수 있게 해주는 Python SDK(Software Development Kit)이다. 이 글에서는 boto3가 무엇인지 간단히 알아보고, 실제로 S3 버킷에 파일을 업로드하는 예제를 통해 사용법을 설명하겠다. boto3boto3는 Python에서 AWS의 다양한 서비스(EC2, S3, RDS, Lambda 등)를 제어할 수 있게 해주는 AWS 공식 SDK(Software Development Kit)이다. 예를 들어, EC2 인스턴스를 시작하거나 종료하고, S3에 파일을 업로드하거나 다운로드하며, DynamoDB에 데이터를 읽고 쓰는 작업을 모두 boto3 한 줄 코드로 자동화할 수 있다. 설치 방법은 다음과 같다. pip install..

개념정리/개발 2025.05.03

Celery와 Redis

Celery는 비동기 작업 큐 시스템으로, 주로 백그라운드 작업 처리에 사용된다. 이메일 발송, 이미지 처리, 데이터 분석 등과 같이 웹 애플리케이션에서 시간이 오래 걸리는 작업을 비동기적으로 처리하려면 Celery를 사용하는 것이 좋다. Celery는 메시지 브로커와 함께 작동하는데, 가장 많이 사용하는 메시지 브로커가 바로 Redis이다.  Redis - 비동기 작업 큐 및 캐싱Redis는 인메모리 데이터베이스로, 비동기 작업 큐로 사용하거나 캐시를 저장하는 데 매우 유용하다. Celery는 기본적으로 Redis를 메시지 브로커로 사용하고, Redis는 작업 큐로서 메시지 전달을 맡는다. 또한, 캐시 시스템으로 활용되기도 한다.(1) Celery 설치 및 기본 설정먼저 Celery와 Redis 설치에..

개념정리/개발 2025.02.09

FastAPI와 비동기 처리

FastAPIFastAPI는 비동기 처리와 고성능을 위한 강력한 기능들을 제공하는 웹 프레임워크로, 간단한 특징 및 비동기 처리 과정에 대해 설명하겠다.  FastAPI 개요 및 특징FastAPI는 Python 3.6 이상의 버전에서 사용 가능한 웹 프레임워크로, 아래와 같은 특징이 있다.고속: FastAPI는 Starlette을 기반으로 하여 매우 빠른 속도를 자랑함비동기 처리 지원: FastAPI는 비동기 API 처리를 기본적으로 지원하며, I/O 작업에서 성능이 크게 개선됨자동 문서화: Swagger와 ReDoc을 통해 API 문서화가 자동으로 이루어지며, 개발과 테스트의 용이데이터 검증 및 schema 관리: Pydantic을 이용하여 데이터 검증에 용이하고, schema 관리에 용이 1. Fas..

개념정리/개발 2025.02.09

MSA, Landing Zone

클라우드 아키텍처 이전의 흐름과 배경현재 클라우드 아키텍처에서 MSA(Microservices Architecture), Landing Zone, 그리고 멀티 클라우드 전략 등이 주류를 이루고 있지만, 과거에는 다른 방식의 IT 인프라 및 애플리케이션 아키텍처가 주로 사용되었다.  1. 온프레미스(On-Premises) 데이터센터배경1990년대~2000년대 초반, 대부분의 기업은 자체 데이터센터를 구축하여 IT 인프라를 운영모든 서버, 스토리지, 네트워크 장비를 직접 구매하고 유지보수해야 했음기업 내부에서 전담 IT 팀이 직접 하드웨어와 소프트웨어를 관리하는 방식특징물리적 서버 기반: 가상화 기술이 없거나 제한적이었으며, 서버 자원을 유연하게 활용하기 어려움CAPEX(초기 투자 비용) 중심: 하드웨어를 ..

개념정리/개발 2025.01.31

Terraform Authoring and Operations Professional(2)

Plugin MirroringTerraform을 사용할 때, 일부 환경에서는 네트워크 연결이 제한될 수 있다. 이러한 경우, 필요한 Provider 플러그인을 미리 다운로드하여 로컬에서 사용할 수 있도록 설정할 수 있다.  Provider 플러그인 미러링먼저, 현재 프로젝트에서 필요한 Provider 플러그인을 로컬 파일 시스템에 다운로드해야 한다. 이를 위해 Terraform의 providers mirror 명령어를 사용합니다.terraform providers mirror c:/plugin_cache 위 명령을 실행하면 현재 Terraform 설정에서 사용되는 모든 Provider 플러그인이 c:/plugin_cache 디렉터리에 저장된다. 로컬 플러그인 경로 지정Terraform이 기본적으로 원격 ..

Bastion Host

Bastion Host(줄여서 Bastion)는 네트워크 보안을 관리하기 위해 사용되는 서버로, 내부 네트워크와 외부 네트워크 간의 안전한 통로 역할을 한다. 주로 외부에서 내부 네트워크에 접근해야 하는 경우 사용되며, 보안성을 강화하고 접속을 관리하도록 설계되었다.  Bastion host 특징Bastion Host는 내부 네트워크의 중요한 리소스에 접근할 수 있는 중앙 경유지로 기능한다. 접근 권한은 엄격히 관리되며, 주로 SSH 또는 RDP를 통해 인증된 사용자만 접속할 수 있고, 이를 통해 다음과 같은 장점을 제공한다:중앙화된 관리: 모든 접속을 Bastion Host에서 관리하여 보안 사고를 방지네트워크 격리: 외부와 내부 네트워크를 분리하여 보안을 강화접근 제어: 특정 사용자만 접근할 수 있..

개념정리/개발 2025.01.27