SlideShare ist ein Scribd-Unternehmen logo
1 von 30
AWS クラウドで構築する
スマホアプリ バックエンド
JAWS-UG 長野支部キックオフミーティング
NSEG 第52回勉強会
GeekLab.Nagano
自己紹介
@kaki_k
よく使う構成
構成図
AWS Cloud
Elastic Load
Balancing
Mobile
Client
Route 53
ロードバランサー
+ SSL証明書
iOS/Android
アプリ
DNS
アプリケーション
サーバー
Amazon EC2
Amazon S3
画像、音声、映像
Amazon RDS
DBサーバー
(MySQL)
Amazon SESEmail
Amazon SNS
AWSアカウント割合
cloudpack
50%
直アカウント
50%
• cloudpackさん、直アカウントで半々。
• 対企業向けは cloudpackさんにお願いしてます。

(プロジェクトのクライアントが大企業さんの場合)
• 定額見積り、24時間監視、構成起動、SSL証明書の手配/年更新まで
をお願いできるのがメリット。
サーバー設計
• 予定がなくても、いつでもできるよう考慮しておく
• 2台目以降へは rsync でプログラム領域をコピー
スケールアウト
Snapshot
AMI
EC2 Instance
EC2 Instance
1台目 2台目
・・・
再起動あり
再起動なしで取れるが
止めた方が確実
rsync
Auto Scaling
ELB
• 2台目はクローンなので複製されるとまずいものを、外に出す
- もちろん RDB
同じサーバー内にRDBをインストールしない
Amazon RDSを利用する
- セッション情報
これはフレームワークがRDBに出すのでOKだった
- ログのディレクトリをプロジェクトの下に置かない
- ユーザーがアップロードするバイナリーファイル(画像等)
をサーバー内に保存しない
Amazon S3を利用する
• バッチ(cron) は、1台目でのみ走るようにする
アプリケーション
サーバー
Appサーバー
Mobile
Client
iOS/Android
アプリ
Amazon EC2
Amazon S3
画像、音声、映像
Amazon RDS
DBサーバー
(MySQL)
Amazon SESEmail
AWS SDK for Python
(boto)
普通に
SMTPサーバー
として指定
IPアドレス指定
量が少ない場合は
GMail、Google Apps
で済ませてしまう場合もあり
Appサーバーのインストール
• 最初はインストール手順をRedmineのWikiに書いていたが
• インストール手順書が書けるものは、コード化できる
• Chef Soloを導入
Client
chef-solo
アプリケーション
サーバー
Amazon EC2
コーディング
検証
実行
knife solo prepare
knife solo cook
knife solo prepare
knife solo cook
バックアップ
スナップショット
AWS Cloud
アプリケーション
サーバー
Amazon EC2
EBS Volume
Snapshot
AMI
EC2 Instance
• cloudpackアカウント
- 1日1回、2世代、AWSのスナップショット機能で取っ
てくれる
- cloudpackさんに泣きついて、スナップショットから
インスタンスを起動してもらった経験あり
• 直アカウント
- バックアップの重要性は身に染みた
- cloudpackさんと同じことをしたくて、Python boto
のスクリプトをcronに仕込んだ
サーバー監視
• cloudpackアカウントのものは、Nagiosのメールが来る
- 24時間監視は素晴らしい。       のメールも来る
• 直アカウントのもの
- 「サーバーが落ちてるんだけど」と、ある日突然言われる
- ZABBIXでアラートメール
- GUIベースなので導入は楽
- コードベースでGit管理する場合は、Nagiosの方がいいか
も
- 最初は簡単な Web監視から始める
- 徐々に ZABBIX client を入れて監視中
or
ZABBIXによるサーバー監視
パフォーマンス監視
http://newrelic.com/application-monitoring
New Relic
• New Relicの導入
- 指定ライブラリを読み込むため、2行程度挿入するだ
け(Pythonの場合)
• New Relicでできること
- 時間がかかっているトランザクション(URL)一覧
- トランザクションのタイムライン(SQLの時間)
- 発行されたSQLステートメントの一覧(回数、時間)
のここが凄い
Transactions
Trace details
ログ保存
ログ保存の必要性
• セキュリティ基準で
- ログの1年間保存を要求されている
- もちろん、これだけならサーバ内でのスクリプトで退
避で済む
• スケールイン
- サーバ台数が減るということは、縮退したサーバのログ
が失われる
EC2
各種ログ Fluentd Client
アプリケーションサーバー ログ収集サーバー
Fluentd Server
EC2
S3 bucket
Disk
アクセスログの解析
Fluentd + ElasticSearch + Kibana
アクセスログの可視化
まとめ
• AWSでのインフラは、段階として以下のように発展する
- どう構築するか
- どう運用するか(バックアップ、監視、ログ保存)
• 自分はインフラエンジニアではないと思っているが、

インフラの知識は必要
- かつインフラで忙殺される
• #nseg、#glnagano でインフラ勉強会があったら

参加したい
• JAWS-UG 長野支部がないことは気になっていた

(ここでも陸の孤島?)奔走された方々に感謝いたします
おわり

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
 
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
 
【CVPR 2020 メタサーベイ】Neural Generative Models
【CVPR 2020 メタサーベイ】Neural Generative Models【CVPR 2020 メタサーベイ】Neural Generative Models
【CVPR 2020 メタサーベイ】Neural Generative Models
 
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
 
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
ディープラーニングのフレームワークと特許戦争
ディープラーニングのフレームワークと特許戦争ディープラーニングのフレームワークと特許戦争
ディープラーニングのフレームワークと特許戦争
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
 
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とはがんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
 
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
 
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
 
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
 
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
 

Andere mochten auch (6)

Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
 
アプリエンジニアがReactNativeに乗り換えたら
アプリエンジニアがReactNativeに乗り換えたらアプリエンジニアがReactNativeに乗り換えたら
アプリエンジニアがReactNativeに乗り換えたら
 
React Native 入門
React Native 入門React Native 入門
React Native 入門
 
 〜デザイン初心者向け〜
 デザイン時に気をつけると幸せになれる事
 〜デザイン初心者向け〜
 デザイン時に気をつけると幸せになれる事 〜デザイン初心者向け〜
 デザイン時に気をつけると幸せになれる事
 〜デザイン初心者向け〜
 デザイン時に気をつけると幸せになれる事
 
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうWebデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
 
色彩センスのいらない配色講座
色彩センスのいらない配色講座色彩センスのいらない配色講座
色彩センスのいらない配色講座
 

Ähnlich wie AWS クラウドで構築するスマホアプリ バックエンド

NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
Yasuhiro Matsuo
 
Amazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack についてAmazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack について
Hiroyasu Suzuki
 
2011-04-21 クラウド勉強会
2011-04-21 クラウド勉強会2011-04-21 クラウド勉強会
2011-04-21 クラウド勉強会
Koichiro Doi
 
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
都元ダイスケ Miyamoto
 
20121221 AWS re:Invent 凱旋報告
20121221 AWS re:Invent 凱旋報告20121221 AWS re:Invent 凱旋報告
20121221 AWS re:Invent 凱旋報告
真吾 吉田
 

Ähnlich wie AWS クラウドで構築するスマホアプリ バックエンド (20)

NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
 
Amazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack についてAmazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack について
 
What's new with Serverless
What's new with ServerlessWhat's new with Serverless
What's new with Serverless
 
AWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDKAWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDK
 
AWS Update 2011/10
AWS Update 2011/10AWS Update 2011/10
AWS Update 2011/10
 
アマゾンクラウドの真価
アマゾンクラウドの真価アマゾンクラウドの真価
アマゾンクラウドの真価
 
cloudpack導入資料(2010/12/24版)
cloudpack導入資料(2010/12/24版)cloudpack導入資料(2010/12/24版)
cloudpack導入資料(2010/12/24版)
 
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
 
アマゾンにおけるAWSを用いた社内システム移行事例
アマゾンにおけるAWSを用いた社内システム移行事例アマゾンにおけるAWSを用いた社内システム移行事例
アマゾンにおけるAWSを用いた社内システム移行事例
 
2011-04-21 クラウド勉強会
2011-04-21 クラウド勉強会2011-04-21 クラウド勉強会
2011-04-21 クラウド勉強会
 
20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS
 
Go azure keynote-クラウド利用のあらゆるニーズに応える windows azure の進化
Go azure keynote-クラウド利用のあらゆるニーズに応える windows azure の進化Go azure keynote-クラウド利用のあらゆるニーズに応える windows azure の進化
Go azure keynote-クラウド利用のあらゆるニーズに応える windows azure の進化
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
 
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
20131210 CM re:Growth - Infrastructure as Code から Full Reproducible Infrastru...
 
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
 
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
 
MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択
 
DevAx::connect はじめました
DevAx::connect はじめましたDevAx::connect はじめました
DevAx::connect はじめました
 
サーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPSサーバレス × AWS SAM × DRにおけるTIPS
サーバレス × AWS SAM × DRにおけるTIPS
 
20121221 AWS re:Invent 凱旋報告
20121221 AWS re:Invent 凱旋報告20121221 AWS re:Invent 凱旋報告
20121221 AWS re:Invent 凱旋報告
 

AWS クラウドで構築するスマホアプリ バックエンド