본문 바로가기 메뉴 바로가기

컴맹 : 진화의 시작

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

컴맹 : 진화의 시작

검색하기 폼
  • 전체보기.. (821) N
    • readme.md (1)
    • 사설 (10)
    • 개발 (424) N
      • 개인 프로젝트 (11) N
      • Linux (88)
      • Cloud (Alibaba) (4)
      • Cloud (AWS) (15)
      • Cloud (GCP) (48)
      • 기계학습 (13)
      • Network (18)
      • PHP (20)
      • python (32)
      • kubernetes (1)
      • docker (13)
      • IaC (3)
      • Apache Airflow (6)
      • Java (1)
      • Node.js (7)
      • Vue.js (2)
      • DB (30)
      • GNU Build System (3)
      • 버전관리시스템 (15)
      • Shell Script (14)
      • Compile error (9)
      • 운영체제 (16)
      • CI.CD (1)
      • tools (14)
      • UML (10)
      • Link (18)
      • 길 잃은 게시물 (12)
    • 생활 (382)
      • 내 집 마련하기 (5)
      • 아빠일기 (0)
      • 주절주절 (172)
      • 리뷰 (60)
      • 외식 (20)
      • 책 (98)
      • 여행 (15)
      • 회고 (8)
      • 블로그 결산 (2)
      • 요리 (1)
      • 잡동사니 (1)
    • 비공개 (1)
      • -----아래는 비공개----- (1)
      • 코드 (0)
      • 임시 (0)
      • FS : 회사 대외비 (0)
      • Wedding : 준비 과정 (0)
      • 개인정보 (0)
  • 방명록

AWS (19)
AWS MWAA에서 시작된 Managed Service에 대한 단상

Amazon Managed Workflow for Apache Airflow (MWAA) 때문에 일주일 넘게 고생했다. 여러 가지 문제가 있었는데 여기 정리하고 매니지 서비스에 대해 다시 생각해보고자 한다 우선 MWAA를 개발/운영 환경에서 쓰고 있었다. 인프라는 전부 테라폼으로 구축됐고 DAG은 GitHub Actions에 의해 배포된다. 즉, 사람의 실수로 뭔가 갑자기 이상 증세를 보이는 게 쉬운 구조는 아니다. 1. 개발 쪽 MWAA에 자원이 부족해서 워커 인스턴스 개수를 늘리기 위해 다시 배포했는데 업데이트가 실패했다. environment를 배포한 건 꽤 오랜만이지만 특별히 문제가 될 건 없어 보였다. 단순히 인스턴스 개수 숫자만 바꾼 거니까. 2. 원인을 알 수 없었기에 Case를 열고(clo..

사설 2023. 2. 17. 23:00
Redshift 슈퍼계정 이름 변경

클러스터를 생성할 때 함께 만든 슈퍼계정 이름을 변경하는 방법을 기술합니다. 우선, 계정 이름을 변경하는 쿼리는 다음과 같고 슈퍼계정 권한이 있어야만 실행할 수 있습니다. ( 기존 계정 이름이 admin이고 이를 sysadmin으로 변경하겠다는 예제입니다 ) alter user admin rename to sysadmin; 하지만 위에 쿼리를 실행하면 아래와 같은 에러를 만나게 됩니다. 현재 접속한 계정의 이름을 변경할 수 없다는 내용입니다. 이 상태에서 우리가 선택할 수 있는 방법은 1) 임시 계정(tempadmin)을 추가로 2) 임시 계정에 슈퍼계정 권한을 줍니다 3) 임시 계정으로 접속해서 기존 계정(admin)의 이름을 변경해줍니다 4) 그리고 다시 변경된 이름(sysadmin)으로 접속해서 임..

개발/Cloud (AWS) 2021. 11. 10. 15:13
ElastiCache Redis - Parameter Group 설정 변경

redis를 사용하면서 필요에 의해 CONFIG SET을 통해 설정을 변경하는 경우가 있습니다. 아마 처음 config set을 검색했을 때 목적은 notify-keyspace-events 변경을 통해 key expire에 대한 이벤트를 받기 위해서가 많을 듯합니다. notify-keyspace-events 변경은 아래 페이지에 자세히 설명되어 있습니다. https://redis.io/topics/notifications Redis Keyspace Notifications – Redis *Redis Keyspace Notifications IMPORTANT Keyspace notifications is a feature available since 2.8.0 *Feature overview Keyspac..

개발/Cloud (AWS) 2021. 8. 10. 13:17
Spot Instance pricing history

AWS에서 EC2를 제 돈 주고 쓰면 많이 손해입니다. 비용을 절약할 수 있는 몇 가지 방법이 있는데요, SP (Savings Plans) RI (Reserved Instances) Spot 이렇게 기본적으로 세 가지를 언급할 수 있겠습니다. 이번 글에서는 Spot의 설명은 아니고, 그래서 얼마나 할인되는데? 에 대한 이야기를 해보려고 합니다. 위에 그림에서 보여지듯이 Spot Instance 가격은 c5.large 기준으로 리전 별로 차이는 보이지만 최대 64%까지 할인되는 것을 볼 수 있습니다. 한 달이면 $44 차이까지 발생하죠. 이런 인스턴스 열 대를 운영하면 $440입니다. 절대 무시할 수 있는 수준이 아닙니다. 위에 표를 볼 수 있는 경로는 EC2 -> INSTANCES -> Spot Requ..

개발/Cloud (AWS) 2021. 5. 7. 23:29
버스트 가능한 T타입 인스턴스 소개

AWS에서 선택 가능한 EC2 인스턴스 타입은 범용, 컴퓨팅 최적화, 메모리 최적화, 가속화된 컴퓨팅, 스토리지 최적화로 나눌 수 있습니다. 이번 글에서는 범용 타입에서도 버스터 가능한 인스턴스 타입을 소개합니다. 버스트(burst) 가능한 인스턴스 타입은 현재(2021-05-06) 기준으로 T2, T3, T3a, T4g 네 가지 타입이 존재하고 각각의 타입은 CPU와 메모리에 따라서 nano, micro, small, medium, large, xlarge, 2xlarge로 나누어집니다. T 타입 인스턴스에는 CPU credits이라는 개념이 존재하는데 CPU 유휴시간에 따라 credits을 획득하고, CPU가 사용되면 사용률에 따라 획득한 크레딧을 소모하게 되는 구조입니다. 이 의미를 상세히 이해하기..

개발/Cloud (AWS) 2021. 5. 7. 20:04
[책] 배워서 바로 쓰는 14가지 AWS 구축 패턴

이번에 시의적절하게 아주 재밌는 책을 리뷰하게 됐다. 바로 "배워서 바로 쓰는 14가지 AWS 구축 패턴". 현재 재직하고 있는 회사에서 AWS를 사용하고 있으며 특히 Container Service와 DW를 위해 Redshift를 들여다보고 있는 와중에 만난 책이다. 과거에도 물론 퍼블릭 클라우드를 여럿 사용해왔지만 이 책이 반가웠던 이유는 여러 가지 실제 사례를 들고 있기 때문이다. 책의 앞 부분은 클라우드가 처음인 독자를 위해 아주 섬세한 부분까지 설명을 해준다. 리전, 네트워크, VPC 등. 그리고 EC2 인스턴스 생성부터 차근차근 첫 단추를 꿰어간다. 순간 "이 책 입문서 아니야?"라는 생각이 들 정도. 하지만 방심하지 마시라, 책의 진도는 순식간에 나간다. 서비스 구축에 가장 흔하면서 일반적인..

생활/책 2021. 4. 12. 00:08
Elastic Container Service - CPU, Memory 설정 최적화

컨테이너와 컨테이너 인스턴스라는 용어로 본문에 많이 등장합니다. 컨테이너 인스턴스는 클러스터에 묶여있는 EC2 인스턴스를 나타냅니다. 표준 표현을 따르다 보니 본문을 읽는데 어려움이 있을 수 있습니다. 이번 글에서는 Task, Container에 CPU와 Memory 설정에 대해 알아봅니다. ECS를 처음 접하면 리소스를 설정하는 곳이 너무 많아서 정신이 혼미해질 정도인데요, 추려보면 다음과 같습니다. 인스턴스의 CPU, Memory 설정 (인스턴스 타입에 따라 고정, 혹은 custom 사용) task의 CPU, Memory 설정 container의 CPU, Memory 설정 위에서 아래로 갈수록 작은 개념으로 이어집니다. 직감적으로 보면 container는 task 안에서 돌기 때문에 당연히 task에..

개발/Cloud (AWS) 2021. 4. 9. 22:05
Elastic Container Service - 용어 정리

ECS를 구축, 관리하기 위해서는 그 안에서 사용되는 용어를 이해해야 합니다. 이번 글에서 ECS에서 통용되는 용어들의 개념을 이해하도록 합니다. 자원 개념 위에서 아래로 내려갈수록 큰 개념으로 생각하시면 됩니다. container는 ECS에서 가장 작은 단위, cluster가 가장 큰 단위입니다. # container 단순히 시야가 제한된 리눅스 프로세스입니다. namespace 분리로 컨테이너 환경 안에서 호스트의 프로세스 목록을 볼 수 없고, 루트 디렉터리 변경으로 호스트의 디렉터리를 볼 수 없도록 제한합니다. (chroot) 끝으로 제어 그룹을 통해 컨테이너가 접근할 수 있는 자원을 제어합니다. (control group) 우리가 알고 있는 바로 그 컨테이너의 원리죠? # task definiti..

개발/Cloud (AWS) 2021. 3. 25. 22:38
ECS container 안에 defunct 처리

본문을 읽기 전에 Zombie, Orphan 프로세스란 무엇인지 알고 있을 필요가 있다. 관련된 내용은 다음 글에 매우 잘 정리가 되어 있으니 참고하기 바란다. - Zombie process reaping 에 대하여, Container에서 고려할 부분들 컨테이너를 생성할 때 한 개의 일만 처리하게 설계하면 좋겠지만 그렇지 못한 경우도 분명 생길 수 있다. 간혹 자식(child process)을 만들어서 일을 시켜야 하는 경우가 있는데 새로운 컨테이너를 생성하거나 API 통신으로 동작시키는 것보다 나은 상황이 있기 때문이다. 아무튼, 이렇게 자식 프로세스를 만들어서 일을 시켜보면 의도치 않게 자식이 고아가 되는 경우가 발생한다. 자식의 자식의 자식 이라던가... 뭐 물론 좋은 설계는 아니지만. 이런 경우가..

개발/Cloud (AWS) 2021. 3. 23. 08:25
[책] Amazon Web Services로 시작하는 클라우드 입문

이번에 진행하는 프로젝트를 AWS 환경에서 개발하면서 여러 가지 개념을 접했다. 특히 ECS(elastic container service)를 깊이 있게 보고 있는데 GCP에서 GKE(google kubernetes engine)를 살짝 다뤄봤던 경험 덕분이 많은 도움이 됐다. 아무튼, VPC부터 Security Group 등 알고 있는 개념들을 정리할 겸 책을 꺼내 들었다. 합리적인 구성으로 담백하게 쓰인 책이다. 특히 책의 제목처럼 "입문"을 위해 클라우드 시스템이란 무엇인지부터 퍼블릭 클라우드의 종류와 컴퓨팅 등 다양한 개념과 기초지식을 초반에 잘 풀어내 주고 있다. 주요 목차는 다음과 같다. 1장. 클라우드의 역할 2장. AWS 기본과 계정 등록 3장. Web 서버 구축 4장. Web 애플리케이션..

생활/책 2021. 3. 13. 21:53
빠르게 훑어보는 "AWS Hero와 함께하는 re:Invent reCap 온라인 세미나" 후기

AWS Hero와 함께하는 re:Invent reCap 온라인 세미나가 진행됐다. re:Invent도 아직 진행중인데 벌써 reCap이라니 그 속도가 대단하다. 신상 제품을 이렇게 빠르게 모국어로 접할 수 있는 것은 대단한 축복이다. Hero분들께 심심한 감사를 전한다. re:Invent 답게 세미나 내용은 신규 기능에 초점을 맞추고 있지만 대부분 경험에서 우러나는 소중한 내용을 곁들여서 공유해주셔서 한 순간도 놓치지 않기 위해서 귀를 쫑긋하고 들었다 [라고 쓰고 업무 때문에 곁눈질로 봄..] 라이선스 문제가 우려되고 더욱이 발표자를 블로그에 박제하고 싶지 않아서 캡쳐는 하지 않았다. 고로 후기는 칙칙한 텍스트로만 작성했으며 같은 이유로 발표자 실명이나 존칭은 적지 않았으니 참고. 혁신가를 위한 AWS ..

생활/리뷰 2021. 1. 15. 18:51
[AWS] IAM 사용자 추가와 aws cli 설정

aws cli를 사용하기 위해서 IAM( Identity and Access Management )에 사용자를 등록하고 액세스 키를 생성하는 과정에 대해서 알아보도록 합니다. 기본적으로 aws cli는 우리가 console.aws.amazone.com 로 브라우저에 접속해서 할 수 있는 대부분의 액션을 터미널에서 사용할 수 있게 해주는 일종의 sdk라고 생각해도 좋을 듯합니다. 우선 AWS에 접속해서 아래와 같이 IAM 페이지로 접근하도록 합시다. 좌측 메뉴중에 사용자를 선택하도록 합니다. 아래와 같이 사용자를 추가하거나 삭제할 수 있고 등록된 사용자가 있다면 리스트 형식으로 보여주는 UI가 제공됩니다. 여기서 사용자 추가를 선택하도록 합니다. 이제 사용자 정보를 입력하는 단계를 거치게 됩니다. 구분할 ..

개발/Cloud (AWS) 2019. 10. 2. 00:48
An error occurred (InvalidParameter) when calling the ExportImage operation: The service role vmimport provided does not exist or does not have sufficient permissions

AMI( amazon machine image )를 CLI에서 아래와 같이 export 하려고 할 때 발생되는 에러입니다. 커맨드에 대한 공식문서는 여기에서 확인 할 수 있습니다. $ aws ec2 export-image --image-id ami-07512400xxxxx --disk-image-format VMDK \ --s3-export-location S3Bucket=my-export-bucket,S3Prefix=exports/ 에러내용 An error occurred (InvalidParameter) when calling the ExportImage operation: \ The service role vmimport provided does not exist or does not have su..

개발/Cloud (AWS) 2019. 9. 26. 16:52
AMI를 다른 리전으로 복사

서비스를 운영하면서 적당한 시점이 되면 인스턴스를 AMI( amazon machine image )를 생성하고 그때부터는 해당 이미지를 흔히 이야기하는 오토스케일링, 즉 인스턴스 확장으로 사용하게 됩니다. AWS의 경우에는 대부분의 기능들이 리전 단위로 묶여있는데 AMI도 예외는 아닙니다. 글로벌 서비스를 준비하면서 생성한 AMI를 다른 리전에서 사용할 수 없다면 큰 낭패겠죠? 해당 이미지가 왜 리전에 종속되는지 알 수는 없지만 글로벌 배포를 위해서는 AMI를 각 리전에 복사해서 사용해야 합니다. 리전에 종속된다는 사실을 알고 다른 리전으로 넘기기 위해서 AMI를 Export 하고 Import 해야 하는지까지 생각해봤었는데요, 다행히 복사 기능이 제공되어 간단하게 글로벌로 사용이 가능합니다. 우선 아래와..

개발/Cloud (AWS) 2019. 8. 23. 10:56
클라우드에서 SQL injection 정도는 기본으로 막아줍니다

다만, CloudFront나 ALB를 사용했을 때 활용 가능합니다. 사실 클라우드를 사용할 때 인스턴스로 WAS를 운영한다면 LB는 당연히 따라가야하는 모양새라서 이정도는 기본인지도 모르죠 :) 근데 클라우드를 사용하면서 이런 환경으로 운영하지 않는 곳도 많다는건 함정... 인스턴스에 퍼블릭 아이피 잡고 WAS설치해서 서비스 운영할거면 클라우드는 왜 씁니까(...)

생활/주절주절 2019. 8. 12. 16:04
우분투에서 letsencrypt로 인증서 발급, AWS에 적용

letsencrypt를 통해 인증서를 아래와 같이 발급합니다. letsencrypt certonly --manual --preferred-challenges=dns \ -d example.com -d *.example.com 터미널에서 위 명령어를 입력하면 아래와 같은 메시지를 확인할 수 있습니다. Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator manual, Installer None Obtaining a new certificate Performing the following challenges: dns-01 challenge for example.com dns-01 challenge for..

개발/Cloud (AWS) 2019. 8. 12. 15:03
람다, 모르고 쓰면 병이다.

람다, 서버리스의 첫걸음을 통해 AWS 의 Lambda 서비스에 대해 간략하게 소개를 했다. 이번에는 조금은 더 심도 있는 이야기를 할 텐데 람다의 구조와 원리를 파악하고 자연스럽게 그 한계를 깨우치도록 하자. 내부 로직을 어느정도 이해하고 있어야 어떤 상황에 서버리스( Serverless ) 람다가 독이 되는지 알 수 있게된다. 어설프게 이해하고 사용 하다가는 독이 된다는 사실로 시작해보자.서버리스는 없다람다는 AWS 에서 서버리스를 대표하는 서비스 중 하나다. 앞선 글에서도 그렇게 밝혔고. 근데 이제와서 서버리스는 없다니 이게 무슨 소리지? 이건 클라우드로 넘어오면서 생긴 개념인데 EC2 와 같은 IaaS 는 이미 사용자에게 서버를 클라우드 상에서 제공하며 IDC 상황에서 겪었어야 했던 수 많은 작업..

개발/Cloud (AWS) 2018. 6. 28. 07:34
람다, 서버리스의 첫걸음

아주 오래전부터 있던 개념이지만 클라우드와 함께 MSA 가 뜨거워지자 그 다음 단계로 Serverless 가 등장했다. Rest API 처리나 어차피 평소에 할일없이 빈둥거리는 서버를 없애고 인스턴스 내부에서 소소한 역할을 수행하던 것들을 함수처럼 클라우드에 등록해놓고 필요할 때 적절한 이벤트 트리거를 걸어 사용하는 방식이 람다에 대한 짧지 않은 소개가 되겠다. AWS lambda 는 GCP 에서는 Cloud Function 이라는 이름으로 존재하는 기능이다. 아무튼 여기서 람다에 대해 살펴보고 작은 모듈을 등록해서 사용까지 해보도록 하자. 우선 AWS console 에 접속해서 lambda 서비스를 검색하도록 하자. 검색후 서비스에 진입하게 되면 EC2 나 다른 서비스와 다르게 다소 심플한 메뉴로 구성..

개발/Cloud (AWS) 2018. 6. 7. 22:55
AWS 오로라팀의 사내 방문

AWS 오로라팀의 사내 방문이 있었다. 오로라의 기술적인 내용에 대한 질의응답이 있었고 새로운 기능에 대한 가이드까지 완벽한 시간을 갖을 수 있었다. ​ 통역까지 지원된 기술 이야기는 처음 들어본 듯. 통역 하시는 분이 관련 기술에 미흡해서 완벽하지는 않았지만 AWS 다른 직원분의 보충 설명이 이어져서 어렵지 않게 오로라의 내부 구조를 들여다 볼 수 있었다. 당장 (내가) 오로라를 어디에 사용할 일은 없지만 귀동냥으로 듣게 되는 것들이 배경지식을 풍성하게 만드는데 얼마나 큰 도움이 되는지 잘 알고 있기 때문에 매우 흡족한 시간이 되었다. 그나저나 AWS 개인 계정은 언제 만드나... 다른 일로 매일 미루고 있는데 올해는 꼭 만들고 여러가지 정리하는 시간을 갖아야겠다.

생활/리뷰 2018. 3. 25. 20:05
이전 1 다음
이전 다음
최근에 올라온 글
  • 슬랙에 ChatGPT 납치하기 #3 - 클라우드에⋯
  • 슬랙에 ChatGPT 납치하기 #2 - PC에서 ⋯
  • 슬랙에 ChatGPT 납치하기 #1 - 슬랙 AP⋯
  • 🎉 HashiCorp Ambassador 2023⋯
최근에 달린 댓글
  • 안녕하세요. 물리적인 디스크(파티션 포함)를 마운트 했⋯
  • 포스팅 잘 보았습니다. 질문드릴게 있는데요. umoun⋯
  • 감사합니다. :)
  • Jaeyeon Baek님 오랜만에 소중한 정보 감사드려⋯
글 보관함
  • 2023/03 (4)
  • 2023/02 (9)
  • 2022/12 (2)
  • 2022/10 (2)
  • 2022/09 (3)
Total
1,811,126
Today
62
Yesterday
820

Blog is powered by Tistory / Designed by Tistory

티스토리툴바