전체 글 524

[57] 프로젝트 개설 : #0

개요지금까지 했던 AWS 서비스를 묶어 하나의 아키텍쳐 안에 녹이기+ 로깅 / 모니터링을 새로 추가해서 엮어보기+ 이제껏 main.tf 하나에 다 담았는데, 모듈화하기 1 : VSCODE로 작업하기 위해 AWS CLI 작업환경 구축2 : 모듈 / 환경별 작업공간 분리하기 2 : tier-3 작성 4 : 무너뜨리고 완전히 새로5 : github actions : ansible로 똑같이6 : 모듈레이션7 : EKS----------------------------------------------------- Terraform (IaC)Ansible (config management)CI/CDGitHub ActionsMonitoringPrometheusGrafanaLoggingLokiPromtail aws-..

[56] Github Actions

Workflow runs · riptae/aws-ansible ---------------------개요---------------------------------------------이전에는 내 Windows PC 에서 local -> local 코드 -> terraform apply -> Aws API -> 리소스 생성local (wsl) -> ansible inventory + playbook -> EC2 Public IP -> 설정(nginx) -------------------------Github Actions------------------------------지금은 아예 github에 Push -> Github runner 임시 서버에서- github 코드로 terraform apply-..

[6] WSL 에서 읽는 ssh key경로

C:/terraform/aws-ansible/여기에 main.tf, ssh key 가 있었고C:/terraform/aws-ansible/ansible/에 inventory.ini / playbook.yml이 있었는데 ansible 명령어는 WSL 안에서 때리는 거여서chmod 400을 해도 권한이 여전히 오픈되어 있었다 그래서 ansible home dir에 키를 카피이후 chmod가 정상 동작했다 문제는 inventory.ini 안의 key 경로 옵션인데처음 착각은 inventory와 playbook이 일반 Window C경로에 있으니 /mnt/c 나 ~ (리눅스 홈 dir) 를 쓰면 안 되는줄 알았는데어차피 wsl이 실행하는 기준이니까 상관없다 참고

[5 rocky vs rhel vs ubuntu 기본 접속포트 활성화

케이스1 : 안산 공공기관A 보안취약점 작업 사전연습을 위해RHEL 8.8을 oracle virtualbox vm에 설치포트포워딩 설정 : 127.0.0.1:2222 -> RHEL 8.8 22내 노트북으로 붙어서 conf적용 실습 * rocky 9.6은 동일 방식으로 바로 성공RHEL 8.8은 불가해서- 포워딩 설정 제대로 되어 있는지- 다른 포트로 빠져나가는 것 없는지- 포트 리슨 정상- sshd 상태 정상- /etc/ssh/sshd_config 로그인 / auth 정상설정 확인 계속 안되서 헤매다가ip a를 치니 커넥션 자체가 기본으로 활성화되지 않았음을 확인connection up 후 정상접속 확인됨 -------------------------------------------------- 케이스..

[55] EC2 public ip OVERRIDE

subnet 에서 map_public_ip_on_launch = true 해도 OVERRIDE - [1]그런데 기존 작성된 "EC2 -> RDS" 구조에서EC2가 mysql client를 다운받아졌다 - [2] RDS용 NATGW (EIP)가 Private subnet과 라우팅되긴 하지만NATGW은 public subnet 에 되니까 그것때문인가 생각했지만애초에 EC2도 private subnet과 라우팅을 해버렸다 - [3]public subnet으로 교체 확인 - [4]pending 확인 ----------------------------------------------------------------------------------------------------------------------- ..

SAA

[1] S3Global Accelerator :TCP,UDPCloudFront :HTTP 프로토콜S3 버킷 :Amazon S3에 저장된 객체에 대한 컨테이너, 버킷에 저장할 수 있는 객체 수에는 제한이 없음. ACL, 버킷정책 또는 둘다를 통해 버킷 및 객체에 퍼블릭 액세스 권한이 부여S3 버전관리, 버킷에 버전관리, MFA DeleteS3 Transfer Acceleration :클라이언트와 S3 버킷 간의 장거리 파일 전송을 파일을 빠르고 쉽고 안전하게 전송할 수 있는 버킷 기능. 전 세계에서 S3 버킷으로 전송 속도를 최적화. Amazon CloudFront에서 전 세계에 분산된 엣지 로케이션을 활용S3 File Gateway• 하이브리드 클라우드 스토리지 솔루션인 AWS Storage Gatewa..

[54] aws s3 ls 시 (환경변수 / credentials / IMDS slot)

[0]aws s3 ls 검색시 AWS SDK / CLI 는 1. 환경변수 2. ~/.aws/credentials 3. IMDS (Instance Role) 로 크레덴셜을 탐색하기 시작한다 - [1]Environment Variables-> 하드코딩 키 보통IAM User Access KeySTS 임시 키CI/CD 파이프라인 키AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN # (옵션, STS일 경우)EX)export AWS_ACCESS_KEY_ID=AKIA....export AWS_SECRET_ACCESS_KEY=abcd....저장 위치 : OS 환경변수수명 : 키 만료까지 (회전x)보안 x우선순위 1순위 - [2]로컬 자격증명 파일~/.aws/cr..

[53] AWS APP mesh

k8s 에코시스템으로 제공되는 OSS ------------------------ 서비스 메시MSA 아키텍쳐로 구성된 앱에서 분산된 서비스 간 통신 처리를 지원하는 기술 -------------------------- MSA에서는- HTTP 통신에서는 안정된 통신 보증x - 접근 지연, 연결 에러 발생- 신뢰할 수 없는 네트워크 공간에서는 요청의 안정성 및 정당성 검증 통신이 발생하는 MS간 - 재시도 처리, 인증 허가- 원인 특정을 위한 로깅- 추적필요 -> 프록시 라는 컴포넌트(container)를 준비하고 서비스에서 통신이 발생할 때마다 이 컨테이너를 경유해서 통신 -> 컨테이너와 프로세스는 하나씩만 매핑되므로, 여기에 사이드카로 이걸 넣는다 - 이 사이드카로 구성된 프록시가 OSS인 EnvoyE..

[52] "EC2 Launch Type" vs "ECS Fargate"

- [0] EC2 Launch TypeFargate실행 호스트EC2 직접 운영AWS가 운영노드 관리사용자AWS가 함OS 접근가능불가비용 구조인스턴스 기준Task 기준Kubernetes 비유Self-managed nodesServerless nodes - [1] - [2]스케쥴링 흐름 - [3]런치타입은 인프라 레벨 제어 가능- SSH 접속- 로그 파일 확인- docker ps- tcpdump- sysctl 튜닝 FARGATE는 컨테이너만 존재하는 공중부양 실행 환경 - [4]네트워크ECS Launch Typebridge / host / awsvpc : ENI 공유 / 분리 선택 FARGATEawsvpc onlyTASK = ENI 1개 / 그래서 Pod처럼 동작 - [5]리소스 할당 - [6]과금 기준인스..