본문 바로가기

프로그래밍/AWS(아마존 클라우드)14

ELB 에 HTTPS 설정하기 - 2 - 예전 방식인 Classic Loadbalncer 의 경우, 2017.04.13 - [프로그래밍/AWS(아마존 클라우드)] - ELB 에 HTTPS 설정하기... 포스팅을 참고해주세요. 먼저, 로드밸런서를 생성합니다. 이때 Application Load Balancer 를 생성합니다. 로드 밸런서의 이름을 지정합니다. Network mapping 의 경우 EC2 가 위치하고 있는 가용 영역을 지정합니다. 추후 추가할 영역도 고려하여 복수개 선택합니다. Listeners and routing 에서 HTTP 80 의 타겟 그룹을 생성합니다. 타겟 타입은 Instances 를 선택합니다. 타겟 그룹네임을 지정합니다. 프로토콜 버전은 HTTP1 을 선택합니다. Health check path 를 지정하고 홈페이지.. 2021. 12. 3.
AWS EB CLI 사용하기 - Mac OSX 먼저, CLI 를 설치합니다. brew install awsebcli eb --version 이미, Elastic Beanstalk, CodePipeline, github 가 연동된 경우라면 등록한 액세스 키 등을 이용하여 초기화 및 연결할 수 있습니다. 먼저, 프로젝트의 루트 디렉토리에서 아래 명령어를 실행합니다. eb init 리전을 선택하고 난 후, 기 설치된 EB 어플리케이션이 있으면 선택하거나 신규로 생성할 수 있습니다. 콘솔에서는 github 와 연동하는 방법이 보이지않는 관계로, github 와 연동할 경우에는 management console 을 사용합니다. 만약, 여러 계정의 AWS 를 사용하고 있다면 각각의 설정을 사용하기 위하여 아래 파일의 내용을 수정합니다. vi ~/.aws/con.. 2020. 3. 5.
AWS CLI 사용하기 - Mac OSX 먼저, IAM 서비스로 이동한 후, 사용자 추가를 클릭합니다. 사용자 이름은 로그인 시 사용되는 아이디라고 보면 되는데, .cli 를 붙여 용도를 구분할 수 있도록 하는 것도 좋습니다. 콘솔을 통해서만 접근할 용도로 생성할 때는 액세스 유형에서 "프로그래밍 방식 액세스"만을 선택합니다. 권한 설정의 경우, "기존 정책 직접 연결"에서 원하는 정책 필터를 추가하면 됩니다. 이후, 태그 등을 입력한 후 액세스 키 ID 와 비밀 액세스 키를 잘 복사해둡니다. brew install awscli aws --version 접속할 사용자 정보를 설정하기 위해서는 아래 명령어를 실행합니다. aws configure 2020. 3. 5.
아마존 부팅시 루트권한 스크립트 실행 아마존 클라우드를 사용하면서, 리눅스의 방화벽 설정 등이 꼬여서 ssh 접근이 막힌다거나 하는 불상사가 발생하면 어떡해야할까요? 당황하지 말고 사용자 데이터로 스크립트를 등록하도록 합니다. 이때 해당 인스턴스를 중지하여야 스크립트를 저장할 수 있습니다. 스크립트는 아래와 같이 작성합니다.(firewalld 의 default zone 을 trusted 로 변경하여 모든 포트로 접근이 가능하도록 허용) #cloud-boothook #!/usr/bin/env bash /bin/firewall-offline-cmd --set-default-zone=trusted /bin/firewall-cmd --set-default-zone=trusted 이때 #cloud-boothook 을 반드시 맨 상단에 기입하여야합니다.. 2019. 6. 17.
Lambda 를 사용하여 CodeCommit 을 Slack 과 연동하기 먼저, Slack 에서 Incoming WebHooks 를 설치합니다. 설치 후, 설정을 시작합니다. 연동할 채널을 선택한 후, Add Incoming WebHooks integration 버튼을 클릭합니다. 생성된 Webhook URL 을 기록해둡니다. 이후, 아마존 클라우드콘솔로 접속한 후 람다함수를 생성합니다. 아래 표기된 내용으로 변경합니다.(기존에 등록한 람다함수를 사용할 경우, 역할 부분을 "기존 역할 선택"으로 하고 해당 함수를 선택합니다.) 기존 함수 코드를 변경합니다. 일단, 여기저기 돌아다니는 소스들을 취합하여 작성해보았습니다. 'use strict'; const url = require('url');const https = require('https');const util = requ.. 2018. 5. 21.
AWS 서버 yum install, update 시 메모리 부족 해결하기 아마존 EC2 로 설치하였을 경우, 기본적으로 스왑 메모리를 사용하지 않습니다. 따라서 부족한 메모리로 인한 yum 설치 등에서 오류가 발생하는 경우가 있는데 이때 임시로 스왑 메모리를 사용하도록하여 관련 작업을 진행시킬 수 있습니다. dd if=/dev/zero of=/swapfile bs=1M count=512 chmod 600 /swapfile mkswap /swapfileswapon /swapfile 작업이 끝난 후, 스왑 파일을 다시 제거합니다. swapoff -a rm -f /swapfile vi /etc/fstab 에서 아래 내용을 추가합니다. /swapfile swap swap defaults 0 0 2018. 5. 11.
CodeCommit 서울 리전 사용하기 - 403 오류해결 CodeCommit 서울 리전이 개설됨에 따라 기존 설정을 활용하여 신규 리포지토리를 추가하려보니, 403 오류가 발생하더군요. 그동안 관련 설정중 변경된 것들이 있나 모두 찾아보았으나 답은 정말 단순한 곳에 있더군요. ㅠㅠ git bash 에서 다음과 같이 서울리전 서버에 접속하며 RSA 키를 저장합니다. ssh git-codecommit.ap-northeast-2.amazonaws.com 그리고 ssh 의 전역 설정을 불러온 후, notepad ~/.ssh/config Host 의 내용을 와일드 카드를 이용하여 아래와 같이 수정합니다. Host git-codecommit.*.amazonaws.com 2018. 4. 2.
ELB 에 HTTPS 설정하기... 먼저, Certificate Manager 로 들어가 인증서 가져오기를 선택합니다. 인증서 본문에는 crt 파일을, 인증서 프라이빗 키에는 key 파일의 내용을 복사하여 붙여넣습니다. 인증서 체인에는 체인 파일의 내용을 복사하여 붙여넣습니다. 만약, key 파일 생성시 비밀번호를 사용하였다면 이를 제거하고 사용합니다.(파일명은 상황에 맞게 고쳐씁니다.) openssl rsa -in ssl.key -out ssl-nopass.key 이제 ELB 설정에서 Listeners 를 추가합니다. 기존 EC2 에 설치되어 있는 웹서버(nginx)의 SSL 옵션을 사용하지 않을거라서 Instance Protocol 은 HTTP 로 설정합니다. 따라서 Health Check 도 기존 HTTP 설정을 그대로 사용합니다. .. 2017. 4. 13.
CodeCommit 사용하기 - PhpStorm IAM 에 user 등록하고, AWSCodeCommitFullAccess 를 정책으로 추가합니다. 그런후, PC 에서 생성한 SSH 공개키를 업로드한 후에 아래와 같이 사용합니다. 먼저, PhpStorm 에서 프로젝트의 VCS 를 Git 으로 지정합니다. 그리고 프로젝트 소스를 Git 에 추가하고 커밋합니다. 커밋시 삭제하고 싶은 파일이나 디렉토리가 있으면, 선택 해제하고 커밋 메시지를 입력합니다. 아마존의 CodeCommit 에서는 리포지토리를 생성합니다. 사용할 이름(저장소명)과 설명을 작성합니다. 리포지토리가 생성되면, 접근할 수 있는 SSH 경로를 복사합니다. 끝으로, PC 에서(프로젝트의 git 루트 경로) 아래와 같이 원격 저장소를 orgin 으로 추가합니다. git remote add ori.. 2016. 9. 23.
EC2 서버 AZ 이동하기 만약, 미국에서 EC2 를 사용하다~ 느린 속도로 일본으로 해당 서버들을 옮겨야한다면 어떻게 하여야할까요? 먼저, 운영중인 EC2 의 이미지를 생성합니다. Instances 의 해당하는 EC2 에서 마우스 우클릭한 후, 팝업에서 Create Image 를 선택합니다. 생성할 이미지의 이름과 설명을 기재한 후, Create Image 버튼을 클릭합니다. 정상적으로 AMI 이미지가 생성되었다면 아래와 같은 창이 뜹니다. Images 의 AMIs 로 들어가면 생성된 AMI 를 확인할 수 있습니다. 이때 available 상태가 되기까지 약간의 시간이 소요됩니다. 상태가 available 이 되었다면 해당 이미지에서 마우스 우클릭한 후, 팝업에서 Copy AMI 를 실행합니다. 해당 이미지를 복사할 지역을 선택.. 2014. 11. 10.
아마존 클라우드 EC2, FTP 패시브모드 설정 - CentOS 6.x 먼저, 본 포스팅의 EC2 서버는 EIP 가 할당되어있습니다.(2014/08/11 - [프로그래밍/AWS(아마존 클라우드)] - 아마존 클라우드 서버, EC2 설치 - CentOS 6.x EC2 서버에 vsftpd 를 설치한 후, FTP 로 접속한 후 아래와 같이 커맨드를 입력해보면~ Bad IP connecting 이라는 메시지를 확인할 수 있습니다. 반환하는 172.31.1.139 의 IP 가 Public IP 가 아니기 때문입니다. 따라서, EIP 로 할당된 IP 를 제대로 전달할 수 있도록 직접 설정해 주어야합니다. vi /etc/vsftpd/vsftpd.confpasv_address=54.xxx.xxx.xxx 이때, = 사이에 공백이 없도록 입력하여야합니다. 이제 데이터 통신에 사용될 포트를 지.. 2014. 8. 25.
아마존 클라우드 데이터베이스, RDS 설치(MySQL) AWS 에서 서버를 추가(2014/08/11 - [프로그래밍/서버관리] - 아마존 클라우드 서버, EC2 설치 - CentOS 6.x)하고 해당 서버에 DBMS 를 설치하여도 되지만, 아마존클라우드에서는 별도의 데이터베이스 서비스(RDS)를 제공합니다. 이를 사용하면 분산된 서버 환경을 구성할 수 있게 됩니다. AWS Management Console 에서 RDS 를 선택합니다. Launch a DB Instance 를 클릭합니다. MySQL, PostgreSQL, ORACLE, MS SQL Server 중 하나를 선택하여 설치할 수 있습니다. MySQL 을 선택합니다. 1년 무료 서비스를 사용할 계획이므로 두번째 항목을 선택한 후, Next 버튼을 클릭합니다. micro DB 인스턴스와 20GB 이하 .. 2014. 8. 12.
아마존 클라우드 서버, EC2 설치 - CentOS 6.x 아마존클라우드에서 CentOS 서버를 설치해보았습니다. 먼저, AWS Management Console 에서 EC2 를 선택합니다. Launch Instance 버튼을 클릭합니다. AWS Marketplace 에서 CentOS 6.5 AMI 를 선택합니다. 여기서 AMI 는 아마존 클라우드에서 사용되는 이미지 파일입니다. 요금 정책이 나옵니다. 일단 1년 Free 요금으로 진행할 것이지만... 일단 살펴봅니다. Micro Instances 를 선택하여야 1년 무료 요금제로 사용할 수 있으며 간단한 웹서버 정도 돌릴 수 있을 정도의 사양 및 성능입니다. 좀 더 상세한 설정을 위해서 Next:Configure Instance Details 버튼을 클릭합니다. 만일의 경우에 대비하여 Protect agains.. 2014. 8. 11.
아마존 클라우드 네임서버, AWS Route 53 설정하기 개인적으로 운영하고 있는 서버에 지난 밤 8시부터 DNS DDos 공격이 발생하였습니다.(자체 DNS를 생성해서 쓰고 있거든요.) 별볼일 없는 서버에 이게 무슨 날벼락인지... ㅠㅠ 새벽에 IDC 에서 차단 조치를 한것 같았습니다. 서버호스팅을 받고 있던 터라 OS 는 CentOS 5.x ... Bind 9.10 이상 버전의 RRL(Response Rate Limiting)을 설정할 수 없는 상태인지라 일단 네임서버를 종료하고 대응법을 찾아보았습니다.(소스 설치는 귀찮....) http://blog.naver.com/thehogam/70181137457 http://www.dailysecu.com/news_view.php?article_id=4640 가장 확실한 방법은 Anycast 기반의 분산대응인거 .. 2014. 7. 22.