Pulumi의 코드형 인프라 SDK는 이미 알고 있고 좋아하는 프로그래밍 언어를 사용하여 모든 아키텍처와 클라우드에서 인프라를 구축하고 배포하는 가장 쉬운 방법입니다. 선호하는 언어와 도구를 사용하여 인프라를 더 빠르게 코딩하고 제공하고, 자동화 API를 사용하여 어디에나 IaC를 내장하세요.
선호하는 언어로 코드를 작성하기만 하면 Pulumi가 코드형 인프라 접근 방식을 사용하여 AWS, Azure, Google Cloud Platform, Kubernetes 및 120개 이상의 공급자에서 리소스를 자동으로 프로비저닝하고 관리합니다. YAML을 건너뛰고 이미 알고 즐겨 사용하는 루프, 함수, 클래스, 패키지 관리와 같은 표준 언어 기능을 사용하세요.
예를 들어, 세 개의 웹 서버를 만듭니다.
const aws = require("@pulumi/aws");const sg = new aws.ec2.SecurityGroup("web-sg", {ingress: [{ 프로토콜: "tcp", fromPort: 80, toPort: 80, cidrBlocks: ["0.0.0.0/0"] }],});for (let i = 0; i < 3; i++) {new aws.ec2.Instance(`web-${i}`, {ami: "ami -7172b611",instanceType: "t2.micro",vpcSecurityGroupIds: [sg.id],userData: `#!/bin/bash echo "Hello, World!" > index.html nohup python -m SimpleHTTPServer 80 &`,} );}
또는 매일 오전 8시 30분에 Hacker News를 보관하는 간단한 서버리스 타이머:
const aws = require("@pulumi/aws");const snapshots = new aws.dynamodb.Table("snapshots", {attributes: [{ name: "id", type: "S", }],hashKey: " id", billingMode: "PAY_PER_REQUEST",});aws.cloudwatch.onSchedule("daily-yc-snapshot", "cron(30 8 * * ? *)", () => {require("https"). get("https://news.ycombinator.com", res => {let content = "";res.setEncoding("utf8");res.on("data",chunk => content +=chunk); res.on("end", () => new aws.sdk.DynamoDB.DocumentClient().put({TableName: snapshots.name.get(),Item: { 날짜: Date.now(), content }, }).promise());}).end();});
pulumi/examples에서는 컨테이너, 서버리스, 인프라에 걸쳐 다양한 예제를 사용할 수 있습니다.
Pulumi는 Apache 2.0 라이선스에 따른 오픈 소스이며 다양한 언어와 클라우드를 지원하고 확장이 쉽습니다. 이 저장소에는 pulumi
CLI, 언어 SDK 및 핵심 Pulumi 엔진이 포함되어 있으며 개별 라이브러리는 자체 저장소에 있습니다.
Pulumi 시작하기 : Pulumi를 사용하여 AWS, Azure, Google Cloud 또는 Kubernetes에 간단한 애플리케이션을 배포합니다.
학습 : Pulumi 학습 경로를 따라 실제 사례를 통해 모범 사례와 아키텍처 패턴을 배웁니다.
예시 : 컨테이너, 서버리스, 인프라를 포함한 다양한 언어, 클라우드 및 시나리오 전반에 걸쳐 여러 예시를 찾아보세요.
문서 : Pulumi 개념에 대해 배우고, 사용자 가이드를 따르고, 참조 문서를 참조하세요.
레지스트리 : 필요한 리소스가 포함된 Pulumi 패키지를 찾으세요. 패키지를 프로젝트에 직접 설치하고 API 문서를 찾아본 후 빌드를 시작하세요.
Pulumi ESC : 중앙 집중식 비밀 관리 및 오케스트레이션. 모든 클라우드 인프라와 애플리케이션 전반에서 무분별하게 늘어나는 비밀과 구성의 복잡성을 안전하게 관리하세요.
풀루미 로드맵 : 다가오는 분기에 계획된 작업과 우리가 염두에 두고 있지만 아직 예정되지 않은 이슈의 선택된 백로그를 검토합니다.
Community Slack : 풀루미 커뮤니티 슬랙에 참여해보세요. 모든 대화와 질문을 환영합니다.
GitHub 토론 : 질문을 하거나 Pulumi로 구축 중인 내용을 공유하세요.
선택한 플랫폼과 클라우드에서 Pulumi를 빠르게 시작하려면 시작하기 가이드를 참조하세요.
그렇지 않은 경우 다음 단계에서는 AWS Serverless Lambdas를 사용하여 몇 분 만에 첫 번째 Pulumi 프로그램을 배포하는 방법을 보여줍니다.
설치하다 :
최신 Pulumi 릴리스를 설치하려면 다음을 실행하십시오(추가 설치 옵션은 전체 설치 지침 참조).
$ 컬 -fsSL https://get.pulumi.com/ | 쉿
프로젝트 만들기 :
설치 후 pulumi new
명령을 사용하여 시작할 수 있습니다.
$ mkdir pulumi-데모 && cd pulumi-데모 $ pulumi 새로운 hello-aws-javascript
new
명령은 모든 언어와 클라우드에 대한 템플릿을 제공합니다. 인수 없이 실행하면 사용 가능한 프로젝트가 표시됩니다. 이 명령은 JavaScript로 작성된 AWS Serverless Lambda 프로젝트를 생성했습니다.
클라우드에 배포 :
pulumi up
실행하여 코드를 클라우드로 가져옵니다.
$ 풀루미 업
이렇게 하면 코드를 실행하는 데 필요한 모든 클라우드 리소스가 만들어집니다. 간단히 프로젝트를 편집하면 후속 pulumi up
이 최소 차이를 계산하여 변경 사항을 배포합니다.
프로그램 사용 :
이제 코드가 배포되었으므로 코드와 상호 작용할 수 있습니다. 위의 예에서는 끝점을 컬링할 수 있습니다.
$ 컬 $(풀루미 스택 출력 URL)
로그에 액세스하십시오 .
컨테이너나 기능을 사용하는 경우 Pulumi의 통합 로깅 명령은 모든 로그를 표시합니다.
$ pulumi 로그 -f
자원을 파괴하십시오 :
완료한 후에는 프로그램에서 생성된 모든 리소스를 제거할 수 있습니다.
$ 풀루미 파괴 -y
자세한 내용을 알아보려면 pulumi.com을 방문하여 튜토리얼, 예제, 핵심 Pulumi CLI 및 프로그래밍 모델 개념에 대한 세부 정보를 포함한 더 많은 정보를 확인하세요.
Pulumi CLI v1 및 v2는 더 이상 지원되지 않습니다. 아직 v3를 실행하지 않으신다면 v3로 마이그레이션하여 Pulumi가 제공하는 최고의 최신 기능을 계속해서 받아보세요! ?
v2에서 v3로 마이그레이션하려면 v3 마이그레이션 가이드를 참조하세요.
지원되는 클라우드 및 인프라 제공업체의 전체 목록을 보려면 레지스트리를 방문하세요.
소스에서 Pulumi를 구축하거나 개선에 기여하는 방법에 대한 정보를 보려면 CONTRIBUTING.md를 방문하세요.