본문 바로가기

Amazon Web Service

(145)
Amazon EC2 태그 기준으로 Instance Private IP 확인 CLI aws 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/bash privateIpList=$(aws ec2 describe-instances --filters "Name=tag:Name,Values=wisen-blog-ec2" |jq '.Reservations[].Instances[0] | select(.State.Name == "running")' |jq '.PrivateIpAddr..
IPv6, IPv4 통신 IPv6->IPv6 / IPv6->IPv4 / IPv4->IPv4 통신 정리https://winter.kics.or.kr/storage/paper/event/2015_winter2014/publish/14C-56.pdfhttp://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/enterprise-ipv6-solution/white_paper_c11-676278.html 국내 ISP IPv6 관련http://blog.naver.com/nackji80/220050318467 CloudFront: IPv6 Enable 설정Route53: AAAA Record 등록(DNS64 지원 X)
AWS ELB 사용 시 Apache 408/503 error log AWS ELB와 Apache 사용 시 Apache의 Access Log에 408/50X 에러 로그가 발생되는 경우가 있다. 이 증상은 ELB의 idle timeout과 Apache의 mod_reqtimeout 모듈과의 충돌로 발생된다. ELB의 idle timeout은 Back-end EC2 Instance와 세션 유지를 위한 timeout 시간이며, mod_reqtimeout은 웹 서버 보안 모듈이다. 1. ELB Idle timeout까지 ELB는 Back-end EC2 Instance와 TCP 세션 유지 2. mod_reqtimeout은 일정 시간(default 20~40초)이 경과해도 probe를 보내지 않는 세션을 공격으로 간주하고 차단(408 에러 발생) 3. ELB Idle timeout은 ..
AWS VPC Security Group ID 포워딩 VPC Security Group의 경우 Auto Scaling 등 여러 제약으로 인해 아래와 같이 Security Group ID 포워딩 정책을 많이 사용한다. Security Group ID 포워딩의 경우 Private IP 대역에 대한 제어만 가능하다. 따라서 VPC 내의 리소스들이 Public 구간 통신을 할 경우 해당 정책은 적용되지 않는다.Test로 생각없이 공인 IP를 적었다가 Slave I/O: error connecting to master (MySQL, replica)와 같은 Connection Error 메시지가 발생되는 경우 Private 구간 통신을 하도록 하자.
MySQL Hostname 기준 VPN 접근 시 문제 MySQL Hostname 기준 계정 설정은 Client IP의 역방향 DNS 질의를 통해 Hostname과 비교 VPN 연동 시 사설 IP에 대한 역방향 DNS 질의를 통해 사설 Hostname을 가져옴, 계정 설정한 Hostname과 달라서 Connection 에러 발생 따라서 계정은 사설 IP 기준 권장, Hostname을 써야 한다면 역방향 질의된 Hostname 설정이나 Local DNS 변경을 통해 가능
네트워크 상태 확인(mtr) 예시) mtr -r -c 10 -T -P 80 www.naver.commtr -r -c 10 -T -P 80 52.79.111.111-r : report, -c : count-T옵션은 icmp echo대신 tcp syn패킷을 보내는 것이다. syn 패킷이 데이터를 포함하지 않기 때문에, 패킷사이즈는 무시된다. -P옵션은 port 넘버 mtr이 설치(1) redhat계열(redhat, centos, amazon linux): yum install mtrmtr --version 0.85버전 이하라면 아래 명령어 실행.wget ftp://fr2.rpmfind.net/linux/centos/7.2.1511/os/x86_64/Packages/mtr-0.85-7.el7.x86_64.rpmrpm -Uvh mtr-0...
AWS CloudWatch Custom Metric 생성 CloudWatch에서 EC2 Instance의 Memory 관련 metric은 지원하지 않는다. Custom Metric은 EC2 Instance의 데이터를 CloudWatch API 호출을 통해 Push 하는 형태. AWS API는 Rest API, SDK, CLI 여러 방법이 사용 가능하다. 이번 블로깅에서는 CLI를 이용한다. 먼저 AWS Custom Metric 생성 API 사용을 위해서는 CloudWatch Policy가 있는 Access&Secret 권한 혹은 Role이 필요하다. CloudWatch Full 권한을 갖고 있는 Policy를 생성한다. 해당 권한을 User(Access&Secret Key) 혹은 Role에 매핑한다. 테스트는 해당 Role을 갖춘 EC2 Instance 다. ..
AWS IAM 태그 기반 Policy 생성 잘 설명된 내용을 포워딩 http://awsdog.tistory.com/entry/IAM-Action%EB%B3%84-%EA%B6%8C%ED%95%9C-%EC%A0%9C%EC%96%B4%EC%8B%9C-Condition-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
AWS Lambda를 이용하여 Security Group 자동 제어 이번 블로그는 AWS의 How to Automatically Update Your Security Group .. AWS Lambda 블로깅 테스트 후기? 참고 How to Automatically Update Your Security Groups for Amazon CloudFront and AWS WAF by Using AWS Lambda | Amazon Web Services Update on June 14, 2018: We removed an out-of-date code sample. Update on August 23, 2018: We revised the “Configure your Lambda function’s trigger” procedure. Amazon CloudFront can h..
Amazon EC2 MySQL 5.6 설치 https://gist.github.com/dragonjet/270cf0139df45d1b7690
AWS CloudFront 및 기타 CDN 성능 측정 솔루션(Keynote) AWS 서비스는 아니지만, CDN 및 기타 글로벌 성능 측정을 위해 사용되는 Keynote 솔루션을 소개한다. Keynote는 각국 ISP 서버를 통해 HTTP 및 기타 프로토콜에 대한 성능을 측정한다. (현재 Dynatrace가 Keynote를 매수) Customer experience analytics | Dynatrace Optimize digital experience with customer experience analytics from Dynatrace. Proactively resolve issues to improve performance and availabilty. Get a free trial. www.dynatrace.com 회원가입은 패스하고, HTTP 통신에 대해 설정하는 방법을..
AWS ElastiCache(Redis) AWS ElasticCache는 AWS의 in memory cache로 SaaS 형태로 제공됩니다. ElastiCache는 AWS에서 S3, EC2, RDS, CloudFront 다음으로 많이 사용하는 서비스입니다. 엔진은 Memcached와 Redis를 지원합니다. 현재 Memcached는 1.4.5, Redis는 2.8.X, 3.1까지 지원합니다. 따라서 ElastiCache Redis의 경우 Cluster가 지원되지 않습니다. 지원됩니다. Replication Cluster를 통해 HA 구성을 해야 합니다. 기존 IDC 혹은 VM 위에 Redis를 구성했을 경우와 ElastiCache(Redis)를 사용할 경우 비교 및 제약 사항 1. HA 구성- 만약 Redis 구성을 직접 수행한다면, SE는 서..
AWS 2015 IoT 해커톤 참여후기 메일을 정리하다가, 작년 2015년 생일..에 참여했었던 해커톤 대회 메일을 보고 업데이트용 블로깅 AWS에서는 꾸준히 해커톤 대회를 개최하고 있으며, 작년에는 미국 외 최초로 국내에서 해커톤 대회가 개최됐습니다.뭐 대충... 요런 환경 속에서 아침부터 자정까지 에디슨보드, AWS 인프라 구성, 개발을 진행합니다. 저희 팀은 에디슨보드를 드론에 올리고, 에디슨 보드에 부착된 센서를 통해 드론 주변 환경에 대한 환경을 측정하는 환경 탐사 드론?을 주제로 참여했습니다. 드론의 모습이구요. 드론에 부착된 센서를 대쉬보드로 볼 수 있도록 만들었습니다. 상단이 짤렸네요. 우측 하단은 드론 카메라의 영상을 송출받는 화면인데, 짤렸습니다. wifi를 통해서 전송하는데 딜레이가 있었던 걸로 기억됩니다. 같은 팀 주장님..
Amazon CloudFront SSL 인증서 설정하기 HTTPS 통신은 이제 필수다. 간단한 SSL 관소개 웹툰: [웹툰03] SSL이란 무엇인가? 1/2 이 웹툰은 원래 통신사 비판으로 기획되었습니다. 프롤로그 격으로 한국의 보안 현실을 간단히 훑고 가려고 했으나..... 보안 관계자 여러분들의 열화와 같은 성원에 힘입어 본격 보안 만화로 탈바꿈하게 되었습니.. minix.tistory.com [웹툰04] SSL이란 무엇인가? 2/2 이 페이지에 있던 보안 웹툰은 사정에 의해서 가리게 되었습니다. 그 이유가 궁금하신 분은 에서 확인하실 수 있습니다. 김인성. minix.tistory.com 경험상 HTTPS는 HTTP 대비 약 1/3~1/5 수준의 성능을 보입니다. 가령 1Gbps HTTP 통신이 가능한 인프라가 HTTPS를 사용할 경우 200Mbps~5..
MySQL 모니터링 솔루션(오픈소스, Prometheus+Grafana) https://www.percona.com/blog/2016/02/29/graphing-mysql-performance-with-prometheus-and-grafana/
AWS CloudWatch Data Point API(PHP, Javascript) AWS CloudWatch는 기본적으로 2주 간의 데이터만 제공합니다.따라서 보안 심사 혹은 내부적으로 2주 이상의 데이터가 필요한 경우 AWS API를 통해 DB 혹은 S3에 저장해야 합니다. AWS SDK를 사용하다보면 Request 파라미터 값이 조금? 복잡해서 PHP 및 Javascript 샘플 코드 공유합니다. getMetricStatistics Function의 경우 Result가 시간 순으로 정렬되어 있지 않아, 시간 순으로 정렬이 필요합니다. PHP 5.3.3++ Sample (AWS PHP v2)(http://docs.aws.amazon.com/aws-sdk-php/v2/guide/index.html)123456789101112131415161718192021222324252627
AWS DirectConnect 이해하기 AWS DirectConnect는 IDC와 AWS Infra를 사설 통신으로 연결시켜주는 서비스입니다.Direct Connect은 보안상 IDC에 중요한 Data가 있거나, 내부 사용자를 위한 서비스를 AWS 내에서 사용할 때 주로 사용됩니다. Direct Connect는 AWS Console에서 제어해서 사용할 수 있는 서비스가 아니며, 아래 구성 요건이 필요합니다. 구성 요건1. DX Location Center인 가산 IDC까지 전용망이 연결되어 있어야 합니다. (DX 파트너 사에서 대행 가능)2. BGP를 지원하는 Router가 IDC 내에 있어야 합니다.3. KINX와 같은 DX AWS Partner 사가 필요합니다. (AWS DX 코로케이션은 KINX IDC 이용) 사용할 수 있는 Networ..
AWS Elastic Trancoder를 활용하여 HLS 서비스 하기 Elastic Transcoder를 이용하여 기존 스트리밍 서비스를 HLS 방식으로 서비스할 수 있습니다.미디어 스트리밍은 크게 RTMP, RTSP, WMS, HLS(Http Live Streaming), HTTP Progressive 등으로 나눠집니다. 간단하게 스트리밍 프로토콜을 분류해서 설명하면, RTMP: 모바일용 스트리밍RTSP: PC용 스트리밍WMS: Windows 기반 스트리밍장점: 클라이언트 사이드에 스트리밍된 캐시 파일이 남지 않습니다. 또한 저화질, 고화질 등으로 파일을 트랜스코딩 하고, 사용자 Bandwidth에 맞게 해당 파일을 스티리밍할 수 있습니다. 단점: Wowza와 같은 미디어 서버와 Client Side에 플레이어가 필요합니다. 또한 80 포트만 열려 있는 사내 서비스로 사..
AWS goofys file system goofysgoofys -o allow_other --uid 500 --gid 500 leedoing-test /mnt
AWS 기존 IDC(MySQL)에서 RDS(MySQL)로 Migration 하기 안녕하세요.금일은 IDC에서 AWS RDS로 Migration 하는 방법 및 테스트 결과를 블로깅 하도록 하겠습니다. 의식 흐름대로 테스트 및 글이 두서가 없습니다. 바쁘신 분은 결과만 보세요.---------------------------------------------------------------------------------------------------------------------------------------테스트 결과MySQL 5.6.27 / sql File Size 4.5GB(wiki page .sql dump), DB Size 10 GB(단일 테이블 3,800만 row) / Full Dump 진행(참고 - https://dumps.wikimedia.org/enwiki/late..
AWS ElasticTranscoder 사용하기(S3 Event, Lambda 활용) 금일은 Elastic Transcoder 포스팅합니다.Elastic Transcoder는 미디어 파일을 인코딩(파일 포맷, 해상도, 패킷타이징, 썸네일, Watermark 등) 서비스입니다. 현재 Seoul Region은 지원되지 않으며, 업데이트 우선 순위도 낮은 것으로 알고 있습니다. 따라서 Tokyo Region을 써야 합니다. (국내에서 사용하고 싶으면 Input은 Tokyo Region S3, Ouput은 Seoul Region S3로 하면 될 듯 하나..굳이..)또한 vod 파일에 한해서 지원되며, Live 인코딩은 지원되지 않습니다. S3 Event, Lambda와 연동하면 서버 없이 인코딩 시스템을 구축할 수 있습니다. (Lambda 포스팅 재탕이네요....Lambda 내용은 좀 배제했습니..
Amazon RDS Audit Plug-in 지원(MriadDB_10.0.24 / MySQL_5.6.29, _5.7.11) 안녕하세요. 오버워치하느라, 블로그 업데이트가 안 됐었습니다. 금일 내용은 RDS Audit Log 지원입니다.RDS Audit Plug-in이 2016년 4월 27일부터 지원됩니다. 대상은 MariaDB_10.0.24 ~ / MySQL_5.6.29 ~ 입니다.RDS의 경우 Parameter Group을 통해서 DB 튜닝이 가능하며, 그 밖의 Parameter들은 Option Groups을 통해서 추가해야 합니다. 운영 혹은 테스트 중인 Option Group에서 Add Option을 선택하면 아래 그림과 같이 MARIADB_AUDIT_PLUGIN 모습이 보입니다. SERVER_AUDIT_EVENTS : empty의 경우 default이며, 모든 로그가 기록됩니다. CONNECTION, QUERY, TA..
AWS EC2/RDS 상용 Database(Oralce) 사용 시 정리 오늘은 EC2에서 직접 상용 DB(Oracle)을 설치해서 사용하는 경우와 RDS를 이용해서 사용하는 경우를 간단히 비교한다. Oracle의 경우 버전에 따라 사용할 수 있는 기능에 차이가 있습니다. 그 중 가장 중요한 RAC를 통한 비교다. 또한 Oracle RAC 구성을 위해서는 마켓에서 iSCSI와 Oracle RAC Node를 사용해야 하는데, 아직 Seoul Region은 지원하지 않는다. EC2에서는 swap memory를 지원하지 않으므로 수동으로 구성해야 한다. EC2에서 Oracle EE를 운영할 경우 RAC가 가능하다. 잘 설명되어 있는 것 같은데, 부담스럽다. (RAC 참고) AWS Articles aws.amazon.com 구분 EC2 Oracle 운영 RDS Oracle 운영(SE..
AWS 계정 및 Resource 관리 방법 안녕하세요. 오늘은 AWS Resource들을 어떤 식으로 관리할 수 있는지 알아보도록 하겠습니다. 기본적으로 Tag를 통해서 Resource를 관리할 수 있습니다.한 계정 내에서 여러 서비스를 사용하는 것은 권장하지 않습니다. 비용 관리가 어려워집니다.참고로 AWS 다른 계정 간 통신이라도 동일한 계정 정책의 비용을 따릅니다. 예를 들어 A계정 S3를 사용하고 B계정에서 CloudFront를 사용하더라도 트래픽 비용은 발생되지 않습니다. 그래도 한 계정 내에서 여러 서비스를 사용하겠다면, 두 가지 방법을 통해서 Resource 및 계정을 관리할 수 있습니다. 첫 번째, 각 서비스마다 Resource Groups을 통해서 관리합니다.두 번째, 각 서비스의 권한은 Tag를 기반으로 Policy를 생성하고,..
AWS Public Cloud 비교(AWS, Azure, Google Cloud Platform, OpenStack) Public 클라우드 비교 표입니다.Amazon Web Servuces IN ACTION 책에서 발췌했습니다.(참고 - http://www.amazon.com/Amazon-Services-Action-Andreas-Wittig/dp/1617292885/ref=sr_1_1?ie=UTF8&qid=1460178770&sr=8-1&keywords=amazon+web+services+in+action) 세부적인 관점으로 보면 여러 차이점이 있습니다. 가령 스토리지 사이즈의 한계나 서비스 별 지원하는 SDK 언어라든지 차이가 있습니다만, 큰 틀에서 아래와 같다고 생각이듭니다. 실제로 각각 클라우드들을 모두 사용해본 것은 아니라서 잘 모르겠습니다만, 종합적으로 보면 AWS가 우세하며, Windows 기반의 서비스라면..
AWS EFS(Elastic File System) 간략한 소개 및 성능 테스트 결과 안녕하세요.금일은 AWS의 NAS 서비스인 EFS에 대해 간략하게 블로깅 하도록 하겠습니다. - EFS(Elastic File System)란 AWS 네트워크 스토리지- Disk Size 관리가 필요 없음- Disk Size에 따라 Throughput 및 IOPS가 자동 증가/감소(http://docs.aws.amazon.com/ja_jp/efs/latest/ug/limits-throughput.html)- 페타바이트 규모의 파일 시스템- NFSv4 파일 시스템 지원(Windows 불가, NFSv4 Client Service 지원하지 않음)- AZ 간 데이터 복제- 가격은 EBS보다 약 3배 비쌈- 수천개의 Connection 보장 현재 Oregon 리전에서 Preview 형태로 제공됩니다. VPC 기준..
AWS 활용 Web Application 구축(VPC, Security Group, NACL, ELB, Auto Scaling, VPN) 안녕하세요. 금일은 AWS을 이용하여 Web Serivce(3tier) 구성을 해보도록 하겠습니다. 간략한 이미지와 대략적인 설명이 있으므로, 세부 옵션은 해당 컴포넌트의 Document를 확인하시기 바랍니다. 실제 서비스를 위해서는 사전에 IAM, CloudTrail, CloudWatch, CloudFront, S3 등 AWS 각 컴포넌트들의 이해가 필요합니다. 또한 사전에 VM(EC2 Instance, RDS) 생성 등 기본적인 AWS 사용 방법을 숙지해야 합니다. VPC에 대한 구성을 세부적으로 확인해봅니다. VPC Document - http://docs.aws.amazon.com/ko_kr/AmazonVPC/latest/UserGuide/VPC_Introductions.html VPC Wizar..
AWS EBS Daily Snapshot aws node sdk를 이용해서 EBS Daily Snapshot를 생성해본다. aws sdk 사용 방법은 이번 블로깅 범위가 아니니 생략한다. 사전에 sdk 사용 방법은 숙지해야 한다. 참고 Node.js의 JavaScript용 AWS SDK Mac/Linux의 경우 ~/.aws/credentials에, Windows의 경우 C:\Users\USERNAME\.aws\credentials에 자격 증명 파일을 생성 [기본값] aws_access_key_id = your_access_key aws_secret_access_key = your_secret_key 자격 증명을 로드하는 다른 방법은 시작 안내서를 참조하십시오. 버킷 이름은 소문자, 숫자, 하이픈(-)을 포함할 수 있습니다. 각 레이블은 aws...
Amazon RDS 정리 RDS에 대한 좋은 소개 자료가 어제 slideshare에 올라와서 공유 (http://www.slideshare.net/awskorea/amazon-rds-aws) 간략하게 설명하면 RDS 사용 시, 설치 및 설정에 대한 Provision 필요 없으며. 운영 Resource를 절감할 수 있습니다. 자료에 덧붙여 RDS 이용 시 고려해야 할 사항이 있습니다. 첫 번째, RDS는 DNS만을 통한 접근만 허용됩니다. 두 번째, 사용자는 Root 권한이 주어지지 않습니다. 세 번째, Audit log등의 플러그인 사용이 불가합니다. 다만 AWS에서 우선 순위를 정해 플러그인을 업데이트 하고 있습니다. 네 번째, 비용은 Multi-AZ 사용 시 EC2 대비 30~50%정도 더 비쌉니다. 다섯 번째, RDS의 E..
Amazon Route53 Geolocation을 활용한 Client 로케이션 별 분기 Route53은 AWS의 DNS 서버로 Simple, Weighted, Latency, Failover, Geolocation 정책으로 도메인 리졸빙이 가능. CloudFront의 경우 저렴한 비용이 아니기 때문에 국내 사용자는 저렴한 국내 CDN 서비스를 이용하고, 국외는 CloudFront 서비스를 이용할 수 있음. 만약 Route53을 이용하여 DNS를 이용한다면 Geolocation을 통해서 국내외 사용자 분기가 가능함(ISP 별 분기는 불가하지만 Latecy 분기로 비슷한 효과는 가능) 해당 내용은 다음과 같이. 매우 간단함. 추가로 해당 여러 CDN 업체를 사용할 때는 CNAME 분기된 도메인 하위 레코드를 Weighted 기능을 사용하여 비율을 조정할 수 있음. Weight 5, 5 값을 넣..