본문 바로가기

전체 글206

[Network] VPN에 대한 원리, 오해와 진실 오래전부터 VPN 관련 이야기를 해보고 싶었지만 여력이 없어 포스팅하지 못했다. 그래서 이번 포스팅은 VPN에 대한 오해와 진실 그리고 좀 더 자세한 원리에 대해 알아보도록 하겠다. 목차 VPN의 원리 게임용 VPN의 대한 오해와 진실 1. VPN의 원리 먼저 VPN은 모두가 다 알다시피 암호화/터널링이 대표적이다. 클라이언트에서 행하는 모든 것들을 암호화 하고 VPN 서버를 통해 전송하여 ISP에 대한 정책에 대해서 우회할 수 있고 또한 터널링을 통해 라우팅 하여 LAN TO LAN 송수신을 할 수 있는 것이 특징이다. 여기까지는 모두가 상식적으로 아는 사실이고 좀더 구체적인 원리를 살펴보자. 1. VPN을 이용하면 ISP측에서 클라이언트에서 발생되는 트래픽이 무엇인지 알 수 없는 이유는 기본적으로 외.. 2024. 4. 18.
철권8 자동 스코어 봇 개발 (Feat. AWS) 결과물 제작 동기 디스코드에서 친구들과 철권을 하면서 10선을 주로 하는데 스코어를 직접 수정하면서 게임을 하려니깐 매우 불편했다. 그래서 철권에서 이기거나 졌을 때 뭔가 자동적으로 스코어를 올려주는 프로그램이 있으면 굉장히 편하겠다는 생각에 제작하게 되었다. (롤 같은 Riot api같이 철권에서도 좀 제공해줬으면 하는 생각..) 인프라 한창 AWS를 다루고 있기에 서버리스 아키텍처로 만들어보고 싶었다. 디스코드 클라에서 커멘드를 전달하는 과정은 구동중인 서버가 필요하기 때문에 집에 있던 라즈베리 서버로 구축했다. 게임에서 이긴장면 식별을 판단하는 Python 클라이언트에서는 boto3(AWS SDK)를 통해서 DB와 상호작용. 구축 인프라는 어떤식으로든 가능하다.(클라이언트 자체에서 Discord A.. 2024. 4. 2.
[AWS]18. Lambda 프록시 통합과 비프록시 통합의 간단한 차이점 프로젝트를 진행하던 중 PHP 클라이언트에서 API Gateway URL(POST)로 데이터를 전송해야 하는 작업을 하고 있었는데 계속 오류가 반환되어 몇 시간 동안 헤매었었다. 오류라고 하기도 좀 그런 게 코드 자체는 정상적으로 돌아가지만 DynamoDB에 데이터가 저장되면 값이 None, null 형식으로 저장되는 것이다. 그래서 항상 그렇듯이 무조건 데이터 형 변환 또는 인코딩 등에 대한 문제로 파악이 되어 여러 뻘짓을 몇 시간 동안 했었다. response = table.put_item( Item={ 'idx': body['idx'], ------------------> str( body['idx'] ), 'score': body['score'] } ) 저런 식으로 문자열로 바꿔보기도 하고 뭐 이.. 2024. 3. 29.
[AWS]17. 웹 Serverless Architecture 구성 목차 DynamoDB 생성 Lambda 함수 생성 DynamoDB Stream 이벤트 트리거 추가 API Gateway 생성 결과 확인 및 원리 * SNS 솔루션 등 구체적인 생성 방법이나 IAM 권한 정책 할당은 생략함 1. DynamoDB 생성 파티션 키 타입은 테이블 목적에 따라서 설정하면 된다. (다른 구체적인 설정이 필요하면 클래스 선택(standard, standard-IA) 하면 됨) 이후에 이제 DynamoDB Stream을 생성해야 하는데 먼저 Lambda 함수를 생성해줘야 한다. 2. Lambda 함수 생성 import json from decimal import Decimal import boto3 REGION = 'ap-northeast-2' dynamodb = boto3.resou.. 2024. 3. 19.
[AWS]16. S3 업로드 이벤트 트리거 Lambda 함수로 SNS 필터 [AWS]15. OwnCloud와 S3 연동 (feat. SNS Topic) 필요하다고 느낀 점: 프로젝트를 진행할 때 서로 작업했던 내용을 합치면서 진행해야 하는데 직접 만나서 하지 못하는 경우에는 단톡방에서 파일을 첨부했다는 메시지를 계속 보내면서 작업해 jamong1014.tistory.com S3 업로드 이벤트 발생 시 SNS 솔루션을 통해 업로드 로그 기록을 받을 수 있었다. 하지만 가독성이 너무 안좋아 필요한 정보만 뽑아서 보기 위해서는 Lambda 함수를 통해 필요한 부분만 필터링하는 것과 SNS를 보내는 코드를 작성하고 이벤트 트리거로 S3 버킷을 연동해줘야 한다. SNS 프로토콜은 SMS가 지원되는 리전으로 바꾸어서 진행하였다. 목차 Lambda 함수 정책 생성 Lambda 생성 이벤트 .. 2024. 3. 13.
[AWS]15. OwnCloud와 S3 연동 (feat. SNS Topic) 필요하다고 느낀 점:프로젝트를 진행할 때 서로 작업했던 내용을 합치면서 진행해야 하는데 직접 만나서 하지 못하는 경우에는 단톡방에서 파일을 첨부했다는 메시지를 계속 보내면서 작업해야 하는데 이것이 은근 번거롭다 생각하여 구축한 솔루션 프로젝트 작업 클라우드는 S3 스토리지를 확장하여 OwnCloud로 제공하고 S3 파일 업로드 시 이벤트 알림을 통해 SNS 프로토콜(SMS, EMAIL, HTTP, HTTPS, SQS 등등)로 업로드 이벤트 로그를 전송할 수 있음. 목차OwnCloud설치 및 Cloudflare 적용 (생략)IAM 사용자 정책 설정(access/secret key 발급)OwnCloud에서는 S3 외부 스토리지가 files_external 앱에 번들로 제공되지 않기 때문에 Market에서 따.. 2024. 3. 13.