티스토리 뷰
CloudNet@의 가시다님 Ansible 1기 스터디에 참여하게 되어 배운 내용과 책의 내용을 함께 정리합니다.
📚 앤서블로 시작하는 인프라 자동화
AWS 리소스 관리 방법 : AWS 관리 콘솔, AWS CLI, AWS SDK
- 특정 소프트웨어 개발 시 도움을 주는 개발 도구의 집합을 소프트웨어 개발 키트(Software Development Kit, SDK)라고 합니다.
- AWS SDK는 AWS 리소스를 프로그래밍적으로 사용하기 편리하도록 제공되는 라이브러리들을 말합니다.
- 예를 들면, AWS 리소스 사용을 위한 인증 동작 필요 시 직접 프로그래밍 구현을 해야 됩니다.
- 하지만 AWS SDK를 이용하면 최소한의 노력으로 동작을 구현할 수 있습니다.
- AWS SDK : 개발자에게 일관되고 친숙한 AWS SKD의 라이브러리 세트를 통해 애플리케이션, 라이브러리 또는 스크립트를 AWS서비스와 쉽게 통합됩니다.
- AWS를 프로그래밍적으로 제어하기 편리하도록 제공되는 라이브러리들을 의미합니다.
- 언어별로 다양한 라이브러리를 제공하고 있기 때문에 자신에게 맞는 라이브러리를 선택해서 사용하시면 됩니다.
- 지원 언어 : C++, Go, Java, JavaScript, .NET, Node.js, PHP, Python, Ruby - Link
Python 용 AWS SDK(Boto3) : python 2.7+ 및 3.4+ 지원, 2가지 수준의 API, Waiters 포함 - Link Boto3 EC2
- 설치: sudo apt install python3-pip -y && sudo pip3 install boto3 -y
- boto3로 EC2 조회: 아래 코드 파일(ec2.py) 생성 후 실행 - 링크
import boto3
ec2 = boto3.client('ec2', region_name = 'ap-northeast-2')
response = ec2.describe_instances()
print(response)
- 실행: python3 ec2.py
도전과제5
- Ansible로 AWS EC2를 생성해보자. → 책 Chapter18.4 혹은 구글링!
---
- hosts: localhost
tasks:
- name: Create ec2 vm
amazon.aws.ec2_instance:
name: "{{ vm_name }}"
image_id: "{{ image_id }}"
instance_type: "{{ instance_type }}"
key_name: "{{ key_name }}"
security_group: "{{ security_group }}"
network:
assign_public_ip: true
region: "{{ region_name }}"
register: vm_info
- name: Print vm information
ansible.builtin.debug:
var: vm_info
'DevOps > Ansible' 카테고리의 다른 글
[A101] Ansible - Semaphore (0) | 2024.02.12 |
---|---|
[A101] Ansible - 모니터링 자동화 (1) | 2024.02.06 |
[A101] Ansible - 보안설정 자동화 (0) | 2024.02.05 |
[A101] Ansible - 시스템 구축 및 환경 설정 자동화 (0) | 2024.01.28 |
[A101] Ansible - 앤서블 갤럭시와 콘텐츠 컬렉션 (0) | 2024.01.28 |