Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Pulumiを触ってみよう

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for YouYou YouYou
August 26, 2023

 Pulumiを触ってみよう

Avatar for YouYou

YouYou

August 26, 2023
Tweet

More Decks by YouYou

Other Decks in Programming

Transcript

  1. 目次 • IaCの課題 • Pulumiとは • VS Terraform & AWS

    CDK • Terraformからの移行 • まとめ 3
  2. 課題 Terraform • 独自言語の学習コスト • stateファイルの管理 • ライセンス問題 4 AWS

    CDK • AWSでしか使えない • CI/CD基盤の構築 • プログラミング知識が必要
  3. 5

  4. VS Terraform & AWS CDK Terraform • 独自言語の学習コスト ◦ プログラミング言語可

    • stateファイルの管理 ◦ デフォルトでPulumi Cloud提供 • ライセンス問題 ◦ 真のオープンソースを目指す(らし い) 7 AWS CDK • AWSでしか使えない ◦ GCPやAzureにも可能 • CI/CD基盤の構築 ◦ Pulumi Cloudが構築 • プログラミング知識が必要 ◦ YAMLファイルでも可
  5. Terraformからの移行 8 resource "random_string" "s3_bucket_name" { length = 8 special

    = false upper = false } # Create S3 resource "aws_s3_bucket" "migration_S3" { bucket = "yuta-${random_string.s3_bucket_name.id}" } S3作成サンプルコード
  6. Terraformからの移行 10 import * as pulumi from "@pulumi/pulumi" ; import

    * as aws from "@pulumi/aws" ; import * as random from "@pulumi/random" ; const s3BucketName = new random.RandomString("s3BucketName" , { length: 8, special: false, upper: false, }); // Create S3 const migrationS3 = new aws.s3.BucketV2("migrationS3" , {bucket: pulumi.interpolate`yuta-${s3BucketName.id}` });