분류 전체보기 40

Troubleshooting - ERR_CONNECTION_RESET 해결 기록

개발계에 신규 Application 배포 중 로컬에서는 정상적으로 접근이 되는데, 외부에서는 정상적으로 접근이 되지 않는 현상 (ERR_CONNECTION_RESET)이 발생되어 이를 해결한 내용을 기록해놓고자 한다. 트래픽 흐름은 LB → WAF → VM 순서로 트래픽이 흐르게 된다. 1. ERR_CONNECTION_RESET? 이 외국계 블로그에 따르면 ERR_CONNECTION_RESET은 Browser가 정상적인 패킷 대신 FIN Packet을 받아서 발생하는 것이라고 한다. 구글에 검색해보면 일반적으로 브라우저단에서 처리하는 해결방법이 나오는데, 이번 사례는 브라우저단에서 해결할 수 있는 내용이 아닌 것 같아 관련된 내용은 생략한다. 2. 서버에서는? 서버에 와이어샤크를 설치하고 특정 TCP S..

Study 2021.02.02

AWS Console에 들어가지 않고 EC2 Instance 기동시키기

목차 개발을 위해서 EC2 위에 인스턴스를 두고 매일 Stop, Start를 하고 있는데, 이 시간이 일정치 않아 매번 AWS Console에 들어가서 서버를 수동으로 실행시켜야 하는 번거로움이 있었다. 이번에는 그런 번거로움을 해소하기 위해 AWS의 서비스인 Lambda와 API Gateway를 활용하여 EC2 기동을 자동화해보고자 한다. 1. Lambda 생성 # IAM Role 최초 Lambda 환경 생성 시 "기본 Lambda 권한을 가진 새 역할 생성"으로 역할을 생성한 후 Statement에 아래 문구를 추가해준다. { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "ec2:StartInstances", "Resource": "*" }, # La..

Cloud/AWS 2021.01.26

Troubleshooting - Iometer 사용법

금번에 Windows 에서 디스크 IOPS 성능을 측정할 일이 있어 사용할 툴을 찾다가 발견한 툴이다. 리눅스 같은 경우 sysbench와 같은 툴을 사용하면 되는데, Windows에서는 sysbench가 지원되지 않아 Iometer를 사용해보았다. (※novabench 라는 대체 툴이 있다고는 하는데, 실제로 수행했을 때 호환성이 문제인지 Windows 2012 R2 에서 정상적으로 동작하지 않았다.) 1. 개요 아래의 공식홈페이지에 나와있는 설명과 같이, 시스템의 I/O를 측정해주는 툴이다. Iometer is an I/O subsystem measurement and characterization tool for single and clustered systems. 2. 지원되는 플랫폼 버전 1.1..

[UML] Use Case Diagram의 기호 및 표기법

최근 UML 이라는 것을 접하게 되어 이 중 Use Case Diagram에 대해 간단히 내용을 정리해놓고자 한다. 거의 모든 출처는 uml-diagrgams.org 이다. 1. UML UML이란 Unified Modeling Language의 약자로, 통합 모델링 언어라는 뜻이다. 이는 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어이다. 위키피디아에 따르면, "통합 모델링 언어는객체 지향 프로그래밍소프트웨어 집약 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화할 때 사용한다."고 한다. 2. Use Case Diagram 말 그대로 실제 사용 사례를 도식화 한 것으로, 시스템과 실제 사용자의 관계를 표현한 것이다. Use Case Diagram은 일반적으로 시스템(주체)이 한 명 이상의 ..

카테고리 없음 2021.01.01

[python] asyncio로 boto3 실행시키기 (부제 : asyncio란?)

boto3를 비동기적으로 사용할 수 있는 방법이 있는가에 대해 열심히 찾아보았으나, 결론적으로는 Threadpool 기반의 MultiThread로 실행해야 함을 깨닫고 asyncio와 관련된 내용을 정리해놓고자 한다. 내용은 주로 "파이썬답게 코딩하기"를 참조하였으며, 이 외에는 공식 Document를 상당부분 참조하였다. 1. 비동기 논블록 방식의 시작 - concurrent.futures asyncio 이전에 개발된 멀티 스레딩/프로세싱을 고도화한 모듈이다. 비동기논블록 방식을 스레드와 프로세스로 구현하였다. 멀티 스레딩/프로세싱에서 데몬으로 작업을 실행시킨 것과 유사한 개념이라고 한다. 내부적으로 크게 Executor와 Future, 그리고 Module Functions이 있다. 1.1.1. Exe..

Programming/Python 2021.01.01

[NW] Network Troubleshooting tools - mtr, iperf3

최근 네트워크 성능지표 측정을 위한 툴인 mtr과 IPerf3를 사용할 일이 생겨 각각에 대해 용도와 사용방법 등에 대해 기재해놓고자 한다. 1. mtr 개요 My Traceroute의 약자로, traceroute와 ping을 합쳐놓은 네트워크 진단 툴이다. traceroute와 같이 목적지까지 가기 위해 거쳐가는 network hop을 표시해주면서, 각각의 hop 마다 기본적인 통계치를 표시해준다. (Packet Loss, Send Count, Latency) traceroute와 같은 이러한 네트워크 추적 툴은 ICMP Time Exceed packets이 돌아오는 것을 보거나, ICMP Echo Reply packet을 통해 각 hop에 위치한 라우터의 IP를 가져올 수 있다. TCP로 tracer..

RabbitMQ 구성하기 (Feat. Docker)

오늘은 메시지 큐 미들웨어 중 하나인 RabbitMQ에 대해 내용을 정리하고자 한다. RabbitMQ란? RabbitMQ는 오픈 소스 메시지 브로커 소프트웨어(메시지 지향 미들웨어)로서, AMQP를 구현하였으며 그 이후로 STOMP ,MQTT 등의 프로토콜을 지원하기 위해 플러그인 구조와 함께 확장되고 있다. 메시지를 생산하는 생산자(Producer)가 메시지를 큐에 저장해 두면, 메시지를 수신하는 소비자(Consumer)가 메시지를 가져와 처리하는 Publish/Subscribe 방식의 메시지 전달 브로커이다. by Wikipidia RabbitMQ Routing Diagram 1) 메시지는 exchange로 publish된다. 2) exchange는 binding에 따라 메시지를 queue로 분배한다..

카테고리 없음 2020.12.15

[AWS] 10분만에 읽는 AWS AppStream2.0

AppStream2.0 Appstream2.0은 AWS에서 제공하는 SaaS 솔루션 중 하나로, 애플리케이션 스트리밍 서비스를 제공해준다. 일반적으로 많이 사용하는 VDI(AWS의 경우 WorkSpace)와 매우 유사하나, 설치가 번거롭고 다양한 장치에서 접근해야 하는 경우 (예 : 설계 프로그램 등)에서의 활용도가 더 높을 것으로 보인다. ※ 최근 AWS에서는 AppStream에 Desktop Mode를 구현하였다. 기존의 Application Mode는 데스크탑 접근이 불가하여 프로그램이 죽었을 때 작업관리자를 통한 제어가 불가능하여 세션을 아예 재시작해야 하는 문제 등이 있었는데, 이러한 문제점을 보완하고자 한 것으로 보인다. 다만 보안과의 Trade-off는 고려해보아야 할 사항일 것 같다. Su..

카테고리 없음 2020.12.01

[AWS] VPN 기본 용어/개념 정리

AWS Site-to-Site VPN 운영 시 알아야 할 기본용어 및 개념 정리, 지속 업데이트 예정 IPSec VPN 3계층(IP계층)에서 동작하는 터널링 프로토콜 - 헤더 프로토콜로 AH(Authentication Header)와 ESP(Encapsulation Security Payload)가 있음. * Transport Mode : IP 헤더는 그대로 이용하며 나머지 데이터 부분만 보호 * Tunnel Mode : IP 패킷 전체를 보호하면서 그 위에 새로운 IP 헤더를 추가 터널링 IKE (Internet Key Exchange) protocol used to set up a security association (SA) in the IPsec protocol suite. 통신에 사용할 암호화 ..

카테고리 없음 2020.11.30

Zabbix 5.0 Install With Ubuntu 20.04

Zabbix 공식홈페이지를 따라하면 무난하게 설치할 수 있다. 다만, 중간중간 막히는 부분이 있어 이 점을 메모해두고자 한다. 1. 수행 명령어 모음 # 설치 명령어 wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb dpkg -i zabbix-release_5.0-1+focal_all.deb apt update; apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent # SSL MODE Disable 접근 mysql -h mysql -u user -p --port po..

Cloud/AWS 2020.11.02