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
CloudFormationを用いた簡単なAWSネットワーク構築.pdf
Search
Shun Kawamoto
February 25, 2025
Technology
0
28
CloudFormationを用いた簡単なAWSネットワーク構築.pdf
AWS CloudFormationを用いた簡単なAWSネットワーク構築方法及び、プロビジョニング時の躓きを共有する資料です。
Shun Kawamoto
February 25, 2025
Tweet
Share
More Decks by Shun Kawamoto
See All by Shun Kawamoto
IAMロール再作成時の罠とインスタンスプロファイルの仕組み
kwmoon911
0
28
オンプレDNSでAWSサービスの名前解決にハマった話
kwmoon911
0
52
Other Decks in Technology
See All in Technology
Red Hat OpenStack Services on OpenShift
tamemiya
0
140
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
190
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
350
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
170
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
600
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
850
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
150
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
330
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
210
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
150
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Building Applications with DynamoDB
mza
96
6.9k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
190
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
58
50k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Transcript
© JSOL CORPORATION 0 プレゼンテーションタイトル © JSOL CORPORATION CloudFormationを用いた簡単なAWSネットワーク 構築と躓きの共有
河本 瞬 豊洲会 #LT大会
© JSOL CORPORATION 1 © JSOL CORPORATION 1 自己紹介
© JSOL CORPORATION 2 自己紹介 河本 瞬(かわもと しゅん) プラットフォーム事業本部 プラットフォームビジネス部
SAP basis・インフラ領域を担当 社会人歴:1年目(現場配属3か月) 好きなAWSのサービス:Amazon Route 53 趣味:筋トレ、カメラ
© JSOL CORPORATION 3 © JSOL CORPORATION 3 現場配属後の業務
© JSOL CORPORATION 4 現場配属後の業務 1か月目 AWS パラメータ設計書の作成 • ネットワーク
• IAM • S3, SNS , CloudTrailなど
© JSOL CORPORATION 5 現場配属後の業務 2か月目 できました!
© JSOL CORPORATION 6 現場配属後の業務 2か月目 できました! ありがとうございます!
© JSOL CORPORATION 7 現場配属後の業務 2か月目 できました! ありがとうございます! 次はCloudFormationで これをプロビジョニング
してください。
© JSOL CORPORATION 8 現場配属後の業務 2か月目 できました! ありがとうございます! 次はCloudFormationで これをプロビジョニング
してください。 承知しました!
© JSOL CORPORATION 9 現場配属後の業務 2か月目 できました! ありがとうございます! 次はCloudFormationで これをプロビジョニング
してください。 承知しました! CloudFormationを用いたリソースの作成
© JSOL CORPORATION 10 現場配属後の業務 2か月目 できました! ありがとうございます! 次はCloudFormationで これをプロビジョニング
してください。 承知しました! CloudFormationを用いたリソースの作成 (いきなりCloudFormationか...。難しそうやな...。)
© JSOL CORPORATION 11 © JSOL CORPORATION 11 CloudFormationで簡単なAWS ネットワークを作ってみる
© JSOL CORPORATION 12 CloudFormationとは • 設定ファイル(テンプレート)を元にAWSの構築を自動化できるサービス • テンプレートにはJSONやYAML形式でリソースの情報を記述する •
作成したリソースの集合体をスタックという単位で管理できる Templateに作成する リソースを定義 ClourdFormation Templateの解釈 AWSリソースを操作 (作成/変更/削除) Stack リソースを集合体と してまとめて管理
© JSOL CORPORATION 13 CloudFormationでAWSネットワークを作成 Virtual private cloud (VPC) AZ:ap-northeast-1a
Public subnet RouteTable 構成図 • Virturl private cloud (VPC) • Public subnet • Route table • Internet gateway Internet gateway
© JSOL CORPORATION 14 CloudFormationでAWSネットワークを作成 テンプレート AWSTemplateFormatVersion: "2010-09-09" Description: "CloudFormation
template for a VPC with Multi-AZ subnets and VPC Endpoint." #VPC作成 Resources: VPC: Type: "AWS::EC2::VPC" Properties: CidrBlock: "10.0.0.0/16" #サブネット作成 Subnet: Type: "AWS::EC2::Subnet" Properties: VpcId: !Ref VPC CidrBlock: "10.0.1.0/24" AvailabilityZone: "ap-northeast-1a" #インターネットゲートウェイ作成 InternetGateway: Type: AWS::EC2::InternetGateway Properties: Tags: - Key: Name Value: MyInternetGateway VPCGatewayAttachment: Type: AWS::EC2::VPCGatewayAttachment Properties: VpcId: !Ref VPC InternetGatewayId: !Ref InternetGateway #ルートテーブル作成 RouteTable: Type: "AWS::EC2::RouteTable" Properties: VpcId: !Ref VPC #ルート追加 #インターネットへのルートを追加 RouteAZ1Internet: Type: "AWS::EC2::Route" Properties: RouteTableId: !Ref RouteTable DestinationCidrBlock: "0.0.0.0/0" GatewayId: !Ref InternetGateway VPCGatewayEndpoint: Type: "AWS::EC2::VPCEndpoint" Properties: VpcId: !Ref VPC ServiceName: "com.amazonaws.ap-northeast-1.s3" RouteTableIds: - !Ref RouteTable #ルートテーブルをサブネットに紐づける SubnetRouteTableAssociationAZ1: Type: "AWS::EC2::SubnetRouteTableAssociation" Properties: SubnetId: !Ref Subnet RouteTableId: !Ref RouteTable
© JSOL CORPORATION 15 CloudFormationでAWSネットワークを作成 テンプレート AWSTemplateFormatVersion: "2010-09-09" Description: "CloudFormation
template for a VPC with Multi-AZ subnets and VPC Endpoint." #VPC作成 Resources: VPC: Type: "AWS::EC2::VPC" Properties: CidrBlock: "10.0.0.0/16" #サブネット作成 Subnet: Type: "AWS::EC2::Subnet" Properties: VpcId: !Ref VPC CidrBlock: "10.0.1.0/24" AvailabilityZone: "ap-northeast-1a" #インターネットゲートウェイ作成 InternetGateway: Type: AWS::EC2::InternetGateway Properties: Tags: - Key: Name Value: MyInternetGateway VPCGatewayAttachment: Type: AWS::EC2::VPCGatewayAttachment Properties: VpcId: !Ref VPC InternetGatewayId: !Ref InternetGateway #ルートテーブル作成 RouteTable: Type: "AWS::EC2::RouteTable" Properties: VpcId: !Ref VPC #ルート追加 #インターネットへのルートを追加 RouteAZ1Internet: Type: "AWS::EC2::Route" Properties: RouteTableId: !Ref RouteTable DestinationCidrBlock: "0.0.0.0/0" GatewayId: !Ref InternetGateway VPCGatewayEndpoint: Type: "AWS::EC2::VPCEndpoint" Properties: VpcId: !Ref VPC ServiceName: "com.amazonaws.ap-northeast-1.s3" RouteTableIds: - !Ref RouteTable #ルートテーブルをサブネットに紐づける SubnetRouteTableAssociationAZ1: Type: "AWS::EC2::SubnetRouteTableAssociation" Properties: SubnetId: !Ref Subnet RouteTableId: !Ref RouteTable ちょっと難易度が高いのでは
© JSOL CORPORATION 16 テンプレートの記述例(yaml) VPCの定義
© JSOL CORPORATION 17 テンプレートの記述例(yaml) VPCの定義 たったの4行!!
© JSOL CORPORATION 18 テンプレートの記述例(yaml) VPC サブネット VPC・サブネット
© JSOL CORPORATION 19 テンプレートの記述例(yaml) VPC サブネット VPC・サブネット
© JSOL CORPORATION 20 テンプレートの記述例(yaml) VPC サブネット VPC・サブネット 参照 論理ID
© JSOL CORPORATION 21 テンプレートの記述例(yaml) VPC サブネット テンプレートはシンプルな構造でわかりやすい。 簡単に記述できる!! VPC・サブネット
参照 論理ID
© JSOL CORPORATION 22 © JSOL CORPORATION 22 躓き
© JSOL CORPORATION 23 スタック作成時のエラー どうやらルートテーブル関連でリソースに重複があるとのこと (Resource handler returned message
:”Already Exsists”) 実業務での最初のスタック作成ではエラーが発生...
© JSOL CORPORATION 24 スタック作成時のエラー どうやらルートテーブル関連でリソースに重複があるとのこと (Resource handler returned message
:”Already Exsists”) 実業務での最初のスタック作成ではエラーが発生... 解決に約1時間を要してしまった。
© JSOL CORPORATION 25 エラーの原因 エラー原因箇所 local宛のエントリを記載している
© JSOL CORPORATION 26 エラーの原因 エラー原因箇所 local宛のエントリを記載している AWSのルートテーブルは作成される際に デフォルトでローカル宛のエントリが追加 される。
© JSOL CORPORATION 27 エラーの原因 エラー原因箇所 local宛のエントリを記載している AWSのルートテーブルは作成される際に デフォルトでローカル宛のエントリが追加 される。
競合が発生し、エラーとなってしまった
© JSOL CORPORATION 28 教訓 ルートテーブルの仕様を把握していれば躓かなかった
© JSOL CORPORATION 29 教訓 ルートテーブルの仕様を把握していれば躓かなかった が、私のような経験が浅い人にとっては難しい
© JSOL CORPORATION 30 教訓 ・基本的な仕様を把握するために自分で情報を取りに行く ・AWS認定資格の勉強だけでなく、普段から手を動かすこと。 持つべき意識 ルートテーブルの仕様を把握していれば躓かなかった が、私のような経験が浅い人にとっては難しい
© JSOL CORPORATION 31 使ってみてわかったCloudFormationのメリット •テンプレート構造がシンプルで分かりやすい 初心者でも直感的に扱える。 •別アカウントや環境での再利用性が高い 複数のアカウントや環境で簡単に同一構成を作成可能 •手作業ミスを防げる
コードで定義するため、ヒューマンエラーを大幅に減らせる。
© JSOL CORPORATION 32 CloudFormationをまだ使ったことがない方... ぜひ、気軽に使ってみてください!!