Cloud 25

Istio Keycloak 인증 연동

이번 블로그에서는 Istio에 Keycloak 인증을 연동하는 글을 작성해보려합니다.아키텍처는 아래와 같이 구성됩니다.Istio & Keycloak 인증 연동 아키텍처를 구축하기 위해서는 아래의 순서를 따라야합니다. 1. EKS Cluster 구성 및 Keycloak 구성2. Keyclaok 콘솔에서 환경 설정3. Keyclaok 인증 Deployment 설정 EKS Cluster 구성 및 Keycloak 구성EKS Cluster와 ACM이 생성되어있다는 전제로 진행합니다.우선 Keycloak 구성을 위해 필요한 환경변수를 설정해줘야합니다.EKS_CLUSTER_NAME="" # Change Your EKS Cluster NameACCOUNT_ID=$(aws sts get-caller-identity --..

Cloud/Kubernetes 2025.09.29

Lambda Git Actions CICD Pipeline

이번 블로그에서는 최근 나온 기능인 Lambda Git Actions를 이용해 CICD Pipeline을 구축해보려 합니다.아키텍처는 아래와 같이 구성됩니다. Lambda Git Actions CICD Pipeline을 구축하기 위해서는 아래의 순서를 따라야합니다. 1. IAM OIDC 생성 및 정책이 부여된 역할 생성2. Lambda Function 구성3. Github 구성 IAM OIDC 생성 및 정책이 부여된 역할 생성우선 아래의 사진과 같이 OIDC를 생성해줘야합니다.https://token.actions.githubusercontent.comsts.amazonaws.com 다음으로 아래의 정책을 참고해서 Trust Policy를 생성해줘야합니다.{ "Version": "2012-10-17..

Cloud/AWS 2025.09.27

Docker Container log를 Cloudwatch Logs에 저장하기

이번엔 nginx docker container의 로그를 CloudWatch Log Group에 저장하는 법을 작성해보겠습니다. 먼저 로그를 저장할 로그 그룹을 하나 생성해줍니다.다음으로 CloudWatch Logs에 로그를 보낼 수 있도록 서버의 역할을 생성 해주겠습니다.이름은 알아보기 쉽도록 log-role로 지정하였습니다. 다음으로 서버에서 CloudWatch Logs에 접근할 수 있도록 인라인 정책을 부여해줍니다.아래의 정책을 그대로 넣어주면 됩니다.정책이름은 알아보기 쉽도록 logs-policy로 지정하겠습니다.EC2에 생성한 IAM Role을 할당해주고 아래의 명령어를 이용해서 nginx 컨테이너를 log option을 포함해서 실행시켜줍니다.sudo docker run -d --nam..

Cloud/AWS 2025.06.14

Node Exporter

Prometheus Node Exporter는 하드웨어의 상태와 커널 관련 메트릭을 수집하는 메트릭 수집기입니다. Prometheus는 Node Exporter의 metrics HTTP endpoint에 접근하여 해당 메트릭을 수집할 수 있습니다. Node Exporter로 부터 수집한 메트릭을 Prometheus내의 TSDB에 저장하여 PromQL로 메트릭을 쿼리해 서버 상태를 모니터링할 수 있습니다. docker run -d \ --net="host" \ --pid="host" \ -v "/:/host:ro,rslave" \ quay.io/prometheus/node-exporter:latest \ --path.rootfs=/host 서버 보안그룹의 9100 포트를 인바운드..

Cloud/CNCF 2025.06.14

Docker Container data root 바꾸기

Docker는 /var/lib/docker에 모든 데이터를 저장하지만, 디스크 공간 문제 등의 이유로 이 위치를 변경할 필요가 있을 수 있습니다. 그래서 이번엔 Docker Container data root를 바꾸는 방법에 대해서 작성해보려합니다. 설정을 하기 전에 도커를 stop 시켜줍니다. sudo systemctl stop docker 새로운 data root가 될 폴더를 만들어주고 기존 Docker 디렉터리 데이터를 새로운 폴더에 복사 해줍니다.mkdir -p dockersudo rsync -aP /var/lib/docker/ /home/ec2-user/docker 루트 권한으로 접근해주고 도커 설정파일을 열어 새로운 data root 경로를 지정 해줍니다. sudo sucat..

Cloud/Docker 2025.06.14

Amazon Linux 2023 MFA Connect

Google Authenticator를 이용해서 MFA 인증 시 Amazon Linux 2023 EC2서버에 접근 가능하도록 구축해보겠습니다. 우선 ssh 접근 관련 설정을 수정해줍니다.sudo sed -i '40i\PermitRootLogin yes' /etc/ssh/sshd_configsudo sed -i '41i\RSAAuthentication yes' /etc/ssh/sshd_config sudo sed -i '8i\auth required pam_google_authenticator.so nullok' /etc/pam.d/sshd sudo sed -i '10i\ChallengeResponseAuthentication yes' /etc/ssh/sshd_config.d/50-redhat.confsu..

Cloud/AWS 2025.06.12

Amazon Linux 2023 Root ssh connect

현재 아래와 같이 생성한 아마존 리눅스 2023 EC2 서버에 root 유저로 접속하려고 하면 아래와 같은 문제가 발생합니다. 해결 방안sudo su # root 유저vim /etc/ssh/sshd_config먼저 위 명령어로 root 에 접근해주고 sshd_config 파일을 아래의 사진과 같이 수정해줘야 합니다.PermitRootLogin yes 부분을 작성해주고 저장하고 나옵니다. systemctl restart sshd그리고 위 명령어로 sshd를 재시작 해줍니다. 마지막으로 아래의 명령어를 통해 루트 디렉터리로 .ssh 를 옮겨줍니다.sudo cp /home/ec2-user/.ssh/authorized_keys /root/.ssh/chmod 700 /root/.sshchmod 600 /root/..

Cloud/AWS 2025.06.10

ecr.api와 ecr.dkr엔드포인트 차이점

ecr.api 엔드포인트ECR.API는 레지스트리 관리 작업을 위한 인터페이스입니다.주로 Amazon ECR 서비스의 관리 작업에 사용됩니다.레포지토리 생성/삭제, 이미지 태그 관리, 권한 설정, 정책 관리 등과 같은 제어 영역(control plane) 작업을 처리예: 레포지토리 목록 조회, 이미지 메타데이터 검색, 레포지토리 권한 설정 등ecr.dkr 엔드포인트ECR.DKR은 실제 Docker 이미지를 주고받는 Docker 호환 인터페이스입니다.Docker 레지스트리 호환 API 작업을 위한 엔드포인트Docker 클라이언트와 호환되어 Docker push/pull과 같은 데이터 영역(data plane) 작업을 처리예: Docker 이미지 업로드(push), 다운로드(pull) 등한줄 요약ecr.ap..

Cloud/AWS 2025.06.05

EC2는 사실 VPC Subnet에 있는게 아니다.

EC2는 사실 서브넷 안에 있는게 아니다. 오늘은 이게 무슨 의미인지 작성해보려 합니다. ENI 기본 개념ENI는 EC2 인스턴스가 생성될 때 자동으로 생성됩니다.ENI는 일종의 EC2의 가상의 랜카드(LAN Card) 와 비슷한 개념입니다.ENI를 통해 EC2와 Subnet을 연결합니다. ENI 특성ENI는 IP주소와 MAC주소를 가지고 있습니다.ENI 하나당 1개 이상의 Private IP 주소 부여가 가능합니다.(optional) Public IP 주소 부여가 가능합니다.EC2는 반드시 하나 이상의 ENI와 연결되어 있습니다.EC2 생성하면 Primary ENI가 생성되어 연결됩니다. EC2는 1개 이상의 ENI를 보유가능합니다. 실질적으로 ENI가 EC2의 서브넷의 위치와 보안그룹의 연결을 담당..

Cloud/AWS 2025.06.01

재시작시에도 userdata가 적용되도록 구성

이번엔 EC2에 재시작시에도 유저데이터가 적용되도록 해보려 합니다. 간단하게 파일 하나를 생성해줍니다. Userdata#!/bin/bashtouch a.sh 접속 후 파일이 생성된 시간을 확인합니다.sudo sucd /ls -lc a.sh 재시작 시에도 유저데이터가 실행되도록 설정cd /etc/cloud/cloud.cfg.dcat cloud-config.cfg#cloud-configcloud_final_modules:- [scripts-user, always]EOF cloud-config.cfg 생성된 파일을 확인해줍니다. 설정 후 인스턴스를 잠깐 Stop 합니다. 유저데이터 편집 부분해서 파일생성 명령어를 확인 해줍니다. 이제 다시 인스턴스를 시작해줍니다. 생성된 시간 확인 (04:21 → 04:..

Cloud/AWS 2025.05.18