본문 바로가기

728x90

AWS

[AWS] 특정 Policy가 할당된 Role 또는 User 찾기 아래와 같이 AWS로부터 정책이 변경된다는 메일을 받았고, 해당 Policy가 할당된 사용자나 Role, Group을 찾아야했다. Hello, We have detected that at least one user, group, or role in your account is currently employing either the AWSElasticBeanstalkFullAccess or AWSElasticBeanstalkReadOnlyAccess managed policy. These policies are scheduled for deprecation and will no longer be available for attachment to new IAM users, groups, or roles af.. 더보기
[AWS] EC2 종료 시 filebeat 정상 종료 확인 및 대기 오토스케일링 설정이 되어 있는 경우 EC2 종료 시 약 1시간까지 종료 대기가 가능하다. 이 때 서비스를 활용하면 인스턴스 종료 시에 서비스를 종료하는 과정에서 원하는 프로세스를 체크하여 정상 종료를 확인 한 후에 종료시킬 수가 있게 된다. Elastic Beanstalk의 AMI인 Amazon Linux 환경에서는 chkconfig를 사용하여 서비스를 등록할 수 있다. systemd unit files/etc/systemd/system 디렉토리 하위에 unit file들 정의unit_name.type_extension 형식으로 파일명을 지정Unit 섹션에서 사용할 수 있는 옵션옵션내용DescriptionUnit에 대한 설명. 이는 systemctl status 명령으로 출력됨DocumentationUn.. 더보기
[AWS] Amazon ECS 사전 지식 ECS는 Docker를 사용하여 EC2 인스턴스 클러스터에 애플리케이션을 쉽게 배포하고 확장, 축소가 가능하도록 해주는 서비스이다. 이를 위해 각 EC2 인스턴스에 Docker 컨테이너를 어떻게 구성하여 띄울 것인지에 대한 작업 정의를 해 놓고, 이 작업정의를 기반으로 클러스터에 어떻게 실행하고 유지 관리할지에 대한 정의가 포함되어 있는 서비스를 생성한다. 이 때 작업 정의에서 사용되는 Docker 컨테이너의 이미지는 ECR의 각 리포지터리를 사용한다. 서비스에 대한 정의에 따라 ELB와 Auto Scaling이 구성되어 클러스터 내 EC2 인스턴스들이 확장되거나 축소될 수 있다. 주요 구성 요소Container InstanceAmazon ECS 에이전트를 실행 중이며 클러스터에 등록된 Amazon EC.. 더보기
[AWS] Elastic Beanstalk 생성과 Hook, .ebextensions를 통해 EC2 인스턴스 설정 Amazon Elastic Beanstalk는 크게 Application 이라는 범주 내에 여러개의 Environment들로 구성될 수 있다. 현재 사내에서 개발하고 있는 서비스를 예로 들면 하이브라는 모바일 게임을 특정하는 hive Application 내에 각 컨텐츠 기능을 수행 할 hive-webserver 라는 environment가 존재할 수 있고, 채팅을 담당할 hive-chat 이라는 또하나의 environment가 존재할 수 있다.위 그림에서 파란색 테두리에 해당 하는 것이 하나의 Environment이고 그 안에 ELB와 EC2 인스턴스, Auto Scaling Group등 다양한 서비들을 구성할 수가 있다. environment를 생성할 때 default로 생성을 하게되면 저비용으로 구.. 더보기
[리뷰] 아마존 웹 서비스 인 액션 - 한빛미디어 최근에 사내 프로젝트를 진행하면서 각 서버와 데이터베이스에 대한 장애처리나 분산 처리와 같은 부분에서 고민을 많이 하고 있었습니다. 그래서 docker를 도입해보기도 하고, Jmeter를 통한 부하 테스트 및 데이터베이스 분산을 위한 샤딩 구조 설계까지 팀 내 서버 개발자 3명이서 많은 시도와 고민을 수개월째 이어나가고 있던 중이었습니다. 결국에는 적은 인원으로 너무 많은 부분을 관리해야 하는 부담과 위험성 때문에 클라우드 쪽으로 방향을 틀었고, Amazon Web Service(이하 AWS)를 도입하게 되었습니다. AWS의 서비스들을 하나씩 알아가면서 감탄과 신세계를 경험했습니다. 먼저 데이터베이스는 RDS 서비스를 이용하면(그 중 Aurora) 가장 걱정 했던 샤딩을 내부적으로 알아서 해주고, 읽기 .. 더보기
[AWS] EC2 인스턴스에서 docker swarm 서비스를 통해 웹서버 구동 및 확장 이전 포스팅을 통해서 docker swarm manager와 worker 노드의 구성이 완료 되었다면 이제 실제로 서비스를 생성하여 각 노드들에 어떻게 컨테이너들이 구동되는지 살펴볼 차례이다. 그리고나서 간단하게 서비스를 확장하고 서비스의 변경사항을 반영하는 것에 대해 알아보도록 한다. visualizerdocker node ls명령과 docker service ls 명령을 통해서 각 노드들과 서비스의 상태를 파악할 수 있지만 콘솔창에 출력되는 텍스트만으로는 보기가 불편하기 때문에 visualizer를 통해 이를 시각화하여 볼 수 있도록 한다.visualizer 구동$ docker service create --name=viz --publish=5000:8080/tcp --constraint=node.r.. 더보기
[AWS] EC2 인스턴스에 Docker Swarm 구성 awscli 설정AWS의 각 리소스들에 접근하고 사용을 하기 위해서는 awscli가 설치되어 있어야 하고, 사용해야 하는 리소스들에 접근이 가능한 계정의 ACCESS_KEY와 SECRET_KEY가 필요하다. awscli 설치pip 설치$ sudo apt-get install python-pip python-dev build-essentialawscli 설치$ pip install --upgrade --user awscli aws 설정AWS 콘솔에서 ACCESS_KEY와 SECRET_KEY 발급IAM > Users > 사용자 선택 > Security Credentials 탭 > Create access key 해당 키의 SECRET_KEY는 발급 시에만 확인 가능하므로 잘 저장해둬야 한다.Show를 클릭하.. 더보기
[Docker] Docker for AWS Demo 따라해보기 아래 데모의 과정은 AWS Summit 2017에서 발표한 AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - 김충섭 개발자(퍼플웍스) 에서의 데모 시연 과정을 정리한 것입니다. 시작에 앞서 Docker for AWS를 통해 미리 정의된 AWS의 CloudFormation 템플릿을 사용하여 AWS 리소스들을 생성하고 아래 절차를 수행한다. (이 과정은 기본적으로 Next만 수행하면 되므로 생략) 리소스들이 생성되는 시간은 대략 10분정도 소요 데모 수행 절차CloudFormation에서 Output을 선택하여 manager 목록으로 이동manager 목록 중 하나를 선택해서 ssh 접속.여기서 ssh 접속 user 명은 dockerdocker service create 명령으로.. 더보기

728x90