일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- elasticsearch
- error
- Ai
- docker
- logstash
- Python
- mariadb
- MSSQL
- unity
- 엘라스틱서치
- MySQL
- JavaScript
- Windows
- ChatGPT
- Git
- AWS
- Linux
- 유니티
- API
- s3
- 설정
- sample
- build
- 구글
- 영어
- ssh
- Kibana
- JS
- nodejs
- Today
- Total
목록개발 이야기/인프라 구축 및 운영 (95)
가끔 보자, 하늘.
이번에 Jenkins + ECS로 CI/CD를 구축하면서 겪었던 삽질을 정리해 보았습니다. 부디 이 글을 보시고 같은 삽질 덜 하시길 바랍니다. "Hello"라는 텍스트를 돌려주는 간단한 API 서비스를 만들고 배포하는 과정을 살펴보려 합니다. 아래와 같은 절차, 인프라를 구성해 볼 예정입니다. 작업할 순서는 다음과 같습니다. 계정 생성 ECR 등록 Jenkins 설정 및 배포 ECS 구축 서비스 시작하기 1. 계정 생성 우선 사용할 계정을 하나 생성하겠습니다. CD에 사용할 계정은 인프라 관리를 위한 중요 권한을 할당해야 하는데, 안쓸때도 권한을 유지하기 보다는 AssumeRole을 이용하여 CD 시에만 일시적으로 권한을 할당하여 사용하도록 하겠습니다. "사용자 권한"은 별도 설정을 하지 않고 완료합니..
An error occurred (AccessDenied) when calling the AssumeRole operation : User: arn:aws:iam::**************:user/ar_user is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::**************:role/test_role 위와 같은 에러는 두 가지 경우에서 발생할 수 있다. 첫 번째는 할당하고자 하는 role 이 없을 때. 에러 메세지가 권한이 없다고 나와서 애매한데 오타 등으로 이름을 잘못 지정하거나 삭제된 role을 할당하려고 할 때 위와 같은 에러를 볼 수 있다. 두 번째는 "신뢰 관계" 설정이 안되어 있을 때. 해당 role ..
CI/CD의 필요성은 이미 너무 잘 알려져 있으므로 잡설은 뒤로하고 바로 구축 절차를 살펴 보겠습니다. 별도 서버가 아닌 별도 PC 혹은 자신의 PC에 필요한 제품과 자신의 서비스를 docker로 실행할 수 있도록 다음과 같은 순서로 알아보겠습니다. 시스템 설정 Docker Desktop 설치 Docker 이미지/컨테이너 살펴보기 Jenkins로 서비스 자동 배포하기 [ 시스템 설정 ] 1. BIOS에서 Virtualization Technology 항목은 기본으로 "Disabled"로 설정되어 있으며, 이를 "Enabled"로 변경합니다. 2. Windwos 기능 켜기/끄기에서 Hyper-V / 가상 머신 플랫폼을 활성화합니다. [Git/Jenkins 설치 참고 링크, Jenkins 한글 깨짐 현상 참..
>> EPEL(Extra Packages for Enterprise Linux) 저장소 활성화하기 https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-enable-epel/ >> 원격접속을 위한 키 발급 및 설정 EC2는 기본적으로 생성 시 발급한 공개키를 사용하여 원격접속 할 수 있도록 설정되어 있습니다. EC2에 키 페어를 설정하는 방법은 아래와 같습니다. EC2 생성 전에 키 페어로 가서 ... "키 페어 생성" 버튼을 눌러 ppk를 생성합니다. 이때 비번 설정은 없으니 참고하세요. EC2 기본 설정을 완료 후 시작을 누르면 키 페어 설정 화면이 나옵니다. 여기서 새로 생성할 수도 있으며 생성된 키 페어를 설정할 수 있습니다. 키 페어가 변..
신규 노드를 추가하면서 elasticsearch에 repository-s3 plug-in 설치 하는걸 잊어 버렸더니 아래와 같은 에러가 발생하기 시작했습니다. { "snapshot" : { "snapshot" : "snapshot_name", "uuid" : "vQeYKiYaTaq0rOiGXbjQEQ", "version_id" : 7110099, "version" : "7.11.0", "indices" : [ "my_index" ], "data_streams" : [ ], "include_global_state" : true, "state" : "PARTIAL", "start_time" : "2021-06-09T05:57:10.373Z", "start_time_in_millis" : 16232182303..
8 버전부터는 Kibana의 Stack Monitoring이 기존 방식으로 지원하지 않는다고 메세지가 떠서 Metricbeat를 설치해 Monitoring 설정을 진행했습니다. Self-managed(On premise)로 운영중인 세 대(172.31.1.10 ~ 12)의 Elasticsearch의 모니터링을 위해 별도 시스템 혹은 기존 시스템에 metricbeat를 설치하여 모니터링 한다고 가정합니다. 그리고 시스템 로그는 추가하지 않게 설정해 보겠습니다. Metricbeat는 실행을 위해 root 권한이 필요합니다. 1. 설치 > curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.11.0-linux-x86_6..
주로 윈도우나 맥을 사용하다보니 환경 변수 세팅하는데 별로 신경을 안썼는데 리눅스에서는 거의 사용해 본 적이 없어 이번에 정리를 해봤습니다. elasticsearch node를 재가동 할 일이 있었는데 시스템 재기동 후 jdk 폴더를 못 찾는 경우가 발생했습니다. openjdk를 포함했고 설치하면서 초기 설치 시 세팅이 되는 것으로 아는데... 의아했지만 모두들 ES 정상화를 기다리고 있어 일단 바로 세팅하기로 했습니다. elasticsearch(7.x 이상)에 포함된 jdk는 elasticsearch폴더안에 jdk 폴더에 포함되어 있습니다. /etc/profile 에 환경 변수를 세팅할 수 있으며 jdk 폴더 경로를 아래와 같이 추가했습니다. > vi /etc/profile . . . export JA..
이전에 클러스터 구축에 대한 내용을 정리했는데, 오늘은 이중화 구성을 정리해 보겠습니다. 클러스터로 구성하는게 이중화 구성 보다는 많은 장점이 있다고 생각하지만 쓰임새에 따라 필요한 경우도 있어서 정리를 해봤습니다. 이중화를 구성하는 여러 방법들이 있지만 여기서는 가장 심플한 구성의 이중화를 정리해 보겠습니다. 지금부터 master db를 M, slave db를 S라고 지칭하겠습니다. Replication 절차 mariadb(mysql)은 이중화 과정을 살펴보면 M에 event가 발생하면 M은 S와 복제를 위해 생성해둔 binary log file에 DB업데이트와 동시에 기록을 해둡니다. 그리고 S는 자신이 M의 binary log 몇 번째 위치의 데이터를 마지막으로 가져왔는지 기록했다가 M의 binar..