Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS CloudShellを活用して簡単に!TerraFormによる AWSリソース構築(I...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
キャリアチェンジAWSエンジニア
April 29, 2026
Technology
15
0
Share
AWS CloudShellを活用して簡単に!TerraFormによる AWSリソース構築(IaC)を体験しよう
IaC
Terraform
AWS CloudShell
Handson
キャリアチェンジAWSエンジニア
April 29, 2026
More Decks by キャリアチェンジAWSエンジニア
See All by キャリアチェンジAWSエンジニア
AWS CloudShellを活用して簡単に!AWS CDKによるAWSリソース構築(IaC)を体験しよう
careerchangeawsengineer
0
15
CDKのコード記述は、全部は自分で書かなくていいんです!〜BLEA(Baseline Environment on AWS)のWAFとCloudFrontを見てみよう〜
careerchangeawsengineer
0
17
AWS IAMユーザー払い出し方法2種
careerchangeawsengineer
0
23
Other Decks in Technology
See All in Technology
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
170
スクラムの中で AI-DLC workflow を 使い始めて3ヶ月の振り返り
kaminashi
0
130
Oracle Cloud Infrastructure:2026年4月度サービス・アップデート
oracle4engineer
PRO
0
110
色を視る
yuzneri
0
130
運用システムにおけるデータ活用とPlatform
sansantech
PRO
0
130
Percolatorを廃止し、マルチ検索サービスへ刷新した話 / Search Engineering Tech Talk 2026 Spring
visional_engineering_and_design
0
160
CloudTrail を見つめ直してみる
kazzpapa3
1
120
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
210
AndroidアプリとCopilot Studioの統合
nakasho
0
160
マルチプロダクトの信頼性を効率良く保っていくために
kworkdev
PRO
0
170
AgentCore×VPCでの設計パターンn選と勘所
har1101
4
330
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
120
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
140
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Typedesign – Prime Four
hannesfritz
42
3k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
460
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
490
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Embracing the Ebb and Flow
colly
88
5k
Are puppies a ranking factor?
jonoalderson
1
3.3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
130
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
720
Transcript
Terraformによる AWSリソース構築(IaC)を体験しよう #キャリアチェンジAWSエンジニア AWS CloudShell を活用して 簡単に!
2 IaC (Infrastructure as Code)とは?Terraformとは? インフラを手動で管理・デプロイするのではなく、 「コード」で定義・管理する手法 以下のプログラミング言語 を使用可能 ・TypeScript
・JavaScript ・Python ・Java ・C# ・Go AWS CDK (AWS Cloud Development Kit) ・AWS・Azure・GCPなど 1000以上のクラウドプロバイ ダで使用可能 ・言語はHCL(HashiCorp Configuration Language) ・可読性高い(人間にとって 読みやすい) ・JSONに近い Terraform 等 AWS CloudFormation (Cfn) ・AWSリソースをコードで 定義・管理できるIaC ・データ記述言語はYAML またはJSON
3 AWS ClouldShellを使うメリット AWSユーザーがブラウザ上で簡単にコマンドライン作業を行えるサービス AWS ClouldShellとは ローカル環境用意、が不要! ▪詳細仕様 ・OS: Amazon
Linux 2023 ・ストレージ: 追加料金なしで、リージョン毎に最大 1 GB (もちろんClouldShellから作成したAWSリソースには通常通り課金されるので、試行後作 成したAWSリソースは削除必要) ・AWS CLIをCloudShellから起動できる ・広範な開発ツールがプリインストール済み:node.js、npm (・VPC内でも起動可能(1リージョン同時に最大2個まで)) ・AWS CloudShellの環境は「IAMユーザー単位 + IAMロール単位 + スイッチロール元のIAM ユーザー単位」で分離されている=他のユーザと同じ画面が見える訳ではない(private to you)
4 ClouldShell 注意点 ▪注意点 ・20~30分の非アクティブ状態が続くとセッションがタイムアウト ・キーボードまたはポインタを使用して 20~30 分間操作しないとシェルセッションは終了 ・実行中のプロセスは、操作数としてカウントされない →タイムアウト後は、再接続(少し時間かかる)すると、タイムアウト前と同じ作業が可能
(CloudShellの仕組み:一時的な計算環境を使い、接続時にホームディレクトリに 保存されたデータを復元する) ・データは、最後のセッションの終了から 120 日間アクションしないと削除されるの で注意! ・月間使用量制限がある (制限目安:複数名で毎日終日作業していると月末に使用不可。200時間との情報も。) →使用制限で使えなくなったら、試行であれば、他のリージョンで使用すればよい (制限引上申請も可能だが課金される) ClouldShellでCDK体験 詳細手順
5 作業内容概要 wget https://xxxxx sudo unzip xxxxx terraform init AWS
ClouldShellを立上 Terraformをインストール Terraformを初期化 vi main.tf main.tfファイルを作成し viエディタで編集 1 2 3 terraform apply terraform applyを実行し、 main.tfファイルに記述した AWSリソースを作成 4 参考元:https://qiita.com/free-honda/items/19b4e7db8b8f24d41277
1)マネジメントコンソールにログインする 作業を行いたいリージョンを、右上から選択 ※AWS CDK体験に使ったリージョンは避けること! (Terraform実行は結構容量を必要とするため) マネジメントコンソールの最上部 、またはClouldShell検索して押下 → ClouldShellが指定したリージョンで立ち上がる 6
❶詳細手順 2)起動後のディレクトリは/home/cloudshell-user (pwdで確認可能) ここがClouldShellユーザーのホームディレクトリ ClouldShell 立ち上げ 青色枠内:作業手順
1)Terraformのインストール ディレクトリ/home/cloudshell-userで、以下コマンドを実行する。 1-1) Terraform_Amazon Linux_AMD64最新版zipファイルをダウンロード (参考URL https://developer.hashicorp.com/terraform/install 最新版は1.14.9) 1-2)ダウンロードしたファイルを解凍し、Terraformをインストールする 1-3)インストールが完了しているか確認するため、バージョンを確認する
7 wget https://releases.hashicorp.com/terraform/1.14.9/terraform_1.14.9_linux_amd64.zip ❷詳細手順 ワークショップ sudo unzip terraform_1.14.9_linux_amd64.zip -d /usr/local/bin/ terraform --version 青色枠内:作業手順
8 参考:実行結果 ❷詳細手順 今回インストールした Terraformのバージョンが 表示されればOK --2XXX-XX-XX XX:XX:XX-- 2XXX-XX-XX XX:XX:XX
2)Terraformインストール用zipファイルを削除 2-1) rmコマンドでファイルを削除し、ファイルが無くなったことを確認する 2-2) ファイル削除後もTerraformに問題がないか、バージョンを確認する 9 ❷詳細手順 ~ $ rm
terraform_1.14.9_linux_amd64.zip ~ $ ll total 0 terraform --version 青色枠内:作業手順
3)terraform initでTerraformを初期化する 10 ❷詳細手順 terraform init 参考:実行結果 この表示が出ることを確認 青色枠内:作業手順
4)main.tfファイルを作成し、S3バケットを作成する記述を、言語 HCLで記述する ファイル編集後にESCキーを押し、:wqで保存して終了する 11 ❸詳細手順 vi main.tf Provider “aws” {
region = "ap-northeast-1" } resource "aws_s3_bucket" "example" { bucket = “xxx-cloudshell-terraform-demo-yourname" aws_s3_bucket_acl = "private" tags = { Name = "ExampleBucket" Environment = "Demo" } } S3バケット名は世界中で一意 でないといけないので、 末尾に自分特有の名前を付与 してください 青色枠内:作業手順
5)terraform applyを実行し、 main.tfファイルに記述したS3バケットを作成する 12 ❹詳細手順 terraform apply 青色枠内:作業手順
13 参考:実行結果 ❹詳細手順 次ページへ続く =“xxx-
14 ❹詳細手順 この表示が出ることを確認 前ページ続き Yes + Enterキー
15 ❹詳細手順 おまけ:terraform apply実行後、生成されたファイルを確認 Terraform.tfstate Terraform.tfstate.backup 2ファイルが生成された Xxx XX XX:XX
Xxx XX XX:XX Xxx XX XX:XX
16 ❹詳細手順 terraform apply実行後、作成されたS3バケットを確認 xxx xxx main.tfファイルに記述した通りに S3バケットが作成されています!
17 作成成功! 無事、AWSリソースを、Terraformを用いて、コードで作成(IaC)する ことに成功しました! 最後に、作成したAWSリソース、利用したファイルを削除して、 Terraform体験を終わらせましょう
18 詳細手順 1)S3バケットを削除 青色枠内:作業手順 xxx- xxx- 2XXX/XX/XX XX:XX:XX XX JST
19 詳細手順 1)S3バケットを削除 青色枠内:作業手順 xxx- xxx
~ $ pwd/home/cloudshell-user ~ $ ~ $ ll total 12
-rw-r--r--. 1 cloudshell-user cloudshell-user 226 Xxx XX XX:XX main.tf -rw-r--r--. 1 cloudshell-user cloudshell-user 3171 Xxx XX XX:XX terraform.tfstate -rw-r--r--. 1 cloudshell-user cloudshell-user 181 Xxx XX XX:XX terraform.tfstate.backup ~ $ ~ $ rm main.tf ~ $ ~ $ rm terraform.tfstate ~ $ ~ $ rm terraform.tfstate.backup ~ $ ~ $ ll total 0 20 詳細手順 2)CloudShell上に作成保存した/生成されたファイルを削除 青色枠内:作業手順
21 お疲れ様でした! 無事、AWSリソースを、Terraformを用いて、コードで作成(IaC)する ことに成功し、 作成したAWSリソース、利用したファイルを削除が完了しました。 お疲れ様でした!