소개 | Ansible은 실제로 작동하는 가장 간단한 배포 도구로 설계되었습니다. 이는 완전한 프로그래밍 언어가 아니라는 것을 의미합니다. 작업을 정의하고 자동화해야 하는 모든 작업을 나열하는 YAML 템플릿을 작성해야 합니다. |
대부분의 사람들은 Ansible을 더 강력한 "for 루프의 SSH"라고 생각하며, 간단한 사용 사례에서는 이것이 사실입니다. 그러나 실제로 Ansible은 SSH가 아닌 작업입니다. 대부분의 경우 SSH를 통해 연결하지만 Windows 시스템의 WinRM(Windows 원격 관리) 및 클라우드 서비스용 공통 언어인 HTTPS API와 같은 기능도 지원합니다.
클라우드에서 Ansible은 제어 플레인과 인스턴스 리소스라는 두 가지 독립적인 수준에서 작동할 수 있습니다. 제어 평면은 운영 체제에서 실행되지 않는 모든 항목으로 구성됩니다. 여기에는 네트워크 설정, 새 인스턴스 생성, Amazon S3 또는 DynamoDB와 같은 상위 수준 서비스 프로비저닝, 클라우드 인프라를 안전하게 유지하고 고객에게 서비스를 제공하는 데 필요한 모든 것이 포함됩니다.
인스턴스 작업은 서비스 시작 및 중지, 구성 파일 템플릿 작성, 패키지 설치, SSH를 통한 모든 운영 체제 관련 작업 등 Ansible이 수행할 수 있는 작업을 이미 알고 있습니다.
자, 서비스리스란 무엇일까요? 누구에게 요청하느냐에 따라 서버리스는 퍼블릭 클라우드의 무한 확장이거나 모든 것이 API 호출이고 이전에 수행된 적이 없는 완전히 새로운 패러다임입니다.
Ansible이 첫 번째 관점을 취합니다. "서비스리스"가 기술 용어가 되기 전에는 사용자가 EC2 인스턴스, Virtual Private Cloud(VPC) 네트워크 및 기타 모든 것을 관리하고 구성해야 했습니다. 서비스리스는 관리형 서비스 방향의 또 다른 단계이며 Ansible의 에이전트 없는 아키텍처와 잘 작동합니다.
Lambda 예제를 시작하기 전에 간단한 구성 CloudFormation 스택 작업을 살펴보겠습니다.
으아악이와 같은 작업을 작성하는 데는 몇 분 밖에 걸리지 않지만 인프라 구축과 관련된 마지막 반수동 단계입니다. "스택 생성"을 클릭하면 플레이북이 다른 것과 함께 배치됩니다. 이제 귀하의 VPC는 새로운 지역을 설정할 때 호출해야 하는 또 다른 작업일 뿐입니다.
클라우드 공급자는 귀하의 계정에서 일어나는 일에 대한 정보의 원천이므로 Ansible은 ID, 이름 및 기타 매개변수를 사용하여 실행 중인 인스턴스 또는 네트워크를 검색, 필터링 및 쿼리할 수 있는 다양한 방법을 제공합니다. cloudformation_facts 모듈을 예로 들면 방금 생성한 템플릿에서 서브넷 ID, 네트워크 범위 및 기타 데이터를 가져올 수 있습니다.
으아악서버리스 애플리케이션의 경우 DynamoDB 테이블, S3 버킷 및 기타 기능 외에도 Lambda 함수가 반드시 필요합니다. 다행히도 람다 모듈을 사용하면 이전 작업의 스택과 동일한 방식으로 Lambda 함수를 생성할 수 있습니다.
으아악서버리스 애플리케이션을 제공하는 데 사용하려는 다른 도구가 있는 경우에도 가능합니다. 오픈 소스 서버리스 프레임워크에는 다음과 같이 작동하는 자체 Ansible 모듈이 있습니다.
으아악서버리스 프로젝트도 존재해야 하고 거기에서 기능과 이벤트 소스를 크게 정의하므로 이것이 필요한 전부는 아닙니다. 이 예에서는 HTTP 요청에 응답하는 함수를 만들어 보겠습니다. 서비스리스 프레임워크는 YAML을 구성 언어(예: Ansible)로 사용하므로 익숙해 보일 것입니다.
으아악AnsibleFest에서는 이미 보유하고 있는 플레이북과 인프라의 사용을 극대화하기 위한 이 예제와 기타 심층 배포 전략은 물론 새로운 서버리스 사례도 다룰 것입니다. 목표에 도달할 수 있든 없든, 관리할 서비스가 있든 없든 이 예제를 통해 Ansible 사용을 시작하는 데 도움이 되기를 바랍니다.
AnsibleFest는 수백 명의 Ansible 사용자, 개발자 및 업계 파트너가 한 자리에 모이는 일일 컨퍼런스입니다. 하루 종일 제품 업데이트, 영감을 주는 대화, 기술 심층 분석, 실습 데모 및 네트워킹에 참여하세요.
위 내용은 Ansible을 사용하여 서버리스 애플리케이션 배포 자동화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!