일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MSSQL
- 구글
- logstash
- SSL
- JS
- 설정
- mariadb
- 유니티
- Linux
- JavaScript
- API
- AWS
- docker
- error
- unity
- Windows
- React
- nodejs
- MySQL
- Kibana
- ssh
- 영어
- Python
- ChatGPT
- elasticsearch
- s3
- Ai
- build
- sample
- Today
- Total
목록개발 이야기/인프라 구축 및 운영 (94)
가끔 보자, 하늘.
일반적으로 시스템 부팅 후 자동으로 시작되도록 서비스를 등록할 때 systemctl 혹은 init.d 스크립트 등록하여 사용합니다. systemctl 혹은 init.d 스크립트를 등록하는 방법이 쉽지많은 않으며, 혹시 해당 서비스에 문제가 발생할 경우 서비스가 다운되면 다시 시작되지 않는 문제도 있습니다. 이를 해결하기 위해 upstart 같은 프로그램을 사용하여 간단히 해결할 수 있습니다. 하지만 이마저도 각 서비스 별로 별도 등록, 관리해야 합니다. 만약 당신이 pm2를 사용하여 Node.js로 제작된 서비스를 관리하고 있다면 위의 모든 문제를 손쉽게 해결할 수 있습니다. pm2에 서비스를 등록, 중단, 삭제하는 방법은 아래와 같이 간단합니다. pm2 start your_app.js >> 서비스 등록..
Redis와 같은 VPC 안에 EC2를 생성했다고 가정합니다. 다른 VPC에 있을 경우 VPC Peering 설정이 필요하며 이 내용은 곧 다시 업로드할 예정입니다. 일단 EC2에 redis-cli 설치를 위해 gcc를 설치합니다. redis를 별도 설치해되 되지만 ec2 에서는 redis-cli만 사용할 예정이니 redis 자체 설치를 하는 방법은 사용하지 않겠습니다. sudo yum install -y gcc redis-stable 버전을 다운받아 빌드를 해야 하니 임시 폴더 혹은 프로그램 빌드를 위한 별도 폴더를 만들어 작업하실것을 추천드립니다. wget http://download.redis.io/redis-stable.tar.gz && tar xvzf redis-stable.tar.gz && c..
scp(secure copy) 사용법을 정리해 보겠습니다. 원격지의 서버들은 모두 공인 IP를 가지지 않는 경우가 많고, 보안 문제로 접속하는 터미널 외에는 직접 연결이 안되는 경우가 대부분입니다. 원격지에 172.31.5.31 ~ 172.31.5.39 까지의 서버들이 있으며, 하나의 공인 IP를 통해 172.31.5.31로 접속할 수 있고, 31번으로 전송한 파일들을 32 ~ 39번 서버들로 복사해야 하는 상황을 가정해 보겠습니다. scp의 기본 사용법은 아래와 같습니다. scp [옵션] [[user@]host1:]file1 ... [[user@]host2:]file2 1:1 전송뿐만 아니라 n:n 전송도 지원됩니다. 또한 로컬 파일을 원격지로 보내거나 원격지의 파일을 로컬에 복사할 수 있으며, 원격지..
S3에 생성한 정적 웹사이트는 http로 만들어진 endpoint로 접속이 가능합니다. 사용자들의 보다 안전한 접속을 보장하기 위해 https를 적용하는 방법을 알아보겠습니다. 여담인데 S3에 있는 각각의 파일은 https로 접근이 됩니다. 그런데 정적 웹사이트는 https를 기본으로 지원되는지 않습니다. https에는 공급자에 대한 정보가 있어야 하지만 s3의 정적 웹 사이트는 사용자 도메인없이 제공되는 웹 사이트이기 때문에 제공되는 컨텐츠 자체의 책임 권한 문제 때문이지 않을까 생각됩니다. (혹시 정확히 아시는 분은 댓글 부탁드립니다.) 기존 사용하던 도메인의 서브 도메인이므로 기존 등록기관을 이용할 수 있을까 했는데 IP가 없고 endpoint만이 존재하기 때문에 불가합니다. 이를 위해 ACM(AW..
간혹 해킹을 당하거나 버그 등으로 네트웍 트래픽을 과도하게 유발하는 데몬이 있을 수 있습니다. 아래와 같은 방법으로 문제를 해결할 수 있으니 참고하시기 바랍니다. iptraf 으로 특정 포트에서 외부로 특정 주소의 6666포트로 데이터를 12MB/s로 트래픽을 발생하는 현상을 발견했다고 가정해 보겠습니다. (추가로 nload를 사용하면 in/outbound에서 어느 정도 트래픽이 발생하는 정리해서 보여줍니다.) (* iptraf-ng는 보다 편리한 인터페이스를 제공합니다.) iptables에서 ip 혹은 포트를 바로 막을 수도 있겠지만 그보다는 트래픽을 유발하는 데몬을 찾아 삭제하는 것이 좋습니다. 만약 긴급한 상황이라 먼저 막아야 하는 상황이라면 아래와 같이 지정한 포트 사용을 차단할 수 있습니다. i..
이 글의 일부는 AWS 공식 문서( 링크 )를 참고하였습니다. 단계별 상세 내용은 해당 문서를 참고하시기 바랍니다. 1. 도메인 등록하기 - whois.co.kr 등에서 도메인을 먼저 구매하세요. 도메인 네임은 알파벳과 숫자, 그리고 -(하이픈) 으로 구성할 수 있습니다. 도메인은 단순한 조합이 아닌 계층적인 구조로 이루어집니다. helloworld. co. kr(실제 생성 하실 때는 각자 원하는 이름으로 사용해야 합니다.)로 예를 들어보면... kr은 1단계로 최상위 도메인으로 국가도메인(kr, us 등)을 나타냅니다. co는 2단계로 해당 도메인을 운영하는 기관의 성격을 나타냅니다.(co: 기업 , or:비영리기관 등) helloworld 는 3 단계로 도메인 네임을 사용하는 기관이나 개인이 원하는 ..
DynamoDB에 대해서 내용은 이 링크를 꼭 한번 읽어보시길 권유 드립니다. 이 예제에서는 1:1 모델링에 적합한, 전달될 유저 ID를 분할키로 사용하고, info라는 키에 name과 phone 정보를 담아보겠습니다. DynamoDB에서 "test_db"라는 이름으로 테이블을 먼저 생성해 보겠습니다. 그리고 분할키의 이름은 "key"로 지정하겠습니다. 분할키에는 전달될 유저 ID를 지정하겠습니다. 정렬키도 별도로 추가하지 않겠습니다. 생성이 완료되었으면 바로 람다 함수를 추가해 보겠습니다. 함수명을 "save"라는 이름으로 생성합니다. aws-sdk 모듈은 바로 사용 가능해서, 아래 코드를 붙여서 바로 테스트 가능합니다. var AWS = require("aws-sdk"); AWS.config.upda..
최근 본격적으로 AWS에 서비스를 구축하면서 자잘하게 부딪혔던 작은 문제들을 정리하는 김에 저처럼 처음 접해보시는 분들께 도움이 되길 바라며 공개해 봅니다. 앞으로 몇 번에 걸쳐 간단한 샘플을 만들어보면서 실제 서비스 인프라를 구축하기 위해 어떤 과정들이 필요한지 하나씩 정리해 보겠습니다. 이번에 제작할 샘플은 REST API를 통해 Redis에 정보를 저장하는 과정을 만들어 보겠습니다. 서비스는 아래와 같이 구성해 보겠습니다. 작업은 크게 네 단계로 진행합니다. 1. VPC 구성하기 2. Redis 구성하기 3. Lambda 함수 제작 4. API Gateway 구성하기 따라하기 식으로 구성했으니 편하게 진행해 보시기 바랍니다. 바로 시작해 보겠습니다. 1. VPC(Virtual Private Clou..