본문 바로가기

공개

(34)
docker image 압축해보기 오랜만에 도커를 가지고 실습을 해볼 것이다 일단 왜 docker image를 압축하냐고 물어볼 수 있다 보통 컨테이너를 실행하려면 그 이미지를 docker hub에서 가지고 와서 실행을 시킨다 근데 만약 본인의 인터넷이 지금 연결 되어있지 않다면 ?? 도커를 사용하기 어려울 것이다 그래서 도커이미지를 압축해서 사용하는 것이다 왜냐하면 인터넷을 사용할 필요 없이 압축을 풀어서 사용할 수 있기 때문이다 일단 nginx 를 run 시켜보겠다 실습) docker run -d nginx docker images로 확인을 해주면 이런식으로 잘 올라와 있는 것을 알 수 있다 이제 이 이미지를 압축 해보겠다 docker save -o nginx.tar nginx:latest ls 이러한 압축파일이 눈에 보일 것이다 이..
AWS ECS 컨테이너 서비스 구축(2) 로드벨런서를 연결해 Fargate 의 부하분산을 해주는 실습을 진행해보겠다. 일단 AWS 자원들과 함께 사용을 하려면 서비스 단위로 운영을 해야한다고 했다 그리고 이 실습을 진행하기 전에 AWS ECS 컨테이너 서비스 구축(1) 에서 클러스터와 컨테이너를 만들어 놔야한다 그래야 실습이 가능하다 실습 시작) 일단 target group 은 그냥 같은 vpc만 선택하고 하나 만들어 준 뒤에 ALB를 생성한다(이유는 쓸모가 없음!) 네트워크 매핑을 보면 무조건 클러스터의 vpc값을 매핑해줘야한다 이런식으로 limtest/Public 이름이 나와있을 것이다 보안 그룹은 이런식으로 인바운드가 http 80이면 된다 연결해주고 target group 도 자신이 그냥 임시로 만든 target group을 넣어준다 로..
AWS ECS 컨테이너 서비스 구축(1) -실습 요약- 1.ECS 작업 정의 만들기 A.작업 정의 이름 B. 컨테이너 구성 2.클러스터 생성 3.작업 실행 및 테스트 A.작업 정의 실습 시작 ECS로 들어가서 Task Definitions로 들어간다 Create new Task Definitions로 들어가 FARGATE를 선택한다 이름을 정의하고 Task role 즉 다른 네트워크 서비스를 사용할 일이 없으니 None으로 설정하고 Network mode는 awsvpc로 한다. 그이유는 네트워크 모드는 호스트 PC 와 컨테이너 간의 네트워크 설정을 해줄 수 있지 파게이트는 호스트 PC가 없기 때문에 vpc와 직접 연결되는 AWSVPC만 사용할 수 있다 그 다음은 IAM 권한이다 저 영어를 해석하면 Elastic Container Service에..
ECS 오케스트레이션: 수십 개에서 수백개의 도커 컨테이너나 인스턴스를 어디에서 어떤 컨테이너가 실행되고 어떤 문제점이 있는지 모니터링하고 관리할 수 있는 도구를 컨테이너 오케스트레이션이라고한다 ECS 우리가 알아볼 ECS는 바로 AWS에서 제공하는 오케스트레이션 서비스이다. - container 통합 서비스 - Docker,window container 지원 - 빠른 배포 - vpc내에서 container 의 보안 관리 - kubernetes 와 유서함 하지만 차별점이 있음 - 차별점은 ECS는 AWS IAM,Route53,vpc연동이 가능하다 ECS를 돌리는 방법들 1)EC2 Instances 2)AWS Fargates(Serverless compute Engine For Containers) ECS의 구성..
DynamoDB개념 Dynamo 특징 -NoSQL 데이터베이스 -매우 빠른 쿼리 속도 -Auto-Scaling 기능 탑재(비용적인 측면에서 이점이 있다) -Key-Value데이터 모델 지원 -테이블 생성시 스키마 생성 필요 없음(본인이 알아서 스키마를 해주는 구조) -SSD 스토리지 사용(빠른 편) DynamoDB 구성 -테이블 -아이템:값 -키:value 근데 key-value 기 때문에 키:값 이런 구도이다 DynamDB - Primary keys -PK를 사용하는 데이터 쿼리 -파티션키(partition key) 고유 특징 실제 데이터가 들어가는 위치를 정해줌 파티션키일 경우 동일한 두개의 데이터가 같은 위치에 저정되지 않습니다 이런식으로 DynamoDB 안에 있는 hash funciton이 파티션의 위치를 정해주고 ..
KMS란 KMS 궁금해만 하고 알려하지 않았던 것이라고 말하고 싶다 하지만 이번 기회에 한번 다시 정리해보려 한다 KMS(key Management Service)란 1.KMS는 암호키(Encryption Key)를 쉽게 생성하고 제어할 수 있게 해주는 관리형 서비스다 2.암호키를 사용하여 AWS 서비스에 암호화를 시켜준다. 즉 AWS에서 resource들을 함호화 하는데 사용한다 (s3,RDS,EBS,RDS,DynamoDB,CloudTrail등등) kms를 사용하는 이유 - 고객 정보 - password - private 한 것 결국엔 아무에게나 보여주지 않는 정보들을 보호하기 위해 사용한다 KMS는 크게 세가지 방식으로 Key 관리 서비스를 제공한다 1.AWS Managed key: AWS 서비스들이 KMS ..
lambda 트리거 실습 시나리오 1. 이미 구성해 둔 Auto Scaling group이 있다 2. Auto scaling 을 트리거 하여 스케일아웃하고 새로운 Amazon EC2 인스턴스를 실행한다 3. 이 인스턴스가 Amaozn simple notification service(SNS) 주제로 알람을 전송한다 4. SNS 주제는 다음 작업을 수행하는 AWS Lambda 함수를 트리거 한다 a) 인스턴스에 연결된 Amazon EBS 함수를 트리거 한다. b)인스턴스에 태그를 추가한다. c) Amazon cloudwatch 로그에 대한 정보를 전송한다 -Auto scaling 이벤트에 대한 알람의 대상이 되는 SNS 주제를 생성한다 -새 Amazon ec2 인스턴스가 시작되면 알람을 전송하도록 Auto Scaling 그룹..
event pattern 에 대해서 CloudWatch Events란 Amazon CloudWatch Events는 거의 실시간으로 시스템 이벤트 흐름을 제공하여 Amazon 웹 서비스 자원의 변경을 낸다. 규칙에 맞는 이벤트를 하나 이상의 목표 함수나 흐름으로 나누는 간단한 규틱을 사용할 수도 있다 여기서 우리가 알고 싶은 것은 event pattern 이다 바로 서비스에 대한 조건을 주는 것이다 pattern 으로 { "source": ["aws.application-autoscaling"], "detail-type": ["Application Auto Scaling Scaling Activity State Change"] } 지금 사진과 함께 보이는 이벤트 패턴은 Application Auto Scaling 서비스의 이벤트 유형인 S..