본문 바로가기

Compute

(15)
AWS ELB Backend Connection Errors 오픈 준비중인 서비스에서 ELB에서 Backend Connection Errors 및 Surge Queue Length 발생. Request가 없으나 Backend Connection Errors가 일정하게 발생되며, Surge Queue Length가 쌓이기 시작. Surge Queue Length는 ELB의 Backend EC2에서 처리하지 못한 Request가 버퍼에 쌓이는 것, Backend Connection Errors는 Backend EC2와 세션 과정에서 문제가 발생되는 것을 의미. 주로 Backend 가용성 문제로 인해 발생되는 메트릭으로 준비중인 서비스에서 발생되는게 이상함..업무는 아니지만.. 확인해봄 Application, EC2 OS, log 상에서도 특이점은 확인되지 않음. 또한..
AWS NLB(Network Load Balancer) AWS NLB는 AWS Load Balancer에 Elastic IP(고정)을 부여할 수 있는 현재?까진 유일한 Load BalancerL4 수준(TCP)으로 지원합니다. 따라서 http cookie 방식의 sticky는 지원하지 않으며, tcp 세션을 350초 유지 LB와 묶일 수 있는 대상1. VPC 내의 EC2 Instance2. AWS 다른 대역의 리소스 혹은 VPN, DX로 터널링 된 Private IP 대역(10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16만 가능) 1. Instance Taget Group 2. IP Taget Group 둘의 차이점은 1번과 같은 Instance ID를 이용한 형태로 Taget Group 지정 시 DSR(D..
AWS ElasticBeanstalk Root 경로 /var/app/current//var/www/html/ .extensinos sample files: "/etc/httpd/conf.d/vhost.conf": mode: "000644" owner: root group: root encoding: plain content: | NameVirtualHost *:80 DocumentRoot "/var/app/current/" Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted ServerName www.jschoi.net DocumentRoot "/var/app/current/jschoi" Options Indexes FollowSymLinks MultiViews A..
AWS Lambda 활용 태깅 없는 EC2 Instance 정지 Sample Code(Python boto3)1234567891011121314import boto3def lambda_handler(event, context): no_tag_instances = [] ec2 = boto3.client('ec2') instances = [i for i in boto3.resource('ec2', region_name='ap-northeast-2').instances.all()] # Print instance_id of instances that do not have a Tag of Key='Foo' for i in instances: if i.tags is None: no_tag_instances.append(i.instance_id); response = ec2.st..
AWS Lambda 활용 EIP 변경 방화벽 문제 등이나 기타 이유로 Elastic IP를 사용하는 서비스를 운영할 때 SPOF 발생(과거 NAT Gateway가 생기기 전에 NAT Instance 단일 장애 지점 문제와 같은...ELB는 아직 EIP를 지원하지 않음) 1. 필요한 Policy12345678910111213141516{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1491964068000", "Effect": "Allow", "Action": [ "ec2:AssociateAddress", "ec2:DescribeAddresses" ], "Resource": [ "*" ] } ]}Colored by Color Scriptercs 2. Role 생성(Trust relations..
Amazon EC2 태그 기준으로 Instance Private IP 확인 CLI 12345678910aws ec2 describe-instances --filters "Name=tag:Name,Values=wisen-blog-ec2" |jq '.Reservations[].Instances[0] | select(.State.Name == "running")' |jq '.PrivateIpAddress'(jq: https://stedolan.github.io/jq/) #!/bin/bashprivateIpList=$(aws ec2 describe-instances --filters "Name=tag:Name,Values=wisen-blog-ec2" |jq '.Reservations[].Instances[0] | select(.State.Name == "running")' |jq '.Priv..
AWS Lambda를 이용하여 Security Group 자동 제어 이번 블로그는 AWS의 How to Automatically Update Your Security Group .. AWS Lambda 블로깅 테스트 후기?입니다.(참고: https://aws.amazon.com/ko/blogs/security/how-to-automatically-update-your-security-groups-for-amazon-cloudfront-and-aws-waf-by-using-aws-lambda/) AWS가 사용하고 있는 IP-Range는 약 ipv6 포함 약 800 여개가 있습니다. 결제 혹은 CloudFront 연동 등 여러 이유로 해당 IP-Range를 확인하고 방화벽을 수동으로 작업하는 것은 거의 불가능합니다. (참고: https://ip-ranges.amazonaws..
Amazon EC2 MySQL 5.6 설치 https://gist.github.com/dragonjet/270cf0139df45d1b7690