AWS
[AWS] Auto Scaling
Auto Scaling이란?애플리케이션의 수요에 따라 자동으로 리소스를 조정하여 트래픽 변화에 대응하는 서비스.애플리케이션이나 서비스에 필요한 서버(가상머신)를 자동으로 늘리거나 줄이는 것을 관리해 주는 도구 목표Auto Scaling으로 웹서버 생성 후 cpu로 부하를 줬을 때 이 변화에 맞춰서 대응할 수 있는지 확인 구축 순서1. (ALB)대상그룹 생성2. 로드밸런서 생성3. 서버 생성4. 이미지(AMI) 생성5. 템플릿 생성6. 오토스케일링 그룹 생성7. 테스트 1. 대상그룹 생성웹서버를 운영 할 것이므로 80번 포트에 대한 대상그룹 생성따로 서버는 선택하지 않고 대상그룹만 생성 2. 로드밸런서(ALB)생성HTTP 프로토콜을 사용하므로 Application Load Balancer 생성 외부에서 접..
[AWS] EFS
AWS efs 개념 및 구성 방법EFS란? "Elastic File System"의 약자로, 클라우드에서 파일 시스템을 쉽게 관리할 수 있는 서비스이다. 여러 서버에서 동시에 사용할 수 있는 공유 스토리지이며 서버 간에 파일을 쉽게 공유하고, 데이터를 안전하게 저장하며 필요할 때 확장할 수 있다.온프레미스의 NFS라고 생각하면 된다. 구성할 환경서버 2개 생성 후 EFS를 통해 파일을 공유해 볼 것이다. EFS 구성 방법VPC 설정편집에서 DNS 호스트 이름 활성화 체크 efs전용 보안그룹을 생성 후 유형은 NFS(2049), 소스는 마운트 할 서버의 보안그룹으로 지정 EFS -> 파일 시스템 생성에서 이름 지정 후 VPC선택 생성된 EFS들어가서 네트워크 - 관리 보안그룹을 처음에 생성한 것으로..
[AWS] EBS
AWS EBS란?"Elastic Block Store"의 약자로 쉽게 말해 가상환경에서 사용할 수 있는 가상 하드디스크이다.온프레미스 환경의 디스크와 다르게 용량 확장, 스냅샷 백업 등의 기능을 통해 탄력성(Elastic) 있게 사용할 수 있다. EC2 인스턴스 디스크 용량 확장현재 볼륨크기 8GB20GB로 확장하려 한다. 서버 - 스토리지에서 증설할 볼륨 선택 해당 볼륨 선택 후 수정 원하는 크기 입력 서버 접속해서 lsblk명령어로 확인 시 xvda 디바이스 크기는 늘어났지만 /는 그대로이다. 아래 명령어로 파티션을 확장 후 lsblk 명령어로 확인해 보니 7.9G에서 19.9로 확장된 것을 확인할 수 있다.sudo growpart /dev/디바이스명 1sudo growpart /dev/xv..
[AWS] EC2 Instance Connect is unable to connect to your instance. Ensure your instance network settings are configured correctly for EC2 Instance Connect.
AWS에서 서버에 EC2 Instance Connect로 접속을 하려 하면 아래와 같은 오류가 발생한다.Failed to connect to your instance EC2 Instance Connect is unable to connect to your instance. Ensure your instance network settings are configured correctly for EC2 Instance Connect. For more information, see EC2 Instance Connect Prerequisites at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html..
[AWS] Linux 사용자 별 key pair 생성 & 접속
AWS Linux에서 새로운 사용자 생성 후 해당 사용자만의 key pair 생성 후 접속하기 Tom이라는 유저 생성. 이 유저로 접속 테스트 할 것이다. tom 사용자로 변경 후 사용자 홈 디렉토리에 .ssh 디렉토리 생성 경로 : /home/tom/ su - tom mkdir .ssh .ssh 경로로 들어간 후 authorized_keys 파일 생성 후 권한 600으로 변경 touch authorized_keys chmod 600 authorized_keys ssh-keygen 명령어 실행(전부 엔터로 스킵). .ssh 디렉토리에 id_rsa / id_rsa.pub 파일이 생성된다. id_rsa.pub의 내용을 authorized_keys로 복사 cat id_rsa.pub > authorized_ke..
[AWS] Cannot create a publicly accessible DBInstance. The specified VPC does not support DNS resolution, DNS hostnames, or both. Update the VPC and then try again
RDS DB 퍼블릭 액세스 허용하기 위해 설정을 바꾸려 하면 아래와 같이 나온다. 죄송합니다. DB 인스턴스 dhkang-rds에 대한 수정 요청이 실패했습니다. Cannot create a publicly accessible DBInstance. The specified VPC does not support DNS resolution, DNS hostnames, or both. Update the VPC and then try again 해결방법 1. 해당 리소스를 사용하는 VPC -> VPC 설정 편집 2. DNS 호스트 이름 활성화 체크
[AWS] RDS 데이터베이스 시간 변경 (Timezone 변경)
aws에서 rds를 생성하면 처음 시간은 UTC로 나오게 된다. 한국 시간으로 변경 방법 1. RDS -> 파라미터 그룹 -> 파라미터 그룹 생성 2. 기본적인 정보 입력 3. 생성한 파라미터 그룹 들어가서 편집 4. 검색창에 time_zone 입력 후 해당 파라미터 값을 Asia/Seoul로 변경 후 저장 5. 변경할 데이터베이스 선택 후 수정 6. 추가 구성에서 DB파라미터 그룹을 생성한 그룹으로 교체 후 계속 7. 즉시 적용 8. 데이터베이스 재부팅(필수) 9. 결과
[AWS] 도메인 https 설정
사전작업 도메인 구매(https://reddot.kr/52 참고) - dhkang2.shop SSL 인증서 구매(https://reddot.kr/54 참고) nginx 또는 apache가 설치되어 있는 서버 1. Route 53에 도메인 등록 이 과정은 완전히 필수는 아니지만 편의상 & AWS에서 레코드를 관리하기 위해 설정하자 Route53 -> 호스팅 영역 2. 도메인 구입한 곳(가비아, 후이즈 등)에서 네임서버 변경 생성한 호스팅 영역 레코드에 NS라고 되어있는 4개의 호스트명을 복사해 도메인 구입한 곳의 네임서버 부분을 변경하자.(맨 뒤에 .은 빼야 한다) 변경 후 적용되기까지 1~2 시간 정도 기다려야 한다. 3. ACM에 인증서 등록(AWS는 이 과정이 필수이다) ACM -> 가져오기 이 글에..
[AWS] VPN (with GCP)
VPN이란? 서로 다른 IP대역을 가진 장비 간에 가상 사설망을 만들어서 서로 통신이 가능하게 하는 것이다. 예를 들어, 해외로 출장을 나간 직원이 자신의 컴퓨터나 스마트폰을 사용하여 회사 네트워크에 접속을 하기 위해 VPN을 사용하며, 해외직구 같은 것을 할 때 해외에서 접속된 것처럼 보이게 하기 위해 VPN을 이용하기도 한다. VPN을 사용하면 데이터 전송 시 암호화되어 안전하게 전송되기 때문에, 외부에서 해킹이나 감청 등의 공격을 받더라도 데이터가 유출되지 않는다. 또한 이동성이 높아서 언제 어디서든 접속이 가능하다. 하지만 VPN 서버와 암호화 통신을 하는 만큼 네트워크 속도가 매우 느려진다는 단점이 있다. 구성할 환경 AWS 172.20.0.0/0 대역과 GCP에 10.128.0.0/20 대역에..
[AWS] Athena
Athena란? Amazon S3에 저장된 데이터를 대상으로 SQL 쿼리를 실행할 수 있는 서비스이다. 몇 초만에 대용량의 데이터를 조회해 결과를 얻을 수 있다. 이 글에서는 ALB의 Access log를 수집해 Athena를 이용해 분석해 볼 것이다. 사용 방법 1. 로그를 저장할 버킷 생성 2. 버킷 정책 설정 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::600734575887:root" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::logbucket3333/*" } ] } ELB가 위치한 지역의 ID값을 적으면 된다 ..