Cloud Infra Architecture (AWS) 205

[Trouble Shoting] AWS EC2 상태 검사에서 1/2개 검사 통과

EC2를 부팅하거나 재시작하는데 초기화가 오랫동안 유지되고, 이후 상태 검사에서 1/2개 검사 통과가 뜨는 경우가 있다. 이 경우 높은 확률로 EBS 마운트 인식 문제이다.즉, EBS 볼륨을 해제할 때, umount가 제대로 안됐거나, 손상되어 부팅시 인식하지 못하여 접속이 불가한 상태가 된다.확인 방법1) EC2 선택 - "상태 검사" - "인스턴스 연결성 검사 실패"2) EC2 선택 - "작업" -"모니터링 및 문제 해결" - "시스템 로그 가져오기""aws ec2 the account is locked"1), 2)번 처럼 뜬다면 EBS 볼륨 마운트 문제이다.부적절하게 땐 EBS를 다시 붙여주고 부팅하면 해결된다.다시 부팅시켜서 적절하게 umount 후 EBS를 console에서 때자.1) 해제한 E..

[AWS] AWS Backup 복구가 안될 때 (You are not authorized to perform this operation. Please consult the permissions associated with your AWS Backup role)

AWS Backup으로 백업을 한 뒤, 복구할 때 다음과 같은 에러가 뜬다."You are not authorized to perform this operation. Please consult the permissions associated with your AWS Backup role" 필자는 AWS Backup 중 "백업 볼트 생성"에서 "암호화 키"를 기본값으로 했을 때 발생했다.해결방법AWS Backup 백업 볼트를 생성하면서 Default로 만들어진 IAM Policy에 인라인 정책 추가1) IAM 검색2) "역할" - "AWSBackupDefaultServiceRole" 선택3) "권한" - "권한 추가" - "인라인 정책 생성"4) "Json""""{ "Version": "2012-10..

[AWS] ElastiCache for Redis 생성 (로그인 Session 보관용) - Tomcat

이중화된 서버에서 Session 관리는 필수이다.로그인 정보 세션관리를 하지 않으면 ELB에서 부하분산시, 로그인이 풀리게 된다.당연한 결과로, 서버간 로그인정보를 공유하지 않기 때문이다.따라서 이중화된 서버에서 로그인 정보를 담기위해 Session 관리를 진행해보자.로그인 세션을 유지하기 위한 세션클러스터링하는 방법은 3가지가 있다. 해결방법AWS ElastiCache for Redis를 이용하는 방법ELB에서 Sticky Session 활성화하는 방법WAS Session Clustering 진행하는 방법1) AWS ElastiCache for Redis를 이용하는 방법 Redis에서 사용할 SG 생성1) "보안그룹" 생성2) 6379 Port로 WAS 서버 오픈 #Redis는 6379포트로 통신 R..

VScode에서 Terraform + AWS CodeWhisperer 계정 연결하기

1. AWS에서 Terraform용 EC2 생성VPC / Subnet / Routing Table / Internat GW / Nat GW 가볍게 생성 후 EC2 생성EC2 보안그룹은 접속할 IP의 22Port를 열어두자 2. VScode에서 AWS EC2에 연결1. Remote - SSH #플러그인 설치 1. VScode 접속2. 왼쪽의 Remoot SSH 클릭3. SSH쪽의 + 클릭4. ssh ec2-user@AWS IP 입력5. Users/~~~/config 클릭6. 본인 IP 입력되어 있는지 확인7. VScode 재접속 후 확인 3. EC2에 Terraform이 접근권한을 가질 수 있도록 IAM 역할 설정그전에 Terraform 명령어를 통해 AWS 인프라를 생성하기 위해서는 적절한 권한을 부여해..

[AWS] cloudwatch로 EC2 자원 모니터링 하기

오늘은 AWS에서 Cloudwatch를 통해 서버들을 모니터링하는 방법을 알아보자.준비물AWS EC2 내 에이전트 설치 여부엔드포인트용 보안그룹 생성 여부엔드포인트 생성 (cloudwatch 용)Cloudwatch 확인1) AWS EC2 내 에이전트 설치 여부물론 AWS에서 제공하는 EC2에는 대부분 에이전트가 설치되어 있다.서버내에서 우선 확인해보자. 1-1) Cloudwatch Agent 설치 여부 확인sudo systemctl status amazon-cloudwatch-agent# Unit amazon-cloudwatch-agent.service could not be found -> 미설치시 나타나는 문장 1-2) Cloidwatch Agent 패키치 설치 여부 확인rpm -qa | grep a..

Auto Scaling 생성

Auto Scalin을 위한 사용자 데이터d#!/bin/bashecho 'ec2-user:원하는비밀번호' | chpasswdsed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_configcd /etc/cloudsudo sed -i 's/ssh_pwauth: false/ssh_pwauth: true/' cloud.cfgsystemctl restart sshd#stress 발생기sudo yum install stress1) sudo yum -y install httpd2) sudo touch /var/www/html/index.html# 접속 후3) sudo vi /var/www/html/index.html"""..

[AWS] S3 버전 관리 및 MFA 삭제 활성화 (CLI)

S3를 생성하고나서 S3 버전 관리 및 MFA를 설정해야만 삭제할 수 있도록 수정하려면 Console이 아닌 AWS CLI로만 가능하다. 또한 S3 버전관리가 되어 있어야 MFA 삭제 활성화를 킬 수 있다. bastion서버나 하나의 서버에 Admin 권한을 준 EC2로 접속 S3 List 확인 및 S3 versioning 설정aws s3 ls #s3 목록 aws s3api get-bucket-versioning --bucket 버킷명 #버저닝 확인, 미출력시 설정 안되어있음 aws s3api put-bucket-versioning --bucket 버킷명 --versioning-configuration Status=Enabled #버저닝 설정 MFA 삭제 활성화aws s3api put-bucket-ver..

AWS Logging

1) Lambda Loggin은 CloudTrail API호출을 통해 수집할 수 있다.1) cloudtrail 생성한 추적 클릭2) "데이터 이벤트" 편집 클릭3) 고급 이벤트 선택기로 전환4) 데이터 이벤트는 Lambda로 선택한 후, 지역과 람다 선택 2) S3 bucket 액세스 요청 로깅 (서버 액세스 로깅)S3 버킷 액세스 요청을 기록할 수 있다.대상 S3와 로그 수집 S3는 다른걸로 설정하자1) S3선택2) "속성" - "서버 액세스 로깅"3) 대상 S3 Bucket 선택

AWS CLI 다중리전 비용 발생

계정상 추적을 위해 AWS CloudTrail을 사용합니다. 하지만 콘솔에서 작업시, 디폴드값이 다중리전 활성화이기에, 다른 지역에서도 비용이 발생할 수 있습니다. 한 지역에서로 한정하려면 AWS CLI로만 작업이 가능합니다. 1) EC2 생성 2) EC2에서 CLI 설치sudo yum update -y sudo yum install -y aws-cli 2-1) CLI 구성aws configure 3) 혹은 EC2 IAM에 Admin 정책 부여 4) CLI 리전확인aws cloudtrail list-trails 4-1) 다중리전 비활성화aws cloudtrail update-trail --name "cloud trail 이름" --no-is-multi-region-trail