최신 글
-
direnv 사용법
zsh에서 direnv (핸즈온)공식 문서: direnv.net — 아래는 여러 AWS 계정 쓸 때 AWS_PROFILE·kubectl 컨텍스트를 디렉터리마다 고정하는 한 번에 붙여 넣기 예시다. REPO만 본인 클론 경로로 바꾼 뒤 위에서 아래로 실행하면 된다.# --- 최초 1회: 설치 + zsh 훅 ---brew install direnvgrep -q 'direnv hook zsh' ~/.zshrc 2>/dev/null || echo 'eval "$(direnv hook zsh)"' >> ~/.zshrcsource ~/.zshrc# --- 레포 준비 (이 줄만 수정) ---REPO=/path/to/repocd "$REPO"# --- 루트 .envrc (플레이스홀더는 본인 값으로) ---cat > ...
2026.03.26 18:41 -
MAC OS Bootstraping
새 Mac 한 번에 세팅: Homebrew, Brewfile, Oh My Zsh기존 맥에서 쓰던 Homebrew 패키지 목록을 Brewfile로 모아 두고, 새 맥에서는 스크립트 하나로 Command Line Tools → Homebrew → 패키지 일괄 설치 → Oh My Zsh까지 돌리는 방법을 정리했다.무엇을 하는지Xcode Command Line Tools가 없으면 설치를 유도하고, 끝나면 다시 실행하라고 안내한다.Homebrew가 없으면 공식 설치 스크립트로 비대화형 설치한다.같은 폴더의 Brewfile로 brew bundle을 실행해 formula·cask를 한 번에 맞춘다.~/.oh-my-zsh가 없을 때만 Oh My Zsh를 비대화형(--unattended)으로 설치한다. 기본 로그인 셸은..
2026.03.24 17:35 -
[ISMS] AWS WorkSpaces Pools + Okta SAML 세부 구성 가이드 (2편)
ISMS 인증심사를 위한 망분리를 위해 WorkSpaces Pools를 구성한 과정을 단계별로 정리했다. Okta SAML SSO 연동, non-persistent Pool, 커스텀 이미지(Chrome 기본)까지 포함한다.개요목적: ISMS 인증심사 대응 망분리. 개인정보 접근 환경을 일반 업무망과 분리한 전용 WorkSpaces Pool 구성사전 준비: 리전(예: ap-northeast-2), VPC(Private 서브넷 2개, NAT), Okta Admin 권한, AWS IAM·WorkSpaces 콘솔 접근관련 글: 구성기 (1편)에서 WSP, 트러블슈팅 확인. 1편 먼저 읽기 권장.[일반 업무망] [개인정보 접근 전용망] 사용자 PC ···············..
2026.03.19 10:20 -
[ISMS] AWS WorkSpaces Pools + Okta SAML + 커스텀 이미지 구성기 (1편)
ISMS 인증심사를 위한 망분리가 목적이었다. 개인정보를 다루는 내부 관리 페이지 접속을 일반 업무망과 분리하고, WorkSpaces Pools로 전환하면서 Okta SSO 연동과 Chrome 기본 설치 커스텀 이미지를 구성했다. 이 과정에서 겪은 것들을 정리해봤다.개요목적: ISMS 인증심사 대응 망분리. 개인정보 접근 환경을 일반 업무망과 분리구성: WorkSpaces Pools (non-persistent), Okta SAML, 커스텀 이미지 (Chrome 기본)접속 흐름: Okta 앱 클릭, SAML 인증, Pool 세션 할당, 내부 페이지 접속관련 글: 세부 구성 가이드 (2편)에서 Step 1-12 절차 확인망분리 구조일반 업무망에서는 admin 페이지에 직접 접근할 수 없고, Okta 인증 ..
2026.03.19 10:15 -
Aurora MySQL 대용량 테이블 DROP COLUMN
Aurora MySQL 대용량 테이블 DROP COLUMN, 두 번 실패 후 성공한 기록수억 행, 200GB가 넘는 테이블에서 컬럼을 제거해야 할 때가 있다. ALTER TABLE DROP COLUMN은 단순해 보이지만, 테이블 규모가 크면 예상보다 훨씬 오래 걸리고, 리소스 부족으로 실패하기도 한다. 이번에는 두 번 실패한 뒤 세 번째 시도에서 성공한 과정을 정리해봤다.배경: 왜 컬럼을 제거했나개인정보 보호를 위해 기존 평문 컬럼을 제거하고, 암호화된 컬럼만 남기는 작업이었다. 대상 테이블은 감사(audit) 로그용으로, 수억 행에 200GB 이상의 데이터와 인덱스를 가지고 있었다.1차 시도: 일괄 DROP – 실패첫 시도는 3개 컬럼을 한 번에 제거하는 방식이었다.ALTER TABLE target_t..
2026.03.19 01:02 -
MongoDB 디스크 공간 정리 (compact 작업 정리)
MongoDB 디스크 공간 정리 (compact 작업 정리) MongoDB에서 WiredTiger 스토리지 엔진을 사용할 때 삭제된 데이터로 인해 **디스크 공간 단편화(fragmentation)**가 발생할 수 있다. 이때 compact 명령어를 사용해 스토리지를 정리할 수 있다.1. Secondary 노드 직접 접속compact는 Primary가 아닌 Secondary 노드에서 실행해야 하므로,특정 노드에 직접 접속할 수 있도록 directConnection 옵션을 사용한 connection string을 사용한다.Compass를 사용해서 작업하면 한결 수월하다.(민감 정보 제거 예시)mongodb://:@:27017/?replicaSet=&directConnection=true&tls=true예시m..
2026.03.05 13:28 -
bitwarden 로그인할 때 에러가 날 경우
개요Bitwarden을 처음 사용하거나 이전에 어렴풋이 사용했던 상황에서 로그인할 경우 에러가 나는 경우가 종종 있다. 패스워드가 틀렸거나 확인이 안되는 등 다양한 상황에서 제일 강력한 해결 방법중에 하나 해결https://vault.bitwarden.com/#/recover-delete 여기서 내 이메일 계정을 삭제하면 해결되는 경우가 있다. 참고https://vault.bitwarden.com/#/recover-delete
2025.10.21 16:51 -
bitwarden enterprise my vault 안 보이는 이슈 (내 보관함)
개요Bitwarden enterprise를 사용할 경우 admin이나 owner가 아닌 계정은 my vault (내 보관함)이 안 보인다 해결Owner 계정으로 로그인해서 Policies 에서 Enforce organization data ownership 을 off 하면 일반 계정에서 내 보관함이 확인 된다. 참고https://bitwarden.com/help/policies/#enforce-organization-data-ownership
2025.10.13 17:55 -
[ECR] [Scanning]: Ubuntu 24.04 not supported
개요ECR image Scanning을 할 때 지원이 안한다는 메세지와 함께 멈추는 경우가 있다.[ECR] [Scanning]: Ubuntu 24.04 not supported 방법Features & Settings >> Scanning >> Opt in >> Scan Type (Enhanced) 참고https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning-basic.htmlhttps://github.com/aws/containers-roadmap/issues/2434https://docs.aws.amazon.com/inspector/latest/user/supported.html#w123aac53c15
2025.08.06 11:26 -
CloudFront Route53 HTTPS DNS record 지원
개요CloudFront alias로 Route53에서 HTTPS DNS record를 지원 (2025년 7월 1일)https://aws.amazon.com/ko/blogs/networking-and-content-delivery/boost-application-performance-amazon-cloudfront-enables-https-record/ 장점DNS 쿼리 비용 절감DNS RTT 절감HTTPS 바로 시작 적용방법1. CloudFront HTTP/2, HTTP/3 enable2. Route53 a record alias CloudFront 생성3. Route53 HTTPS record alias CloudFront 생성 확인방법### MAC 기본 유틸 dig# dig -vDiG 9.10.6# d..
2025.07.03 11:24
Security Principal
-
MFA 환경에서 AWS CLI 사용 하기
개요 MFA 환경에서 AWS CLI 사용 하려면, session token과 임시 AWS Access key와 Secret key가 필요하다. 방법 # aws sts get-session-token --duration-seconds 10000 --serial-number "arn:aws:iam::111111111:mfa/mfa_user" --token-code 123456 { "Credentials": { "AccessKeyId": "ABCDQWEQWEQWEQWE", "SecretAccessKey": "YWEesaldkjsadlkgjasgsdgsadgsadgsadgsadg", "SessionToken": "sadfsdfsdfsadf/asdfsadfsdfsadfsadf/v//////////sdfgdsfgd..
2024.02.19 18:22 -
VPC endpoint for dynamodb 사용 하기
개요 VPC endpoint for S3 처럼 VPC endpoint for dynamodb 를 사용하면 DynamoDB를 접근을 AWS 내부 네트워크를 통해 접속하여서 보안에도 강점이 있고, 비용 최적화에도 도움이 된다. 간단한 설정을 통해 사용가능 하지만 간과하는 경우가 많다. 사용 방법 VPC endpoint "com.amazonaws..dynamodb" 를 생성한 후 적절한 VPC의 Routing tables에 추가만 하면 된다. 참고 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/vpc-endpoints-dynamodb.html
2024.02.19 16:23 -
EBS Snapshots BPA(Block Public Access)
- 개요 EBS Snapshot이 예기치 못하게 Public으로 공개되서 악의적인 접근을 원천 차단 - 방법 AWS Console >> EC2 Settings >> Data protection and security >> Block public access for EBS snapshots >> Manage >> check >> Block all public sharing // Block new public sharing - 비고 Default : off have to set Per Region and Per Orgs(Account) - 참고 https://aws.amazon.com/ko/about-aws/whats-new/2023/11/amazon-elastic-block-store-public-acce..
2023.12.29 15:36 -
AMI BPA(Block Public Access) 설정
- 개요 AMI를 운영할 때 혹시 모를 Public Access 사태를 미연에 방지 - 방법 AWS Console >> EC2 Settings >> Block public access for AMIs >> Manage >> check - 비고 Default : off Per Region, Per Orgs(Account) 따로 설정 기존 AMI는 직접 변경해줘야하며 신규 생성되는 AMI에만 적용됨 The request can take up to 10 minutes to be configured. - Reference https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating https://docs.aws.amazon.com/..
2023.09.22 16:24 -
Security Policy (ELB, Cloudfront)
- 개요 기본적인 보안 가이드를 준수하려면 필수 - Cloudfront - Security policy (2023년 10월 기준) TLSv1.2_2021 - ELB - Security policy (2023년 10월 기준) ALB : ELBSecurityPolicy-TLS13-1-2-2021-06 NLB : ELBSecurityPolicy-TLS13-1-2-2021-06* - reference https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html?icmpid=docs_cf_help_panel#DownloadDistValuesOriginSSLProtocols https://d..
2023.05.15 15:57 -
AWSCompromisedKeyQuarantineV2
- 개요 AWS 사용중에 Hacking 의심이나 외부 노출이 된 계정에 AWS에서 자동으로 policy를 할당해서 추가 피해를 막고 고객 대응을 유도하는 권한 - 내용 Denies access to certain actions, applied by the AWS team in the event that an IAM user's credentials have been compromised or exposed publicly. Do NOT remove this policy. Instead, please follow the instructions specified in the support case created for you regarding this event. { "Version": "2012-10-17..
2023.02.14 14:14 -
Cloudfront Origin Access Control
- 개요 CloudFront 접근 제어 및 보안 강화를 위한 방법으로 기존의 OAI 다음으로 나온 OAC에 대해 정리 했다. - Origin Access : Create control setting Signing behavior Sign requests (recommended) Create Bucket Policy -> Copy policy - S3 bucket policy { "Version": "2008-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipal", "Effect": "Allow", "Principal": { "Service": "cloudfront.a..
2022.10.14 10:23 -
Deletion Protection 삭제 방지 (EC2, ELB, RDS)
- 개요 예기치 못한 삭제나 테라폼등으로 삭제가 일어날 경우를 미연에 방지하기 위한 삭제 방지 기능을 적극 활용하는 것을 추천한다. - EC2 termination protection https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html - ELB Deletion protection https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-lo..
2022.08.08 16:09 -
개발 리소스, 개발 서버들 접근 제어 (IP Based ACL)
- 개요 클라우드 환경에서 보안을 강화할 수 있는 방법중에 제일 기본은 IP 기반 제어다. 개발관려 리소스는 회사에서만 접근이 가능해여 하는 등 여러 가지 정책을 정하는 방법에 대해 정리 했다. 1. WAF 장점 : 많은 정책과 할 수 있는 것이 다양. 단점 : 유료, NLB 불가. https://docs.aws.amazon.com/waf/latest/developerguide/classic-web-acl-ip-conditions.html 2. Network ACL : VPC 및 Subnet 레벌 제어. 장점 : 설정하기 편하고 직관적이며, 무료. 단점 : VPC와 Subnet 설계가 ENV에 맞게 되어 있어야 하며, IP 갯수 제한. https://docs.aws.amazon.com/vpc/latest..
2022.08.05 17:41 -
AWS 에서 권장하는 보안 관련 링크
- 개요 실제 보안 사고를 경험 후 그걸 해결하는 과정에서 AWS support를 통해 공유 받은 보안 권장 링크 - IAM MFA https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable.html - Trusted Advisor https://docs.aws.amazon.com/awssupport/latest/user/get-started-with-aws-trusted-advisor.html - Billing Alert https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/gs_monitor_estimated_charges_with_cloudwatch.html#gs_c..
2022.07.22 09:21
-
bitwarden 로그인할 때 에러가 날 경우
개요Bitwarden을 처음 사용하거나 이전에 어렴풋이 사용했던 상황에서 로그인할 경우 에러가 나는 경우가 종종 있다. 패스워드가 틀렸거나 확인이 안되는 등 다양한 상황에서 제일 강력한 해결 방법중에 하나 해결https://vault.bitwarden.com/#/recover-delete 여기서 내 이메일 계정을 삭제하면 해결되는 경우가 있다. 참고https://vault.bitwarden.com/#/recover-delete
2025.10.21 16:51 -
k8s에 설치된 argocd 초기 비밀번호 확인하기
개요k8s에 설치된 argocd 초기 비밀번호는 따로 지정하지 않으면 임의로 생성이 된다. 확인 방법kubectl -n get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 --decode
2024.10.04 12:29 -
Aurora MySQL 대용량 테이블 DROP COLUMN
Aurora MySQL 대용량 테이블 DROP COLUMN, 두 번 실패 후 성공한 기록수억 행, 200GB가 넘는 테이블에서 컬럼을 제거해야 할 때가 있다. ALTER TABLE DROP COLUMN은 단순해 보이지만, 테이블 규모가 크면 예상보다 훨씬 오래 걸리고, 리소스 부족으로 실패하기도 한다. 이번에는 두 번 실패한 뒤 세 번째 시도에서 성공한 과정을 정리해봤다.배경: 왜 컬럼을 제거했나개인정보 보호를 위해 기존 평문 컬럼을 제거하고, 암호화된 컬럼만 남기는 작업이었다. 대상 테이블은 감사(audit) 로그용으로, 수억 행에 200GB 이상의 데이터와 인덱스를 가지고 있었다.1차 시도: 일괄 DROP – 실패첫 시도는 3개 컬럼을 한 번에 제거하는 방식이었다.ALTER TABLE target_t..
2026.03.19 01:02