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

JHB의 삽질 이야기

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

JHB의 삽질 이야기

검색하기 폼
  • 분류 전체보기 (372)
    • JHB (23)
      • IT 이야기 (4)
      • 잡다한 이야기 (19)
    • Cloud (44)
      • AWS (40)
    • Language (46)
      • C C++ (26)
      • C# (2)
      • Java (1)
      • Python (16)
    • Development (221)
      • Windows (62)
      • Mobile (72)
      • Linux (6)
      • Driver (12)
      • Firmware & HW (3)
      • Algorithm (14)
      • CM&CI&CD (14)
      • Web개발 (8)
      • Container (1)
      • Database (1)
      • Etc (26)
      • Tip (2)
    • MUSIC (17)
      • Listen (12)
      • Compose (5)
    • ETC (20)
      • Public (20)
    • TOOL/FRAMEWORK
      • MFC
      • WPF
      • GIT
    • LANGUAGE
      • C/C++
      • C#
      • Java
      • Python
  • 방명록

분류 전체보기 (372)
MSA의 Demo Day

MSA 다룰 때 카오스엔지니어링은 중요하다. 하나의 서비스 장애가 전체 시스템 장애로 퍼지는 일이 흔하기 때문이다. MSA로 아키텍처를 구성하면, 어느 한 서비스가 장애 시간이 점점 쌓여서 Timeout이 계속 나는 상황이 되면.. 이거에 연관된 모든 서비스가 점점 느려지다가 전체 서비스가 한순간에 확 다운된다. 2차 함수 처럼 그래프가 한번에 확 올라간다. 느려지기 시작하는 지점을 엘보우 포인트라고 부르며, 이걸 빠르게 캐치하는게 중요하다. 그래서 프로덕션 전에 일부로 서비스 장애를 일으키고 이를 해결하기 위한 플레이북을 만들어 나가는 과정이 중요하다. 이때 서비스를 모두 띄워놓고 하나씩 죽여보는 날을 잡는데, 이걸 Demo Day 라고 부른다. 예를 들어 서비스에서 DB 요청 했는데 Timeout이 ..

Cloud/AWS 2021. 6. 18. 12:02
Public IP가 할당되지 않은 Instance는 Internet Gateway로 요청을 보낼 수 없다.

Public Subnet에 EC2를 생성했고, Public IP는 할당하지 않았다. (Private IP만 있는 상황) 이 상황에서 AWS SDK를 통해 AWS Batch를 수행했는데... Timeout이 나면서 수행이 안된다. 도대체 무슨 일일까? 처음엔 IAM Role 문제 인줄 알았는데,, 아니었다. Public IP가 없으면 Internet 을 통해 외부로 요청이 불가한 것이었다. 차라리 Private Subnet 통해서 NAT - Internet Gateway로 갔으면 NAT의 Public IP를 달고 외부와 통신이 됐을 텐데.. IP 대역이 서로 다른 네트워크가 통신하려면 2개 중 하나를 만족해야 한다. 1. 서로 상대방의 IP 대역을 알고 있거나 - 가는 길을 알려줘야 하기 때문에 라우터를 ..

Cloud/AWS 2021. 6. 17. 18:40
AWS CDK로 ECS Fargate Service CI/CD 만든 회고

CDK에서 원하는 배포 환경으로 배포하기 위해 나는 ID를 바꾸는 Practice를 가장 많이 쓴다. https://jhb.kr/419 [CDK] 배포 환경에 따라 다른 스택으로 배포하기 CDK로 스택을 배포 할 때 Dev / Test / Prod 등의 환경으로 배포 하기 위해 여러가지 방법이 있다. 여러 가지 방법 중 핵심이 되는 것은 결국 '스택의 아이디를 배포 환경에 맞추어 바꾸어 준다'는 것이 jhb.kr 그러면 Service와 CI/CD에 대한 스택은 어떻게 구성하는게 좋을까? 처음에 나는 서비스 생성 자체는 ecs_patterns.ApplicationLoadBalancedFargateService 를 사용하였고, 이를 ServiceStack${env}이라 두고, 이를 관리하는 CI/CD를 Se..

Cloud/AWS 2021. 6. 17. 18:28
AWS CLI 출력을 필터링 하기

codebuild 같은 CI/CD의 빌드 도구를 다루다 보면 aws cli 로 부터 결과값을 사용해야 할 때가 종종 있다. json으로 출력 후 jq 를 통해 파싱해서 쓰는 방법도 있지만, 애당초 aws cli의 결과물을 그대로 필터링해서 쓰는 방법도 있다. 쉬운 예제는 아래와 같다. AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) 더 자세한 내용은 아래의 레퍼런스를 참고하자 https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-usage-filter.html AWS CLI 출력 필터링 - AWS 명령줄 인터페이스 지정한 출력 유형에 따라 --query 옵션 작동 방..

Cloud/AWS 2021. 5. 17. 20:48
AWS ECS 강좌

https://cicd-pipeline-cdk-eks-bluegreen.workshop.aws/en/ecsbg.html cicd-pipeline-cdk-eks-bluegreen Using CodeDeploy ECS Blue/Green Note: This is an bonus section to be completed as a stretch goal. Now that we understood the Blue/Green deployment concept in EKS, we will deploy a new environment using the native Blue/Green deployment feature of AWS CodeDe cicd-pipeline-cdk-eks-bluegreen.workshop.a..

Cloud/AWS 2021. 5. 16. 22:00
AWS Private Subnet과 VPC S3 Gateway Endpoint 연결 문제

Private Subnet에 배포된 EC2 인스턴스가 S3에 Gateway Endpoint를 통해 연결해야 하는 요구 사항을 처리해야 했다. 당연히 인터넷 망을 타면 안되는 상황이었다. 그리고 당연히 S3의 기본 정책은 Block Public Access On 인 상태. AWS SDK에서 제공하는 s3의 GetObject API를 사용하는건 전혀 문제가 되지 않았다. AWS SDK에서 접근 하는 것은 EC2의 InstanceRole Credential 정보를 담고 나가기 때문이다. 문제는, AWS SDK 없이 curl, wget, ffmpeg 등이 standalone application을 통해 S3의 주소로 접근 하려 할 때 문제가 발생했다. 일단, S3 주소는 크게 아래의 두가지가 존재한다. s3.a..

Cloud/AWS 2021. 5. 11. 01:04
AWS STS get-federation-token과 get-session-token 차이

get-federation-token $ aws sts get-federation-token --name test { "Credentials": { "AccessKeyId": "ASIAU2YLFTR7ALYQWKL2", "SecretAccessKey": "pffWqq0UIbukJ0foBYxQ1Q+WpCfIapojN1MvCLgE", "SessionToken": "IQoJb3JpZ2luX2VjEAMaDmFwLW5vcnRoZWFzdC0yIkcwRQIhAJuho9YXm0q9eLX2ju7ZVX7TXnOdMIJvks96fZIFeLhMAiAJAgcuyE43fBS8wCronDADWzpiAVIsQ0xbeiVT9szwcCqDAgiN//////////8BEAEaDDMzMjM0NjUzMDk0MiIMrkO+6hagUL01xvnW..

Cloud/AWS 2021. 5. 11. 00:46
[CDK] 배포 환경에 따라 다른 스택으로 배포하기

CDK로 스택을 배포 할 때 Dev / Test / Prod 등의 환경으로 배포 하기 위해 여러가지 방법이 있다. 여러 가지 방법 중 핵심이 되는 것은 결국 '스택의 아이디를 배포 환경에 맞추어 바꾸어 준다'는 것이다. 예를 들어 FooStack이 있을 경우 new FooStack(app, `FooStack-${env}`); 와 같은 형태로 Stack의 ID를 정해놓고, env값을 dev, test, prod 로 각각 배포하면 FooStack-dev FooStack-test FooStack-prod 이렇게 3개의 스택이 생성된다. (당연히 스택 내의 리소스 생성시 리소스의 name을 배포 환경에 관계 없이 고정하는 행위는 절대 하지 말것... 예를 들면 Lambda Function의 이름이..

Cloud/AWS 2021. 5. 2. 23:57
이전 1 2 3 4 5 ··· 47 다음
이전 다음
공지사항
최근에 올라온 글
  • Serverless로 E-Commerce 만들기 ⋯
  • 갑자기 RDS CPU 점유율이 100%를 쳤다.
  • DDB Singletable 디자인
  • AWS CLI v2 에서 명령어 출력이 새 창으로⋯
최근에 달린 댓글
  • 안녕하세요~ GridCtrl 을 사용중이시라면 Ctrl⋯
  • 혹시 스태틱으로 GridCtrl 사용해서 목록이있는 그⋯
  • 헉 안돼서 계속 윈도우로만 했는데 감사합니다 복받으세용
  • 글 잘 읽고 갑니다~
Total
854,497
Today
3
Yesterday
159
링크
  • Kaspyx - Hacking
  • JHB LinkedIn
  • Dive into Deep Learning
TAG
  • winapi
  • 리눅스
  • driver
  • Visual C++
  • jni
  • android
  • db
  • 음악
  • NDK
  • Cloud
  • algorithm
  • it
  • C
  • kering
  • Troubleshooting
  • gcc
  • source
  • AWS
  • C++
  • Quiz
  • linux
  • java
  • Python
  • 드라이버
  • API
  • jni강좌
  • 안드로이드
  • database
  • MFC
  • 프로그래밍
more
«   2023/03   »
일 월 화 수 목 금 토
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
  • 2022/03 (1)
  • 2021/11 (1)
  • 2021/10 (1)
  • 2021/09 (1)
  • 2021/08 (1)

Blog is powered by Tistory / Designed by Tistory

티스토리툴바