DevOps

    [ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - (인프라) AWS KMS 개요

    [ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - (인프라) AWS KMS 개요

    데이터 암호화란? 데이터 암호화는 당연히 VPC안에서 우리의 서버에 들어오지 못하게 막을겁니다. 하지만 만약에 뚫렸을 떄를 가정해서 그 안의 정보들을 보지 못함에 목적이 있습니다. Client-side 암호화란 사용자가 직접 암화화 키를 관리하는 것입니다. 만약 사용자가 서버에 비밀번호를 쳐서 회원가입을 하려고 한다고 해 봅시다. 근데 그 중간과정에서 해커가 비밀번호 순서를 조금 바꾸어서 보내게 된다면, 서버에는 제가 쓴 비밀번호가 아닌 비밀번호가 저장되겠죠, 이러한 상황을 막기 위해, 암호화를 하는 것입니다. 그리고 이렇게 사용자가 직접 암호화 하는 것을 도와주기 위한 서비스가 AWS KMS( Key Management Service )입니다. Server-side 암호화란 AWS가 알아서 서버에 저장..

    [ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - ECS-CLI Compose를 활용한 다중 Container 배포2

    [ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - ECS-CLI Compose를 활용한 다중 Container 배포2

    이번 실습에서는 aws-cli대신에 ecs에 특화된 ecs-cli를 사용해야 합니다. # ecs-cli 설치 $sudo curl -Lo /usr/local/bin/ecs-cli https://amazon-ecs-cli.s3.amazonaws.com/ecs-cli-linux-amd64-latest 그다음에는 이제 ecs상에서 해커들의 공격과 같은것을 막기 위해, 권한을 설정해 주는 곳이 있습니다. 이를 하기 위해서는 gnupg를 깔고 public key를 놓아야 합니다. 이 과정을 진행해 보도록 하겠습니다. $sudo apt-get install $cd keys $vim amazon-ecs-public-key.gpg /amazon-ecs-public-key.gpg -----BEGIN PGP PUBLIC K..

    [ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - ECS-CLI Compose를 활용한 다중 Container 배포1

    기존의 영상에서는 EC2안에서 Dockerfile2개를 만들고, nginx dockerfile과 django dockerfile을 2개 만들고 그 밖에다가 docker-composer.yml을 만들어 EC2안에서 다 실행을 했었습니다. 하지만 이번에는 EC2안에서 하는게 아니라 이번에는 AWS의 Fargate Service를 이용하여 이를 진행해 보도록 하겠습니다. 이를 사용했을 때의 장점은 EC2를 관리해야한다는 불편함에서 벗어나 오직 Fargate Service하나만 바라보게 할 수 있다는 점입니다. 일단 매번 해주었던 기본 명령어를 아래와 같이 실행해 주겠습니다. $curl -fsSL https://get.docker.com/ | sudo sh $sudo usermod -aG docker $USER..

    [ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - AWS CLI를 통한 작업 정의2

    [ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - AWS CLI를 통한 작업 정의2

    우선 저번에 해결하지 못했던 권한문제를 마저 끝내보도록 하겠습니다. https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html Task definition parameters - Amazon Elastic Container Service Task definition parameters Task definitions are split into separate parts: the task family, the IAM task role, the network mode, container definitions, volumes, task placement constraints, and launch types...