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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shun Kawamoto
February 25, 2025
Technology
28
0
Share
CloudFormationを用いた簡単なAWSネットワーク構築.pdf
AWS CloudFormationを用いた簡単なAWSネットワーク構築方法及び、プロビジョニング時の躓きを共有する資料です。
Shun Kawamoto
February 25, 2025
More Decks by Shun Kawamoto
See All by Shun Kawamoto
新しいサーバレスの形 Lambda ManagedInstancesで並列実行してみる
kwmoon911
0
2
IAMロール再作成時の罠とインスタンスプロファイルの仕組み
kwmoon911
0
33
オンプレDNSでAWSサービスの名前解決にハマった話
kwmoon911
0
100
Other Decks in Technology
See All in Technology
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
1.4k
AI活用時代の事業判断高度化を導くエンジニアリング基盤 / 20260424 Atsushi Funahashi
shift_evolve
PRO
2
100
COBOL婆さんの伝説
poropinai1966
0
110
Choose your own adventure in agentic design patterns
glaforge
0
160
需要創出(Chatwork)×供給(BPaaS) フライホイールとMoat 実行能力の最適配置とAI戦略
kubell_hr
0
1k
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
260
データ定義の混乱と戦う 〜 管理会計と財務会計 〜
wonohe
0
150
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
5
1.9k
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
180
ネットワーク運用を楽にするAWS DevOps Agent活用法!! / 20260421 Masaki Okuda
shift_evolve
PRO
2
240
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
610
AI バイブコーティングでキーボード不要?!
samakada
0
640
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
430
The Cult of Friendly URLs
andyhume
79
6.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
The Spectacular Lies of Maps
axbom
PRO
1
710
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
330
Designing for humans not robots
tammielis
254
26k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
WENDY [Excerpt]
tessaabrams
10
37k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Designing for Timeless Needs
cassininazir
0
210
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をまだ使ったことがない方... ぜひ、気軽に使ってみてください!!