본문 바로가기

반응형

분류 전체보기

(176)
[Packer] Packer를 이용한 EC2 AMI 생성 Packer의 정의는 쉽게 VM의 Image를 생성해주는 Image Builder라고 생각하면 된다. Packer 설치 Packer는 yum, apt-get, choco 등 여러가지 방식으로 설치할 수 있지만 아래의 설치 방법은 wget을 이용하여 zip 파일을 다운로드 받은 후 설치한 방식이다. export PACKER_RELEASE="1.7.4" sudo cd /tmp/ wget https://releases.hashicorp.com/packer/${PACKER_RELEASE}/packer_${PACKER_RELEASE}_linux_amd64.zip sudo unzip packer_${PACKER_RELEASE}_linux_amd64.zip sudo mv packer /usr/local/bin pac..
[Ansible] AWS EC2 Dynamic Inventory 사용하기 개요 다수의 VM에 동일한 명령어를 수행하기 위해서 Configuration Management 툴인 Ansible을 많이 사용하게 된다. Ansible에서 접속 정보와 관련된 정보들은 보통 Inventory라고 하는 파일에 저장하게 된다. 접속 호스트, 접속 계정 정보, 그룹 설정, 그룹 간 별도의 변수 설정 등이 가능하다. 하지만 수십 ~ 수백대의 VM Host의 IP Address 및 Password, Key 파일 등을 설정하는 것도 많은 시간이 소요되기 마련이다. 그런데 잘 생각해보면 클라우드와 같은 서버 관련 정보를 API 형식으로 제공할 경우 일일이 호스트 정보를 파일로 수작업 저장할 필요가 없다. ⇒ 프로그래밍 관점으로 접근하여 서버 관련 정보를 동적으로 얻어올 수 있다 ⇒ Ansible에서..
AWS IAM을 통한 인증, 인가 IAM (Identity and Access Management) : AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다. IAM을 사용하여 리소스를 사용하도록 인증 및 권한 부여된 대상을 제어할 수 있다. ⇒ 인증 : 로그인 ⇒ 인가 : 권한 확인 IAM Group IAM User IAM Role IAM Policy IAM 정책 소개 IAM에서 자격 증명에 대한 권한을 설정할 경우 AWS 관리형 정책, 고객 관리형 정책 또는 인라인 정책 중 어떤 것을 사용할지 결정해야 한다. 자격 증명 기반 (Identity-based policies) AWS 관리형 정책 : AWS에서 제공하는 글로벌 적용 AWS 고객 관리형 정책 : 계정에서 직접 생성하여 사용 및 관리 AWS 인라인 정책 : 단일..
[AWS] IAM Policy JSON 알아보기 Example 먼저 아래의 예시를 살펴보자. 상위 레벨에는 Version, Statement가 있고 Statement는 List로 구성되어 있으며, 각 List의 Element에 Effect, Action, Resource, Condition, Principle 등으로 구성될 수 있다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::BUCKET-..
[AWS] Root Volume을 다른 EC2 Instance에 붙이기 1. 개요 EC2에서 작업을 하다가 Critical한 이슈가 발생한 경우, EC2 Instance에 접근을 못하는 경우 등 여러가지 이유로 Root Volume을 다른 Instance에 붙여서 복구 작업을 진행해야 하는 경우가 있다 사람일은 누구나 모르기 때문에 Root Volume을 다른 Instance에 붙여서 원인을 파악한 이후 복구하는 방법에 대해 알아보도록 하겠다. 2. 실습 실습하기 전에 알아두면 좋은 내용들에 대해서 링크를 걸어둠 EC2에 Attach되는 Storage들은 타입이 무엇인지, Root Volume 전용인지 등에 따라 다르게 부여된다. 실습 환경 Public Subnet에 있는 EC2 Instance 2대 A : 접속이 불가능하며, 복구해야 할 EC2 ⇒ Root Volume을 ..
AWS와 Azure간 Transit Gateway을 통한 Site to Site VPN 연동 1. 개요 Public Cloud에서 가장 많이 사용되고 있는 AWS와 Azure간의 Site to Site VPN 연동 예제이며, Transit Gateway를 통해 진행하겠다. AWS Site to Site VPN Transit Gateway Customer Gateway Resource Access Manager Azure Virtual Network Gateway : Azure측 VPN 장비 Local Network Gateway : AWS의 CGW와 동일한 개념 Connection : Virtual Network Gateway와 Local Network Gateway를 연결하는 리소스 2. 아키텍처 AWS VPC : 10.0.0.0/16 Subnet : 10.0.0.0/24 EC2 Azure V..
[Python] 객체지향에서 필수 개념인 Property, Getter, Setter 간단히 알아보기 키워드 : 은닉화 (객체의 속성과 행위를 하나로 묶고, 구현된 일부를 감추어 은닉) property, getter, setter은 클래스 인스턴스의 내부에서 데이터를 안전하게 접근하기 위해 사용하는 키워드이며, 객체지향 프로그래밍에서 흔히 볼수 있는 패턴이다. getter : 데이터를 읽어주는 메서드 setter : 데이터를 변경해주는 메서드 ⇒ 파이썬의 내장 함수는 property() 메서드를 사용하면 깔끔하게 getter, setter 메서드를 호출할 수 있으며, 여기서 내장 데코레이터인 '@property'를 활용할 수 있다. [property] : 인스턴스 변수 값을 사용해서 적절한 값으로 보낼 때 : 인스턴스 변수 값에 대한 유효성 검사 및 수정 예제 __변수명 : 클래스 인스턴스 내부에서만 접..
[Python] Decorator 개념 간단히 알아보기 데코레이터란 특정 함수를 Wrapping 후 추가적으로 기능을 추가하고 새로운 함수를 작성하는 역할 ⇒ 공통으로 호출되는 함수를 작성하거나 특정 함수의 전, 후에 실행가능한 기능을 추가하는 것 ⇒ 보통 로깅, 공통 데이터 처리, 테스트 기능 작성 등에 활용되고 있다. 예제 smile, angry, love 함수가 있다. 이 함수들에 각각 저작권을 부여하고 싶다고 가정하자. 1. Decorator를 사용하지 않을 경우 def smile(): print("저작권 : Nyyang") print("smile") def angry(): print("저작권 : Nyyang") print("angry") def love(): print("저작권 : Nyyang") print("love") angry() smile()..

반응형