본문 바로가기

Other Service

(10)
[이론] 라이선스 적용 (BYOL) 2023년 9월부터 2024년 4월까지 프로젝트를 수행하고 복귀하였습니다. 블로그 작성 시 노션이 편리하다고 판단하여 향후에는 노션에서 블로그 작성할 예정입니다.  "[이론] 라이선스 적용 (BYOL)"를 보고 싶으시면 아래 링크를 클릭하여 주세요https://encouraging-firewall-932.notion.site/BYOL-432038f098e741bb8fcd1031121eabb9?pvs=25
[Tip] Amazon EC2 또는 Lambda 함수에서 SMTP 포트 25 해제 프로세스 안녕하세요 서후아빠입니다. ^_^ 이번 세션은 AWS에 요청 시 필요한 역방향 DNS 레코드에 대한 이해도가 부족하여 정리한 내용입니다. 구성도 DNS 레코드 테이블에서 mail1, mail2는 이해를 돕기 위해 작성된 부분이며, 실제 역방향 DNS 설정은 다를 수 있습니다. 역방향 DNS 설정 이유 메일 발송이 실패한 대부분 이유는 상대방 메일 서버의 스팸 정책에 의해서 거절된 경우입니다. 역방향 DNS 조회가 불가능하면 현재 많은 RBL 서버 등에서는 스팸으로 보는 경향이 있습니다. 1단계 : 역방향 DNS 설정 AWS Pub IP(ex : 100.0.0.10~11)를 수신 메일 서버 담당자에게 전달하여 역방향 DNS 설정하도록 요청합니다. ※ Record(ex : mail1, mail2) : 상호 ..
[실습] Amazon SES와 postfix 통합하고, mailx 이용하여 메일 발송하기 안녕하세요 서후아빠입니다. ^_^ 이번 세션은 Amazon SES(Simple Email Service)을 사용하는 방법에 대해서 실습해 보도록 하겠습니다. 메일 발송 프로세스는 mailx(CentOS 기준)을 사용하였고, postfix는 SES와 통합하여 Relay 역할을 수행하도록 구성하였습니다. 개발자가 송신 메일 서버를 코딩하는 경우는 SMTP 포트(587 or 25)를 사전에 정의하고, 1, 3단계만 진행한 후, 3단계에서 다운로드한 Credentials csv파일을 개발자에게 전달하기만 하면 됩니다. 만약 개발자가 SMTP 포트를 25를 사용한다고 하면 AWS Support에 Port 25 허용 요청을 별도로 진행해야 하기 때문에 가급적 협의하여 Port 25를 사용하지 않는 방향으로 진행하시..
[Tip] Support Center 사용하는 방법 안녕하세요 서후아빠입니다. ^_^ 이번 세션은 설정도 제대로 한 것 같은데, 서비스는 비정상인 경우, AWS에 문의하는 방법에 대해서 알아보도록 하겠습니다. 예시 상황 Site-to-Site VPN을 구성하고 서비스 연결을 하였더니, 1개는 정상이고, 1개는 비정상인 경우입니다 Case Open 1단계 : Support Center > Support plan: Basic > Change > Business 이상으로 변경(유료) 2단계 : Support Center > Open support cases 우측의 Create case How can we help? Additional information Solve now or contact us Choose : Technical (or Account and ..
[실습] Amazon MQ 구성하기 (ActiveMQ) 안녕하세요 서후아빠입니다. ^_^ 이번 세션은 Amazon MQ에서 ActiveMQ를 MQTT.fx를 사용하여 테스트하는 실습을 해보겠습니다. producer(MQTT.fx)부터 Broker(ActiveMQ) 통해서 comsumer까지 연결되는 구성은 아님을 양해 바랍니다. 1단계 : Broker 생성 Amazon MQ > Brokers > Create brokers Select broker engine Select deployment and storage type Configure settings Select broker engine : Apache ActiveMQ Deployment mode : Active/standby broker Storage type : Durability optimized D..
[이론] Amazone MQ (Message Queue) 기본 개념 안녕하세요 서후아빠입니다. ^_^ 이번 세션은 MQ에 대해서 업무적으로 필요한 최소한의 개념에 대해서 간단히 정리해 보았습니다. MQ (Message Queue) 메시지 기반의 미들웨어, MOM(Message Oriented Middleware) 구현한 솔루션 비동기 메시지를 사용하는 서비스들 사이에서 데이터 교환 역할 동기식 통신 방식은 요청받은 메시지 전부 처리할때까지 요청에 대해서 blocking 상태가 되지만, 비동식 통신 방식은 queue에 넣어 놓으면서 요청은 계속 받을 수 있다. 종류 구분 Apache ActiveMQ Rabbit MQ IBM MQ Kafka 비용 오픈소스 오픈소스 상용 오픈소스 기반 자바기반 JMS 큐지원 Erlang OTP 기반 표준 JMS 메시징 기반 메시지 헤더 통한 ..
[실습] AWS CLI 설치 및 CLI 로그인 방법 알아보기 안녕하세요 서후아빠입니다. ^_^ AWS 작업 중 심심치 않게 AWS CLI 접속을 해야 하는 상황이 발생되는데요 이번 세션은 AWS CLI를 설치하고 로그인하는 방법에 대해서 알아보도록 하겠습니다. 1단계 : AWS CLI 설치 # 인터넷이 되는 작업 PC or EC2에서 꼭 user권한으로 진행하시기 바랍니다. curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install 2단계 : IAM 사용자 (신규 생성하는 경우) IAM > Users > Add users 구분 Set user details Set permissions 내용 User name :..
[Tip] 고정 IP를 제공하여 Amazon EMR을 생성하는 방법 알아보기 안녕하세요 서후아빠입니다. ^_^ 이번 세션은 Amazon EMR을 생성할 때 고정 IP로 생성이 되도록 하는 조치에 대해서 알아보도록 하겠습니다. EMR 클러스터는 EC2와 같은 일시 중단 기능 미지원하며, 비용 이슈로 사용할 때만 배포해야 하는 상황입니다. 그런데 문제는 EMR 생성 시마다 IP가 변경되었고, BI 도구가 EMR 클러스터의 HIVE에 접속할 때 IP 변경 작업을 후속으로 취해야 한다는 것입니다. 그에 따라 AWS 프리미엄 지원 가이드 콘텐츠를 보면서 EMR을 생성할 때 고정 IP를 할당하도록 설정하는 과정입니다. Assign a static private IP address to the master node of an Amazon EMR cluster I want to create a..
[이론] Amazon API Gateway 기본 개념 안녕하세요 서후아빠입니다. ^_^ 이번 세션은 AWS API Gateway에 대해서 업무적으로 필요한 최소한의 개념에 대해서 간단히 정리해 보았습니다. 업무적으로 자료 갱신이 생기면 그 내용을 등록하도록 하겠습니다. 통합 시간제한 Amazon API Gateway 할당량 및 중요 정보 > "REST API 구성 및 실행에 대한 API Gateway 할당량" - "통합 시간제한" : API Gateway가 백엔드에 요청을 중계하는 시점과 백엔드로부터 응답을 수신하는 시점 사이의 시간 - "통합 시간제한" 항목의 "하한 또는 상한에는 해당되지 않음" 이라는 말의 의미 : Hard Limit(변경 불가) - "통합 시간제한" 변경 범위 : 설정 가능한 범위는 50ms ~ 29s, 기본값은 29s - "통합 시..
[Tip] AWS 오류 메시지 (Error message) 디코딩 (Decoding) 방법 알아보기 안녕하세요 서후아빠입니다. ^_^ 이번 세션은 AWS에서 작업 중 발생하는 오류 메시지를 Decoding하는 방법에 대해서 알아보겠습니다. 한번씩 발생하는 오류가 암호화되어 있어서 불편한데요. 왜 굳이 AWS CLI로 복호화해야 하는지 궁금하긴 하네요. 작업 시 발생한 인코딩 메시지 예시 "B8c6xYUKWUgYk9et2-n9mobeucBRPW2cgpif31_wvL83YzbDsgX8eJa-kaha5S5jYvhcRVKOvFl2FUUEiD4VdMjgD6JbMrnZcGiAWtXQ4dFcGNksge2aySyzgYYhgsVF9xERwsmhb0GL1kjNzbqt4e3_vwkjIRippZHgh7HfPwCwDl_ylq0XbWLHPNAO8TI8P1oblm9mTtYiGWsBNXhU355R8AaiOxMe1BlrKQGLvoj..