본문 바로가기
반응형

전체 글296

리눅스 메인보드 변경 시 네트워크 설정 문제 문제 리눅스 서버(Centos)의 메인보드 문제로 인해 메인보드를 교체하였지만 기존 네트워크에 대한 설정을 가져오지 못하였다. 그래서 통신이 되지 않았다. eth 0, 1, 2 로 세팅을 해두었는데 메인보드를 교체하자 잡힌 것은 eth 3, 4, 5 였다. 해결 방법 70-persistent-net.rules 이라는 파일이 있다. 이 파일은 네트워크 NIC의 이름과 맥 주소 정보를 담고 있는 설정파일이라고 생각하면 된다. 메인보드를 바꾸게 되면 보드 교체로 인해 네트워크 정보와 맥 주소가 바뀌기 때문에 네트워크 연결에 문제가 생긴다. 이는 커널 2.6부터 udev 라는 디바이스 장치파일을 자동으로 등록해주는 시스템 관리 프로그램을 제공하기 때문이다. 장치를 추가하면 커널이 추가 여부를 감지한 후 새로운 .. 2023. 8. 14.
Linux ) tar란 무엇인가? 리눅스를 접하다 보면 tar 형태의 파일을 많이 접하게 된다. 그렇다면 tar란 무엇일까? tar 정의 tar란 여러개의 파일을 하나의 압축 형태로 묶거나 풀 때 사용하는 명령어이다. Type Archive의 줄임말로 우리가 흔히 아는 테이프를 저장한다는 의미이다. 과거에는 tar 자체를 백업 용도로 사용했었다. 그래서 데이터를 하나로 묶고 저장을 한 것이고 그래서 Archive라는 말을 쓰는 것이다. tar는 단순 아카이브 기능 즉 백업의 기능을 가지므로 완전히 똑같은 파일을 복사한 후 .tar로 묶이게 된다. 즉 묶이기 전 파일들의 속성과 링크, 디렉토리의 구조를 그대로 가져갈 수 있기 때문에 사용을 한다. tar 파일은 압축한다 라는 표현은 쓰지만 실제로는 데이터의 크기가 줄어들지는 않는다. 이는 .. 2023. 8. 13.
CentOS 7 사용자 관리 리눅스는 여러명의 사용자가 한 서버에 접속해서 작업을 진행 할 수 있다. 그러다 보니 사용자의 권한을 관리해 주지 않으면 나도 모르는 사이에 시스템에 많은 변화가 생길 수 있다. 그러므로 사용자와 그룹을 관리하고 그에 할당하는 권한을 조율하는 것이 중요하다. 사용자 리스트 확인 가장 먼저 진행 할 것은 사용자에 대한 리스트 확인이다. [root@localhost ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin.. 2023. 8. 11.
TCP 3-way Handshake, 4-way Handshake TCP란 무엇인가? TCP는 전송 제어 프로토콜(Transmission Control Protocol)의 줄임말로 인터넷 프로토콜의 핵심 프로토콜 중 하나로 IP와 함께 TCP/IP로 불린다. 전송 계층의 대표적인 연결 지향 프로토콜로 하위 계층에서의 패킷 손실, 중복 오류 등의 전송 문제를 검출하고 해결한다. IP가 패킷을 목적지까지 보내는 가장 효율적인 방법이지만 패킷의 안전성과 순서를 보장하지 못한다면 TCP가 그 역할을 이행한다. 3 way handshake란 무엇인가? TCP 통신을 통해 데이터를 전송시키기 위해 네트워크를 연결하는 과정을 의미한다. Client -> Server : TCP SYN Server -> Client : TCP SYN ACK Client -> Server : TCP A.. 2023. 8. 10.
[참고] CloudTrail !! [ CloudTrail ] CloudTrail 은 사용자 이벤트 로깅과 비슷한 기능으로 default 로 활성화 되어있으며 무료임. 콘솔/SDK/CLI/AWS Services 에서의 히스토리를 확인할 수 있음 - Provides governance, comliance and audit for your AWS Account - CloudTrail is enabled by default - Get an history of events / API calls made within your AWS Account by : Console/SDK/CLI/AWS Services - Can put logs from CloudTrail into CloudWatch Logs or S3 - A trail can be appli.. 2023. 4. 3.
[중요] Query AWS ALB Access Logs in Amazon S3 with Athena Athena를 사용하여 Amazon S3에서 AWS ALB 액세스 로그 쿼리 ## 위 작업전에 하기처럼 S3버킷에 폴더 생성 필요 ## Run query 수행후, alb_logs 테이블 생성 ============================= CREATE EXTERNAL TABLE IF NOT EXISTS alb_logs ( type string, time string, elb string, client_ip string, client_port int, target_ip string, target_port int, request_processing_time double, target_processing_time double, response_processing_time double, elb_status.. 2023. 4. 2.
[중요][AWS] ELB(ALB) 로그 활성화 & S3에 로그 저장하기 ALB Access Log ALB Access Log는 말 그대로 단순 트래픽 로그다. 로드밸런서 DNS를 통해 사용자들이 로드밸런서를 경유해 인스턴스로 접속할때 기록된다. 이 로그를 통해 ELB-respose, Target-response, Client, 접근 경로 등을 알 수 있어서, 클라우드 환경에서 서비스를 올린다면 자주 접해야 하는 로그이다. 하지만 Access Log를 통해 Client의 요청이 어디까지 도달했는지, 무슨 에러를 뱉었는지, 어떤 요청을 했을 때 어떤 반응을 보였는지 ..등 대략적인 추측이 가능하나, 정확한 점검을 위해선 어플리케이션 점검이 필수적이다. ALB Access Log 특징으로는 다음과 같다. Timstamp는 UTC 기준 : KST 기준이 아니므로 특정 시간대의 트래.. 2023. 4. 2.
[중요][AWS] AWS Backup : EC2 자동백업 관리 시작 전 • AWS Backup이란? : 파일 시스템, 블록 스토리지 볼륨, 관계형 데이터베이스, NoSQL 데이터베이스등의 백업을 필요한 순간에 손쉽게 자동(or 수동)백업할 수 있는 서비스이다. • 백업의 자동화와 중앙관리화를 위한 서비스이다. AWS Backup 백업 볼트 (Backup Vault) : 백업 구성시 사용하는 컨테이너 • 백업 볼트에서 AWS KM 암호화 키를 설정하여 백업에 대한 액세스 제어 가능 1. 백업을 생성하기 위해서는 우선 백업 볼트를 생성한다. 2. 볼트 생성 화면 백업 계획 (Backup Plan) • 백업 계획 생성 화면 UTC 기준이기 때문에 18시 시작은 한국 새벽3시이다. 1Hour 이내로 백업을 시작하며, 1Day 내로 끝나지 않으면 작업을 취소한다. 리소스 할.. 2023. 3. 26.
[참고] AWS Backup을 활용하여 EC2 백업 관리하기 서론 AWS Backup은 AWS에서 제공하는 서비스에 대한 데이터 백업을 중앙에서 관리하고 자동화 할 수 있는 완전관리형 서비스이다. 이를 적용하면, 개별로 수행되던 백업 작업을 자동화하고 통합하여 관리하므로 서비스별로 일일이 정의할 필요없이 간단하게 수행할 수 있다. AWS Backup은 EBS, EC2, RDS, DynamoDB, EFS, FSx, Storage Gateway과 같은 AWS 리소스의 백업을 모니터링할 수 있다. 백업 지금부터는 AWS Backup을 활용하여 EC2를 백업하는 과정에 대해 알아보도록 하자. 먼저 백업을 진행하기 전 EC2의 백업 형태인 스냅샷과 AMI에 대해 알아보자. AWS Backup으로 백업 및 복원을 진행하면, 스냅샷과 AMI가 생성되는데 각각 어떠한 백업을 의.. 2023. 3. 23.
[중요][서브도메인 생성][EKS] alb-ingress-controller 사용해보기 주의 사항 2022.08.10 수정 해당 블로그에서 설치하는 AWS ALB Ingress Controller는 v1.1 버전으로 deprecated 상태입니다. 최신 버전인 AWS Load Balancer Controller v2.4를 설치하는 것이 권장됩니다. https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/ 테스트 순서 EKS 클러스터 생성합니다 worker node 역할에 추가로 정책을 붙입니다 alb-ingress-controller 배포합니다 ingress, deployment, service 배포합니다 host에 따라 웹페이지가 바뀌는지 확인합니다 1. EKS 클러스터 생성 1 2 3 4 5 6 eksctl create .. 2023. 3. 21.
쉽게 설명하는 AWS 기초 강좌 21: Amazon S3 Storage Class https://www.youtube.com/watch?v=rP0BsWxvXIc 2023. 3. 19.
[중요] GITLAB 상태검사 확인 방법 ## telnet GIT서버IP 해당포트 - 첫페이지 확인 GET / - 상태검사 경로 확인 ## ALB주소/users/sign_in 접속 테스트 ## 젠킨스 상태검사 경로 /login ## 넥서스 상태검사 경로 / 2023. 3. 19.
[참고][마리오] AWS EKS에서 Ingress로 AWS ALB 사용하기 Today Keys : EKS, kubernetes, ingress, alb, application , load balancer, elb, 서비스 AWS EKS에서 Ingress로 AWS Application Load Balancer(이하 ALB)를 사용 할 수 있습니다. ALB를 사용함으로써, ALB에서 제공하는 인증서나, WAF와 같은 기능을 사용 할 수 있으며, ALB에 대한 이중화나 용량에 대한 부분을 사용자가 신경 쓰지 않고 사용 않아도 됩니다. 이번 포스팅에서는 AWS EKS에서 ALB를 사용하기 위한 방법과 ALB를 사용한 간단한 서비스를 올리는 테스트를 진행합니다. 본 포스팅에서는 AWS EKS 클러스터는 'ZIGI-EKS'라는 이름으로 생성한 상태이고, 서비스 배포를 위한 Node Gro.. 2023. 3. 17.
[참고] 내 컴퓨터의 DNS 캐쉬 초기화 방법 (DNS Flush) 네임서버 또는 레코드 정보를 변경한지 충분한 시일(48시간 이상)이 지났고, 같은 네트워크(공유기) 내에 있는 다른 기기에서는 해당 도메인 접속이 원활한 경우, 컴퓨터에 남아 있는 DNS 캐쉬가 갱신되지 않아 발생할 수 있습니다. Windows 기기(PC) 현재 실행 중인 모든 웹 브라우저를 종료합니다. 시작 버튼을 누릅니다. cmd를 입력하거나(Windows 10 이상), 실행을 클릭하고 cmd를 입력합니다. (Windows 7 이하) 명령 프롬프트가 나타나면 ipconfig/flushdns 를 입력합니다. macOS 기기(iMac, Macbook) 공통사항 : 터미널 실행 (Spotlight 실행 후 터미널 검색) macOS Mojave (모하비) 터미널에서 sudo killall -HUP mDNSR.. 2023. 3. 17.
[참고][리눅스] mysql client 설치 및 접속방법 웹어플리케이션이 아닌 VM에서 바로 DB에 접속해야 할 경우 가 있을 수 있다. 그럴때, mysql의 경우 mysql client를 설치하여 간단하게 연결할수있는방법을 소개한다. 1.설치 $yum -y install mysql 2.설치 확인 $mysql --version - 이런식으로 버전이 나오면 설치성공 3. DB연결 $mysql -h"ip" -u"id" -p"pw" "sid" ex ) ip = 127.0.0.1 , id = admin , pw = abcd , sid = test 라고 하면 $mysql -h127.0.0.1 -uadmin -pabcd test 로 입력하면 된다. 여기서 주의할점은 -h , -u ,-p 뒤에 공백을 붙이면 안된다. + 추가로 password의 특수문자 때문에 예약어 처리.. 2023. 3. 15.
[참고][AWS RDS MySQL] RDS MySQL와 Aurora MySQL 차이점 AWS에서 관리형 관계형 데이터베이스를 보면 RDS MySQL과 Aurora MySQL이 있다. 이 두 서비스의 차이점은 무엇일까? 결론부터 말하면 기존의 MySQL 소스를 기반으로 AWS 에서 커스터마이징 하여 만든 것이 Aurora이며 두 서비스는 스토리지 메커니즘이 다르다. AWS RDS MySQL RDS 플랫폼은 기존 데이터베이스 아키텍처를 중심으로 완전히 관리되는 추상화 계층을 제공한다. RDS 내에서 데이터베이스 플랫폼은 EC2에서 수동으로 수행하는 것처럼 구축된다. EC2인스턴스는 적절한 Amazon Machine Image (AMI)에서 프로비저닝 되고, EBS(Elastic Block Store)스토리지는 프로비저닝된 인스턴스에 연결된다. 그리고 적절한 서브넷 그룹과 보안그룹이 인스턴스에.. 2023. 3. 15.
[중요][AWS] EKS ingress https EKS 에서 http 를 https 로 리다이렉트 시켜주는 ALB 가 필요하다면, 아래와 같은 ingress 를 구성한다. - 사전에 ACM 의 인증서 arn 이 필요하다. $ vi ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: namespace: example name: example-ingress annotations: # Ingress Core Settings kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip alb.ingress.kubernetes... 2023. 3. 14.
[중요2][AWS] Elastic Kubernetes Service | Application Load Balancing on EKS Elastic Kubernetes 서비스 | EKS의 애플리케이션 로드 밸런싱 1. 퍼블릿 서브넷에 태크 설정 2. 클러스터에 대한 OIDC 자격증명 공급자 생성 - IAM --> 자격증명 공급자 이동 3. 로드밸런서에 대한 IAM 역할 생성 - 정책 생성 (loadbalancer-controller-policy) https://github.com/listentolearn/aws-eks-app-deployment/blob/main/loadbalancer-controller-policy.json - 역할 생성 (사용자 지정 신뢰 정책) https://github.com/listentolearn/aws-eks-app-deployment/blob/main/loadbalancer-trust-policy.json.. 2023. 3. 13.
[참고][AWS] 클라이언트 툴로 S3 접속해서 간편하게 다루기 [MobaXterm] 목차 S3 클라이언트 툴 Mobaxterm 설치 & 사용법 Mobaxterm으로 S3 접속하기 연결 화면 파일 업로드 S3 클라이언트 툴 웹 콘솔 브라우저로 S3 서비스를 다루기에는 한국인 정서에는 좀 많이 느린편이라 답답하다. 그래서 보통 aws cli 커맨드로 S3를 다루는데, 그래도 간단한 작업 같은 경우 GUI 환경에서 S3을 다루는 것이 훨씬 편하다. 가장 유명한 공유파일 툴인 파일질라로 sftp로 s3와 동기화 시켜서 다루는 방법도 있지만, 프로 라이센스가 필요하다. 무료로 이용할 수 있는 툴이 있을까 찾아보다, 모바엑스텀 이라는 툴로 S3에 접속해 sftp같이 자유롭게 파일 업로드/드랍을 할수 있다는 것을 알아냈다. 사용하기 매우 간단하면서도 보기 좋게 되어있으니, 한번 이용해 보길 권한다... 2023. 3. 10.
[참고][AWS] S3 - CLI 명령어 종류 총정리 목차 AWS S3 CLI 명령어 S3 버킷 커맨드 버킷 생성 (mb) 버킷 목록 조회 (ls) 버킷 제거 (rb) S3 파일 커맨드 파일 목록 조회 (ls) 파일 이동 (mv) 파일 삭제 (rm) 로컬 → S3 파일 복사 (cp) S3 → 로컬 파일 복사 (cp) S3 → S3 파일 복사 (cp) 디렉터리 동기화 (sync) S3 커맨드 옵션 하위 디렉토리 포함 (--recursive) 파일 제외 (--exclude) 파일 포함 (--include) 커맨드 테스트 (--dryrun) S3 권한 커맨드 파일에 권한 주기 (--acl) 파일에 권한 주기 (--grants) S3 커맨드 응용하기 S3 특정 파일을 얻어서 다운받기 (루프문) AWS S3 CLI 고급 명령어 aws s3 vs aws s3api s.. 2023. 3. 10.
[참고][Etc] Bastion Host 터널링 SSH 접속하기 요즘은 프로젝트가 Cloud 환경이 추세이다. AWS, GCP 등 실제 사용하는 인스턴스는 private subnet에 숨기고, public에 bastion host라는 걸 둬서 접근하는 방식이 있다. 이렇게 하면 관리 포인트를 하나만 만들고 그 외의 접근이 원천적으로 불가능해지기 때문이다. 개발자들이 Cloud 환경에 구축되어 있는 DB에 접근해야 된다고 생각해보자. 원척적으로는 개발자들의 모든 IP 또는 접근 가능 IP대역을 등록해야 한다. 하지만 bastion host를 사용하면 개발자 모두 쉽게 접근이 가능하다. SSH 또는 MobaXterm을 이용해서 터널링 할 수 있다. SSH ssh -L 33306:{target-private-ip}:{port} -i ./bastion.pem ec2-user.. 2023. 3. 10.
[중요][AWS 자동 배포 시스템] 3. Jenkins를 활용한 S3 배포 Jenkins Pipeline을 사용하여 S3에 웹 서버를 배포하려고 한다. 그냥 index.html 한개를 올리기에는 너무 간단하여 Vue를 이용하여 빌드 후 배포한다. Jenkins와 node가 설치되어 있다고 가정하에 진행한다. 먼저 빌드를 하기 위한 IAM 계정을 만들자. 추후 ECS 배포를 위한 권한(AmazonEC2ContainerRegistryFullAccess, AmazonS3FullAccess, AWSCodeDeployRoleForECS, AWSCodeDeployFullAccess)까지 추가하겠다. 발급 받은 엑세스 키 ID와 비밀 엑세스 키를 저장해놓자. Jenkins가 설치된 곳에서 사용할 예정이다 AmazonECS_FullAccess도 추가하자. Jenkins가 설치된 os에 jen.. 2023. 3. 9.
[참고] CloudTrail 생성 - 빠른 추적 생성 1. 빠른 추적 생성 - 추적이름 : oky-management-events 2. S3 버킷명 확인 2023. 3. 9.
[참고] EKS API Endpoint 외부 접근 개요 특정 고객사에서 이런 문의가 들어왔다. "우리 EKS SG가 보안적으로 잘 설정되어 있는건가요? 외부에서 kubectl로 접근이 제한된 상태인가요?" 나도 이부분이 항상 궁금했다. 분명 cluster SG에는 외부 IP가 허용되어있지 않은데 어떻게 내 PC에서 kubectl명령어가 먹는거지? 함께 확인 해 보자. 일단, EKS 네트워킹 설정을 보자. API 서버 엔드포인트 엑세스가 퍼블릭 및 프라이빗으로 설정되어있다. 음... 뭐 퍼블릭 및 프라이빗이니까 외부 통신이 가능한건 알겠는데... SG에서 외부 IP에 대한 허용 규칙을 만들어야 접근이 가능해야 하는거 아닌가? 나만 이런 생각이 들은건가? 테스트 해보자. Resolve 테스트 일단 같은 VPC 안에 있는 서버에서 API 서버 엔드포인트가 내.. 2023. 3. 7.
[중요][EKS] 환경 구축하기3 - Autoscaling 설정 VPC 생성 Private Cluster 생성 Autoscaling 설정 Istio 설치 Node 및 Pod의 오토스케일링을 설정해봅시다. 1. Node의 오토스케일링 (테스트 성공) Cluster생성할 때 이미 EC2 Auto Scaling 그룹이 생성되었지만 쿠버네티스에서 Auto Scaling 그룹에 명령을 내리기 위한 설정이 필요합니다. 공식문서 cluster-autoscaler를 생성합니다. $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/autoscaler/master/cluster-autoscaler/cloudprovider/aws/examples/cluster-autoscaler-autodiscover.yaml cluste.. 2023. 3. 7.
[AWS] [구축활용] Route53 Failover를 활용한 고가용성 웹 사이트 구축 1. 구성도 평상시: 클라이언트가 ticketing.pw로 접속을 시도하면 CloudFront로 라우팅 되어 서울리전의 ELB을 통해 WEB서버로 접속된다. 서울리전 장애 발생시: Route53 HealthCheck이 서울리전의 비정상을 감지하고 Route53의 Failover 정책에 따라 클라이언트가 ticketing.pw로 접속을 시도하면 버지니아의 ELB로 라우팅 되어 WEB서버로 접속된다. 2. Route 53 Hosted Zone 생성 Route53 콘솔 화면에서 다음과 같이 클릭한다. 서비스 할 도메인 이름을 호스팅 영역으로 생성한다. ticketing.pw가 호스팅 영역으로 생성되었다. 생성된 도메인을 클릭한다. 해당 도메인에 대한 4개의 네임 서버를 볼 수 있다. 이 값들을 도메인을 구매한.. 2023. 3. 7.
[중요][워커노드] EKS Cluster 구축 - 3. Worker Node Group, Security Group 설정 EKS CLUSTER가 모두 완성되었기 때문에 Node Group을 추가해보도록 하겠습니다. 서브넷을 Private만 선택하여서 실제 서비스는 Private Network에만 구성되도록 하겠습니다. 인트로에서 말씀드렸듯 EC2 Type에 따라서 Pod수의 제한이 있습니다 원활한 구성을 위해서 t3.large를 골라주도록 하겠습니다. Type별 Pod제한을 통해서 체크해주세요 이제 구성이 끝나면 Security Group 설정을 아래와 같이 해주시면 되겠습니다. Cluster를 Security Group 설정 없이 그냥 구축하게 되면 eks-cluster-~~~ 라 나오는 것이 Cluster SG이고, remoteAccess-~~~가 WorkerNode SG입니다. 다큐링크를 참고하셔서 구성하시면 됩니다... 2023. 3. 6.
[AWS] IAM Policy 참고!! AdministratorAccess { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" } ] } AmazonEC2ReadOnlyAccess { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }, { "Effect": "Allow", "Action": "elasticloadbalancing:Describe*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:ListMetrics", "c.. 2023. 3. 4.
[중요] EKS에 클러스터 오토스케일링(cluster autoscaling) 하기 지난 번 포스팅에서 이야기 했듯이, EKS의 각각의 worker node는 EC2 instance인데, 아무리 작은 크기의 pod이라고 해도, 무한정 pod을 배포시킬 수는 없다. 그래서 여러 명의 개발자가 pod을 많이 배포시키거나, HPA(Horizontal Pod Autoscaling)에 의해 여러 개의 pod이 만들어지면, node가 가득 차버려서, pod이 스케줄 될 수 없어 pending 상태에 머무르는 상황이 발생한다 pod pending 이럴 때 필요한 것이 바로 Clustster autoscaling(CA)이다 처음 cluster autoscaling이라는 단어를 들었을때, "클러스터 자체를 여러개 늘리는건가..?" 라는 생각을 했다. 하지만, CA는 worker node의 갯수를 늘리는.. 2023. 3. 2.
[참고] 파일시스템의 포맷 종류와 차이점 파일시스템(File System)이란? 파일의 체계를 말함. 파일을 효율적으로 기록 및 검색할 수 있도록 만들어진 체계. 도서관에서 책을 책제목, 저자, 카테고리 등의 항목으로 관리해 검색이나 발견을 쉽게 할 수 있도록 해둔 것과 같음. 파일시스템의 종류 저장매체나 운영체제에 따라 파일시스템의 사용이 제한됨. Window : FAT16, FAT21, exFAT, NTFS Linux : ext2, ext3, ext4, XFS, ZFS, ReiserFS Solaris : UFS, VxFS, QFS, ZFS Macintosh : HFS, HFS+ 포맷(Format)이란? 파일시스템을 구축하는 작업. 포맷 시 파일시스템을 선택하고, 선택된 파일시스템이 구축됨. 일반적으로 포맷을 하면 데이터가 지워지고 새로운 파.. 2023. 2. 27.
반응형