Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
私のEC2
2015振り返り
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 1
森田 邦裕
@morita92hiro kunihiro.morita.52
- 経歴
- 組み込みエンジニア
- ぼっちインフラエンジニア 2013∼
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 2
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 3
EC2
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 4
さまざまなアーキテクチャ誕生
• Auto Scaling
• Blue-Green Deployment
• Immutable Infrastructure
• Infrastructure as Code
2015/12/12 JAWS-...
技術的な後押し
• CloudFormation
• Ansible
• Chef
• Serverspec
• Docker
• ECS
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 6
201411∼
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 7
Lambda誕生
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 8
Serverless
Architecture
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 9
EC2使ったら負けから、
まだEC2使ってるの?へ
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 10
言うは簡単ですが
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 11
EC2必要
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 12
EC2も進化してるよ!
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 13
私のEC2構築
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 14
CloudFormation
Designer1
1
Amazon Web Services ブログ: 【AWS発表】AWS CloudFormation Designerと、より多くのサービスのサポート
2015/12/12 JAWS-UG福...
Designerない
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 16
JSON地獄
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 17
Designer誕生後
• テンプレートの作成をGUIで作れる
• 設定を振り返るときに便利
• CloudFormationを使ってない構成は
CloudFormerでテンプレートにし
て、Designerで開いて把握しやすく
2015/12...
AMI 2015.032
2
Amazon Web Services ブログ: 【AWS発表】Amazon Linux AMI 2015.03 が利用可能に
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 19
Ansible動かない
• デフォルトがPython2.7になった影響
• 手動でセットアップなんて・・・
• デプロイもAnsible
• 開発者に本番サーバーへSSHさせない
環境
• 死活問題
2015/12/12 JAWS-UG福岡 ち...
解決
yum remove ansible
pip install ansible
結論
• pipでインストール
• OpsWork使えば・・・
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 21
VPC Endpoint for S33
3
Amazon Web Services ブログ: Amazon S3のVPCエンドポイント
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 22
VPC Endpoint for S3
• プライベートサブネットからS3へアクセス
• パブリックサブネットのインスタンスもプライベートIPアド
レスでS3へアクセス
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をして...
S3へリバースプロキシでアクセス制限
• 公開するコンテンツはアクセス制限(Basic認証)したい
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 24
VPC Endpointない
• パブリックIPをバケットポリシー設
定
• EC2のスケールでバケットポリシー更
新必要
• EIPからのアクセスとは限らない
• IPアドレスレンジ制限するもの違う4
4
Amazon Web Service...
VPC Endpoint誕生後
• VPC Endpointもしくは、VPCからバ
ケットのアクセスをバケットポリシ
ー制御
• S3アクセスは全てプライベートIP
• EC2のスケールについていける
2015/12/12 JAWS-UG福岡 ...
S3 Bucket Policy for VPC Endpoint
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "VPCAccessPolicy",
"Effect": "Allow",...
Route53 Private DNS5
5
Amazon Web Services ブログ: Route53のアップデート - プライベートDNS、他
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 28
Private DNSない
• hostsファイルに書く
• 全EC2のhostsファイル更新が必要
• IP変わるとつらい
• ELB、RDSはIP指定できない
• 自前Private DNSサーバーだと
• 構築&運用&コスト 増
2015...
Private DNS誕生後
• サーバーレス、SLA100%、50円/月
• CloudFormationでEC2作成と同時
や、EC2起動時にAレコード更新
• DNS名はタグに書いとく
• インスタンス差し替えもレコード更
新だけ
201...
SESでメール受信6
6
Amazon Web Services ブログ: 【AWS発表】Amazon SESがメール受信、そしてその処理に対応しました
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 31
SESでメール受信ない
• 自前メール受信サーバー
• 構築&運用&コスト 増
• ドメイン管理してると無料でつかえるメールサービス
• Route53で管理すると使えなくなる
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの...
SESでメール受信誕生後
• サーバーレス、$0.1/1000通
• SESからLambda、S3、SNS、WorkMailへ後続処理できる
• POPサーバーとは違うのでメールクライアントの接続はでき
ない
2015/12/12 JAWS-U...
DDoSに対するAWSのベ
ストプラクティス7
7
AWS Solutions Architect ブログ: 「DDoSに対するAWSのベストプラクティス(日本語版)」の公開と攻撃対象領域の削減によ
るDDoS攻撃への備え方
2015/12/1...
3行で
• セキュリティグループとNetwork ACLをちゃんと設定
• CloudWatchでちゃんと監視
• CloudFront、ELB等マネージドサービス使ったらええんやで
2015/12/12 JAWS-UG福岡 ちょっと濃い目にA...
私のEC2運用
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 36
CloudWatch
Dashboards13
13
Amazon Web Services ブログ: 【AWS発表】CloudWatch Dashboards – メトリックビューのカスタマイズ
2015/12/12 JAWS-UG福岡 ちょ...
Dashboards
• お手軽
• 2週間だけでOKなとき
Grafana
• イケてるグラフ
• 2週間以上必要なとき
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 38
Dashboards
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 39
Grafana
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 40
CloudWatch
Logs10
10
Amazon Web Services ブログ: 【AWS発表】Amazon CloudWatch Logsが東京リージョンでも利用可能に!
2015/12/12 JAWS-UG福岡 ちょっと濃い目にA...
ログ可視化
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 42
Logsでグラフも作れる
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 43
Elasticsearch
Service11
11
Amazon Web Services ブログ: 【AWS発表】Amazon Elasticsearch Service
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話...
CloudWatch Logs +
Elasticsearch +
Kibana12
12
Amazon Web Services ブログ: CloudWatch Logs Subscription Consumer + Elasticsear...
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 46
比較
• ログ収集はfluentd使わずawslogsを
使っていた
• 構築の手間 EC2 ≒ ES
Ansibleで作っていた、クラスタリン
グ不要だった
• お値段 EC2 < ES
• ログ投入の手間 EC2 > ES
• 安心感 EC2...
logstash +
Elasticsearch + Kibana
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 48
logstash
• ローカルのログをCLIでElasticsearchへ
• サービスとしてリアルタイムでログをElasticsearchへ
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 49
input
2015-12-06T23:50:13.836060Z hoge-elb XXX.XXX.XXX.XXX:49850
10.0.49.37:80 0.000129 0.001164 0.000026 200 200 0 1521
"...
config
input {
stdin { }
}
filter {
grok {
match => { "message" => "^(?<timestamp>[^ ]*) (?<elb>[^ ]*)
(?<client_ip>[^:]*)...
date {
match => [ "timestamp" , "ISO8601" ]
locale => "en"
remove_field => [ "timestamp" ]
}
useragent {
source => "user_a...
output
$ /opt/logstash/bin/logstash -f import.conf < hoge
{
"@version" => "1",
"@timestamp" => "2015-12-06T23:50:13.836Z",...
"ssl_cipher" => "ECDHE-RSA-AES128-GCM-SHA256",
"ssl_protocol" => "TLSv1.2",
"name" => "Mobile Safari",
"os" => "iOS 9.1",
...
CloudWatch Action
EC2 Auto Recovery8
EC2 Reboot9
9
CloudWatch 新アクション機能 – EC2インスタンスのリブート
8
Amazon Web Services ブログ: 【AWS発表】...
StatusCheckFailed_System
• ネットワーク接続の喪失
• システム電源の喪失
• 物理ホストのソフトウェアの問題
• 物理ホストのハードウェアの問題
AWS側になにか問題があって修復が必要なときのエラー
2015/12/...
修復方法
• 根気強く待つ
• 自分自身で解決する
• 手動でインスタンスのStop & Start -> IPが変わる!
• AMI作りなおす -> IPもインスタンスIDも変わる!
• 自動でよしなに
2015/12/12 JAWS-UG福...
Auto Recovery
• 自動復旧
• インスタンス情報は引き継がれる
• 発生から復旧まで10分以内ぐらい?
(発生経験なし)
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 58
StatusCheckFailed_Instance
• 失敗したシステムステータスチェック
• 正しくないネットワークまたは起動設定
• メモリの枯渇
• 破損したファイルシステム
• 互換性のないカーネル
インスタンス内部に問題があって修復...
修復方法
• 手動で再起動
• CloudWatchアラームのトリガーで
再起動
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 60
自動復旧と再起動で
安心の年越し!
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 61
Elastic File System14
マダー?
14
Amazon Web Services ブログ: 【AWS発表】Amazon Elastic File System (EFS) - Amazon EC2 のための共有ファイルストレー...
∼201510
• CloudFormation Designer
• Route53 PrivateDNS
• SESでメール受信
• CloudWatch Dashboards / Logs
• ElasticSearch Service
...
201511∼
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 64
Lambda
Python2.7対応
Cron対応
VPC対応予定
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 65
スケジュールでのジョブ
実行は、Lambdaと
Pipelineどちらがいいの?
— BlackBelt 10月 座談会で質問してみた
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 66
Lambda!
Data PipeLine!
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 67
No Server is Easier To Manage Than No Server
サーバーが無いに越したことはない
— Amazon CTO.
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 68
Lambda!
EC2!
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 69
2016 EC2❓
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 70
今年の機能は今年のうちに!
2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 71
Upcoming SlideShare
Loading in …5
×

私のEC2 2015振り返り

1,796 views

Published on

JAWS-UG福岡「ちょっと濃い目にAWSの話をしてみよう」でお話した資料です。

Published in: Technology

私のEC2 2015振り返り

  1. 1. 私のEC2 2015振り返り 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 1
  2. 2. 森田 邦裕 @morita92hiro kunihiro.morita.52 - 経歴 - 組み込みエンジニア - ぼっちインフラエンジニア 2013∼ 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 2
  3. 3. 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 3
  4. 4. EC2 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 4
  5. 5. さまざまなアーキテクチャ誕生 • Auto Scaling • Blue-Green Deployment • Immutable Infrastructure • Infrastructure as Code 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 5
  6. 6. 技術的な後押し • CloudFormation • Ansible • Chef • Serverspec • Docker • ECS 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 6
  7. 7. 201411∼ 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 7
  8. 8. Lambda誕生 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 8
  9. 9. Serverless Architecture 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 9
  10. 10. EC2使ったら負けから、 まだEC2使ってるの?へ 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 10
  11. 11. 言うは簡単ですが 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 11
  12. 12. EC2必要 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 12
  13. 13. EC2も進化してるよ! 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 13
  14. 14. 私のEC2構築 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 14
  15. 15. CloudFormation Designer1 1 Amazon Web Services ブログ: 【AWS発表】AWS CloudFormation Designerと、より多くのサービスのサポート 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 15
  16. 16. Designerない 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 16
  17. 17. JSON地獄 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 17
  18. 18. Designer誕生後 • テンプレートの作成をGUIで作れる • 設定を振り返るときに便利 • CloudFormationを使ってない構成は CloudFormerでテンプレートにし て、Designerで開いて把握しやすく 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 18
  19. 19. AMI 2015.032 2 Amazon Web Services ブログ: 【AWS発表】Amazon Linux AMI 2015.03 が利用可能に 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 19
  20. 20. Ansible動かない • デフォルトがPython2.7になった影響 • 手動でセットアップなんて・・・ • デプロイもAnsible • 開発者に本番サーバーへSSHさせない 環境 • 死活問題 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 20
  21. 21. 解決 yum remove ansible pip install ansible 結論 • pipでインストール • OpsWork使えば・・・ 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 21
  22. 22. VPC Endpoint for S33 3 Amazon Web Services ブログ: Amazon S3のVPCエンドポイント 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 22
  23. 23. VPC Endpoint for S3 • プライベートサブネットからS3へアクセス • パブリックサブネットのインスタンスもプライベートIPアド レスでS3へアクセス 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 23
  24. 24. S3へリバースプロキシでアクセス制限 • 公開するコンテンツはアクセス制限(Basic認証)したい 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 24
  25. 25. VPC Endpointない • パブリックIPをバケットポリシー設 定 • EC2のスケールでバケットポリシー更 新必要 • EIPからのアクセスとは限らない • IPアドレスレンジ制限するもの違う4 4 Amazon Web Services ブログ: 【AWS発表】AWSのIPアドレスレンジをJSON で提供 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 25
  26. 26. VPC Endpoint誕生後 • VPC Endpointもしくは、VPCからバ ケットのアクセスをバケットポリシ ー制御 • S3アクセスは全てプライベートIP • EC2のスケールについていける 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 26
  27. 27. S3 Bucket Policy for VPC Endpoint { "Version": "2008-10-17", "Statement": [ { "Sid": "VPCAccessPolicy", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::hoge/*", "Condition": { "StringEquals": { "aws:sourceVpce": "vpce-12345678" } } } ] } 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 27
  28. 28. Route53 Private DNS5 5 Amazon Web Services ブログ: Route53のアップデート - プライベートDNS、他 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 28
  29. 29. Private DNSない • hostsファイルに書く • 全EC2のhostsファイル更新が必要 • IP変わるとつらい • ELB、RDSはIP指定できない • 自前Private DNSサーバーだと • 構築&運用&コスト 増 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 29
  30. 30. Private DNS誕生後 • サーバーレス、SLA100%、50円/月 • CloudFormationでEC2作成と同時 や、EC2起動時にAレコード更新 • DNS名はタグに書いとく • インスタンス差し替えもレコード更 新だけ 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 30
  31. 31. SESでメール受信6 6 Amazon Web Services ブログ: 【AWS発表】Amazon SESがメール受信、そしてその処理に対応しました 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 31
  32. 32. SESでメール受信ない • 自前メール受信サーバー • 構築&運用&コスト 増 • ドメイン管理してると無料でつかえるメールサービス • Route53で管理すると使えなくなる 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 32
  33. 33. SESでメール受信誕生後 • サーバーレス、$0.1/1000通 • SESからLambda、S3、SNS、WorkMailへ後続処理できる • POPサーバーとは違うのでメールクライアントの接続はでき ない 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 33
  34. 34. DDoSに対するAWSのベ ストプラクティス7 7 AWS Solutions Architect ブログ: 「DDoSに対するAWSのベストプラクティス(日本語版)」の公開と攻撃対象領域の削減によ るDDoS攻撃への備え方 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 34
  35. 35. 3行で • セキュリティグループとNetwork ACLをちゃんと設定 • CloudWatchでちゃんと監視 • CloudFront、ELB等マネージドサービス使ったらええんやで 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 35
  36. 36. 私のEC2運用 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 36
  37. 37. CloudWatch Dashboards13 13 Amazon Web Services ブログ: 【AWS発表】CloudWatch Dashboards – メトリックビューのカスタマイズ 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 37
  38. 38. Dashboards • お手軽 • 2週間だけでOKなとき Grafana • イケてるグラフ • 2週間以上必要なとき 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 38
  39. 39. Dashboards 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 39
  40. 40. Grafana 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 40
  41. 41. CloudWatch Logs10 10 Amazon Web Services ブログ: 【AWS発表】Amazon CloudWatch Logsが東京リージョンでも利用可能に! 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 41
  42. 42. ログ可視化 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 42
  43. 43. Logsでグラフも作れる 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 43
  44. 44. Elasticsearch Service11 11 Amazon Web Services ブログ: 【AWS発表】Amazon Elasticsearch Service 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 44
  45. 45. CloudWatch Logs + Elasticsearch + Kibana12 12 Amazon Web Services ブログ: CloudWatch Logs Subscription Consumer + Elasticsearch + Kibana Dashboards 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 45
  46. 46. 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 46
  47. 47. 比較 • ログ収集はfluentd使わずawslogsを 使っていた • 構築の手間 EC2 ≒ ES Ansibleで作っていた、クラスタリン グ不要だった • お値段 EC2 < ES • ログ投入の手間 EC2 > ES • 安心感 EC2 << ES PRICELESS 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 47
  48. 48. logstash + Elasticsearch + Kibana 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 48
  49. 49. logstash • ローカルのログをCLIでElasticsearchへ • サービスとしてリアルタイムでログをElasticsearchへ 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 49
  50. 50. input 2015-12-06T23:50:13.836060Z hoge-elb XXX.XXX.XXX.XXX:49850 10.0.49.37:80 0.000129 0.001164 0.000026 200 200 0 1521 "GET https://hoge.com/ HTTP/1.1" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 50
  51. 51. config input { stdin { } } filter { grok { match => { "message" => "^(?<timestamp>[^ ]*) (?<elb>[^ ]*) (?<client_ip>[^:]*):(?<client_port>[^ ]*) (?<backend>[^ ]*) (?<request_processing_time>[^ ]*) (?<backend_processing_time>[^ ]*) (?<response_processing_time>[^ ]*) (?<elb_status_code>[^ ]*) (?<backend_status_code>[^ ]*) (?<received_bytes>[^ ]*) (?<sent_bytes>[^ ]*) "(?<request>[^"]*)" "(?<user_agent>[^"]*)" (?<ssl_cipher>[^ ]*) (?<ssl_protocol>[^ ]*)" } remove_field => [ "message" ] } 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 51
  52. 52. date { match => [ "timestamp" , "ISO8601" ] locale => "en" remove_field => [ "timestamp" ] } useragent { source => "user_agent" } geoip { source => [ "client_ip" ] } } output { stdout { codec => rubydebug } # elasticsearch { host => 'localhost' } } 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 52
  53. 53. output $ /opt/logstash/bin/logstash -f import.conf < hoge { "@version" => "1", "@timestamp" => "2015-12-06T23:50:13.836Z", "host" => "localhost", "elb" => "hoge-elb", "client_ip" => "XXX.XXX.XXX.XXX", "client_port" => "49850", "backend" => "10.0.49.37:80", "request_processing_time" => "0.000129", "backend_processing_time" => "0.001164", "response_processing_time" => "0.000026", "elb_status_code" => "200", "backend_status_code" => "200", "received_bytes" => "0", "sent_bytes" => "1521", "request" => "GET https://hoge.com HTTP/1.1", "user_agent" => "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1", 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 53
  54. 54. "ssl_cipher" => "ECDHE-RSA-AES128-GCM-SHA256", "ssl_protocol" => "TLSv1.2", "name" => "Mobile Safari", "os" => "iOS 9.1", "os_name" => "iOS", "os_major" => "9", "os_minor" => "1", "device" => "iPhone", "major" => "9", "minor" => "0", "geoip" => { "ip" => "XXX.XXX.XXX.XXX", "country_code2" => "JP", "country_code3" => "JPN", "country_name" => "Japan", "continent_code" => "AS", "latitude" => 36.0, "longitude" => 138.0, "timezone" => "Asia/Tokyo", "location" => [ [0] 138.0, [1] 36.0 ] } } 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 54
  55. 55. CloudWatch Action EC2 Auto Recovery8 EC2 Reboot9 9 CloudWatch 新アクション機能 – EC2インスタンスのリブート 8 Amazon Web Services ブログ: 【AWS発表】Amazon EC2の自動リカバリ(Auto Recovery)機能 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 55
  56. 56. StatusCheckFailed_System • ネットワーク接続の喪失 • システム電源の喪失 • 物理ホストのソフトウェアの問題 • 物理ホストのハードウェアの問題 AWS側になにか問題があって修復が必要なときのエラー 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 56
  57. 57. 修復方法 • 根気強く待つ • 自分自身で解決する • 手動でインスタンスのStop & Start -> IPが変わる! • AMI作りなおす -> IPもインスタンスIDも変わる! • 自動でよしなに 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 57
  58. 58. Auto Recovery • 自動復旧 • インスタンス情報は引き継がれる • 発生から復旧まで10分以内ぐらい? (発生経験なし) 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 58
  59. 59. StatusCheckFailed_Instance • 失敗したシステムステータスチェック • 正しくないネットワークまたは起動設定 • メモリの枯渇 • 破損したファイルシステム • 互換性のないカーネル インスタンス内部に問題があって修復が必要な時のエラー 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 59
  60. 60. 修復方法 • 手動で再起動 • CloudWatchアラームのトリガーで 再起動 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 60
  61. 61. 自動復旧と再起動で 安心の年越し! 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 61
  62. 62. Elastic File System14 マダー? 14 Amazon Web Services ブログ: 【AWS発表】Amazon Elastic File System (EFS) - Amazon EC2 のための共有ファイルストレー ジ 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 62
  63. 63. ∼201510 • CloudFormation Designer • Route53 PrivateDNS • SESでメール受信 • CloudWatch Dashboards / Logs • ElasticSearch Service • EC2 Auto Recovery / Reboot 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 63
  64. 64. 201511∼ 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 64
  65. 65. Lambda Python2.7対応 Cron対応 VPC対応予定 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 65
  66. 66. スケジュールでのジョブ 実行は、Lambdaと Pipelineどちらがいいの? — BlackBelt 10月 座談会で質問してみた 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 66
  67. 67. Lambda! Data PipeLine! 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 67
  68. 68. No Server is Easier To Manage Than No Server サーバーが無いに越したことはない — Amazon CTO. 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 68
  69. 69. Lambda! EC2! 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 69
  70. 70. 2016 EC2❓ 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 70
  71. 71. 今年の機能は今年のうちに! 2015/12/12 JAWS-UG福岡 ちょっと濃い目にAWSの話をしてみよう 71

×