목록Cloud (12)
without haste but without rest
Problem aws kinesis firehose를 이용해서 s3에 데이터 저장 시 json 데이터가 모두 한 줄로 적재되는 문제 급하다면 제일 아래 Solved code로 이동.. Detail 그래 이거다. 난 당연히 아래처럼 데이터가 적재될 줄 알았다. 그런데 데이터를 까보니까 위처럼 저장된다. 구글링 해보니까 뭔가 복잡한 방법을 사용하는 것 같다. 그런데 핵심은 payload 끝에 '\n' 을 추가해주면 된다고 한다. Solved aws docs를 보면, python boto3 library를 사용하는 경우 put_record 메서드를 사용해서 키네시스에 데이터를 흘릴 수 있다. 아래 데이터를 키네시스에 쏜다고 가정하자. data = { "uuid": "0000", "datetime": "2000..
Goal aws 시크릿 매니저 사용 방법을 빠르게 파악한다. aws 키 주입과 IAM에 대한 사전 지식이 존재한다고 가정한다. 자습서: 보안 암호 생성 및 검색 - AWS Secrets Manager 자습서: 보안 암호 생성 및 검색 이 자습서에서는 보안 암호를 AWS Secrets Manager에서 생성하여 저장합니다. 콘솔 또는 AWS CLI를 사용할 수 있습니다. 보안 암호에는 키-값 페어로 저장된 단일 암호가 docs.aws.amazon.com 1. 새 보안 암호 생성 https://console.aws.amazon.com/secretsmanager/ 시크릿 매니저 콘솔로 접근해서 새 보안 암호를 생성한다. 컨테이너 MySQL로 테스트할 목적이므로 기타 데이터베이스로 선택을 했다. 사용할 유저 네..
1. Kinesis vs MSK 카프카는 운영적인 측면에서 신경쓸 게 더 많고, 메트릭 모니터링이 더 까다롭다. 반면 키네시스는 운영적인 측면에서 MSK나 카프카에 비해 덜 신경쓸 수 있다. 내부 아키텍처에서 어떤 차이가 있는지 궁금해서 찾아본 자료인데, 카프카의 경우 오픈소스라 비교적 자세히 설명을 해주지만 키네시스의 경우는 추상적으로만 설명해준다. 키네시스에서 카프카의 개념에 대응되는 요소 Streams - Topic Shard - Partions 2. Kinesis vs MSK vs Kafka 종합적으로 고려했을 때, 카프카의 경우 오픈소스로 자유도가 가장 높지만 운영 측면에서 난이도가 높다. MSK는 AWS에서 인프라를 관리해주므로 메트릭 모니터링에 집중할 수 있다. 마지막으로 키네시스는 자유도가..
HDFS vs S3 HDFS 수평 확장 - 확장 시 직접 노드를 추가해야 한다. 미리 정해진 사이즈가 있다. 스토리지 포맷에 제한이 없다. S3 수직 확장 볼륨 사이즈의 제한이 없다. (미리 정해진 볼륨 사이즈가 없다.) 파일당 최대 크기 제한은 5GB 스토리지 포맷에 제한 - ORC 사용 불가 object storage s3 comes out on top for scalability, durability, persistance, price 확장성, 내구성, 비용 측면에서 s3가 더 좋지만, 레이턴시, 쓰로우풋 같은 퍼포먼스 측면에서는 HDFS가 더 좋다 https://www.integrate.io/blog/storing-apache-hadoop-data-cloud-hdfs-vs-s3/ Storing A..
요약 LocalStack 0.13.0 버전부터는 /tmp/localstack 디렉토리를 마운트 해도 데이터들이 정상적으로 마운트 되지 않는다. 0.12.n 버전을 사용하면 정상적으로 볼륨이 마운트 된다. 원인 0.13.0 커뮤니티 버전에서는 persistent volume 서비스를 제외했다. 0.12.20 버전을 사용하면 위 문제를 해결할 수 있다. localstack on k8s 템플릿 https://github.com/jinyes-kim/localstack-on-k8s/blob/master/localstack-on-k8s.yml GitHub - jinyes-kim/localstack-on-k8s Contribute to jinyes-kim/localstack-on-k8s development by c..
boto3 docs 어떻게 접근해야할까? boto3 클래스의 클라이언트 메서드는 액세스 키를 이용해서 접근한다. 그런데 로컬스택은 엔드 포인트를 지정해주어야 한다. 다행히 boto3 를라이언트는 엔드 포인트를 지정하는 파라미터가 존재한다. 버킷 리스트 확인 import boto3 # Retrieve the list of existing buckets s3 = boto3.client('s3', endpoint_url="http://localhost:4566") response = s3.list_buckets() # Output the bucket names print('Existing buckets:') for bucket in response['Buckets']: print(f' {bucket["Name..
공식 도큐먼트 깃허브 onexlab LocalStack aws 서비스를 로컬 환경에서 테스팅할 수 있게 해주는 에뮬레이터다. aws cli, localstack을 설치하고 작동을 확인하는 것 까지를 목표로 한다. Requirements MacOS Python 3.6 up to 3.9 pip Docker compose Install # Install aws cli brew install awscli # Install localstack python3 -m pip install localstack docker compose version: "3.8" services: localstack: container_name: "${LOCALSTACK_DOCKER_NAME-localstack_main}" image: ..
참조 - www.youtube.com/watch?v=vXiZO1c5Sk0 단계 요약 1. aws lambda 함수 생성 2. IAM 롤 부여 3. S3 버킷 생성 4. lambda 환경에서 스크립트 작성 5. 테스트 및 배포 참조한 영상에서는 IAM을 먼저 생성하고 람다 함수를 작성하는데, 굳이 순서를 따라하지 않아도 된다. 본 포스팅은 람다를 이용해서 s3에 파일 저장하는 방법을 정리했다. 1. 람다 함수 생성 적당한 이름으로 람다 함수를 하나 생성한다. 랭귀지는 파이썬을 선택했다. 편한 언어로 선택하도록 하자 권한은 기본으로 설정한다. 추후에 해당 롤에 권한을 추가 해준다. 람다 함수를 생성하면 이와 같은 화면으로 넘어간다. 권한 카테고리를 눌러서 IAM의 권한을 추가 해줘야 한다. 권한 카테고리의 ..