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
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
130
プロポーザルに込める段取り八分
shoheimitani
1
670
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
350
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
210
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
480
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
390
【Ubie】AIを活用した広告アセット「爆速」生成事例 | AI_Ops_Community_Vol.2
yoshiki_0316
1
120
旅先で iPad + Neovim で iOS 開発・執筆した話
zozotech
PRO
0
100
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2.1k
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
350
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
The Art of Programming - Codeland 2020
erikaheidi
57
14k
A designer walks into a library…
pauljervisheath
210
24k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
The Invisible Side of Design
smashingmag
302
51k
Site-Speed That Sticks
csswizardry
13
1.1k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
100
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
320
Game over? The fight for quality and originality in the time of robots
wayneb77
1
120
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をまだ使ったことがない方... ぜひ、気軽に使ってみてください!!