© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アマゾン ウェブ サービス ジャパン 株式会社
技術支援本部 エンタープライズサポート
伊藤 裕史
2017年6月1日
AWSサポートと各種運用支援ツールを利用した
システム運用・管理やコストの最適化
自己紹介
名前: 伊藤 裕史
所属:アマゾン ウェブ サービス ジャパン 株式会社
技術支援本部 エンタープライズサポート
シニア テクニカルアカウントマネージャ
テクニカルアカウントマネージャ(TAM)としてエンタープライズサポー
トプランをご契約のお客様を担当し、AWSサポートが提供する各種
ツールやサービスを通じて日々お客様のAWSご利用の最適化をサ
ポートしています
AWSサポートのラインナップ
•
24/365(ビジネスプラン以上)の日本語サポート
•
AWSサービスのフルラインナップをサポート
•
長期のコミットメントは不要
•
お問い合わせ回数は無制限
コンシェルジュ対応
認定エンジニア対応
TAM
本日のセッションで扱う3つのポイント
迅速な対応による
システムの安定運用
ベストプラクティスを活用した
システム品質向上
コストの可視化とAWS利用の
最適化
AWS Trusted Advisor
AWS Answers
AWSサポートナレッジセンター
Service Health Dashboard
Personal Health Dashboard
AWS Health APIとGit repository
AWSサポートの活用
予算管理機能
各種レポートの活用
CostExplorer
リザーブドインスタンス
一括請求の活用
本日のセッションで扱う3つのポイント
迅速な対応による
システムの安定運用
ベストプラクティスを活用した
システム品質向上
コストの可視化とAWS利用の
最適化
AWS Trusted Advisor
AWS Answers
AWSサポートナレッジセンター
Service Health Dashboard
Personal Health Dashboard
AWS Health APIとGit repository
AWSサポートの活用
予算管理機能
各種レポートの活用
CostExplorer
リザーブドインスタンス
一括請求の活用
システム安定運用のための二つの視点
システムメンテナンスの影響の最小化
Personal Health Dashboardでメンテナンスを知る
• アカウント固有のリソースに対する
メンテナンス情報や影響を受ける可能性のあるAWS
の大規模障害の情報
を提供
AWS Health APIでプログラムからアクセスする
• Personal Health Dashboard に表示される通知を機械的に取得するためのAPI
~$ aws health describe-event-details --event-arns “arn:aws:health:us-east-2::event/AWS_EC2_OPERATIONAL_ISSUE_1493167712”
<= イベント(≒通知)毎にARNが割り振られる { "failedSet": [], "successfulSet": [ { "event": { "lastUpdatedTime": 1493170667.273, "service": "EC2", "eventTypeCode": "AWS_EC2_OPERATIONAL_ISSUE", "startTime": 1493167712.0, "eventTypeCategory": "issue", "endTime": 1493170596.0, "region": "us-east-2", "arn": "arn:aws:health:us-east-2::event/AWS_EC2_OPERATIONAL_ISSUE_1493167712", "statusCode": "closed" }, "eventDescription": {
“latestDescription”: “[RESOLVED] EBS Volume (省略)The issue has been resolved and the service is operating normally." }
} ] }
AWS Health APIの活用 - AWS Health Tools リポジトリ
• AWS Health(Personal Health
Dashboard)を活用して通知対応
などを自動化するためのコミュニティ
ベースのツールレポジトリ
• 利用可能なサンプル(2017/5)
•
SMS Notifier
•
SNS Topic Publisher
•
Slack Notifier
•
Instance Store Degraded Drive
•
Disable AWS CodePipeline Stage
Transition
レポジトリURL
例)slack Notifier
https://github.com/aws/aws-health-tools/tree/master/slack-notifier
AWS Healthが生成するCloudWatch EventsのEventを利用してLambdaを実行し、Slackの
WebHookに情報をパブリッシュ
サンプルのLambda FunctionやCloudFormation Templateを提供
メンテナンスイベントの取りこぼし防止に役立つ
AWSの各サービス
AWS Health
CloudWatch
Events
Lambda
Function
お客様が障害を検知した時の問題解決フロー
AWSの問題
かもしれない
サポートセンター
アプリケーションや
OSレイヤーの問題
の調査
サポートセンターから問い合わせ※
・ AWSインフラの障害調査
・ 問題切り分け調査のご支援
・ ベストプラクティスに基づいた改善策
etc…
Dashboardで
サービスのステータス
をチェック!
• 24/365の日本語サポート※
• Web/電話/チャット※
• AWSサービスに関するスペシャリスト
が対応
(Cloud Support Engineer)
※開発者プラン以上が技術的お問い合わせを利用可能です。
AWSのステータス Service Health Dashboard
URL:http://status.aws.amazon.com/
サービスのステータスを以下のアイコンで表現
• 提供機能
•
サービス(Region)単位でステータス表示
•
RSSを利用して更新をチェックすることも可能
•
過去の稼働情報も提供
• 注意点
•
必ずしも更新はリアルタイムではない
•
発生した障害の影響範囲によっては必ずしもス
テータスが更新されない
サポートお問い合わせのベストプラクティス
• 一つのお問い合わせで関連性のない複数の質問をしない
• 問い合わせ対象リソースの所有者が起票していることを確認する
• 適切な緊急度を設定いただく
• お問い合わせの際に可能な限り以下の内容を添付する
事象の発生時間(タイムゾーン):
事象が発生したリソースの詳細(リージョン/リソースID・名前):
発生した事象の詳細:
SDKやCLIのエラーであればそのエラー出力
可能であれば、AWS CLIの場合は”--debug”オプションの指定
ネットワーク疎通の問題であれば通信元と通信先のリソース情報
ご参考:調査で必要となる情報(1/2)
サービス 問題の種別 必要な情報 CloudFormation S3が関連した問題 S3のエンドポイントURL、必要に応じスタック名 デプロイ時の問題 スタック名、使用したテンプレート、関連リソースID テンプレート作成時の問題 作成したテンプレート API、その他 スタック名 CloudFront ディストリビューション関連 お客さまがアクセスするURL,DistributionのURL、返答されるHTTPステータスコード、該当URL へのdig/nslookup 名前解決テスト結果、Origin へ直接アクセスした結果、 traceroute/traceroute(TCP) API、その他 DistributionのURLCloudWatch AutoScalingの問題 Auto Scaling Group名、Auto scaling Policy名、AS設定コマンド
Metrics取得に関する問題 Metrics取得対象リソース情報(インスタンスID,RDS/ELBエンドポイントなど)、Metrics取得時 パラメーター、Metrics名、現象が発生した時刻
Alarmに関する問題 対象となるAlarmの名前、現象が発生した時刻、SNS通知先
Direct Connect 接続に関する問題 仮想インターフェースID(dxvif-xxx)、物理ラインID(dxcon-xxx で始まるID)、それぞれのリ ソースのカウント名
DynamoDB 性能の問題 テーブル名、検証を実施した時刻、CloudWatchのRead/Write Capacityの出力
アクセスの問題 テーブル名、エラーの出力詳細、アクセス方法(SDKの種類、呼び出し方)
EC2 & ELB 起動/停止の問題 インスタンスID、OS側のエラーログ
インスタンス/ELB疎通問題 インスタンスID, traceroute の出力、接続元、接続先のIPアドレス、監視システムのエラーログ
EBSに関連した問題 インスタンスID, 問題があるストレージデバイス名(EBSのVolume ID、OS内のデバイス名な
ど)
ELBに関連した問題 インスタンスID、アクセス可能なURL、ELBのエンドポイントURL、traceroute の出力、curl (-v --trace-time) の出力(数回実施)、監視システムのエラーログ
性能に関連した問題 インスタンスID、OS側のエラーログ、監視システムのエラーログ
ご参考:調査で必要となる情報(2/2)
サービス 問題の種別 必要な情報
ElastiCache Cacheノード障害関連 ElastiCacheクラスタID、ノードID
接続に関連する問題 ElastiCacheクラスタID、接続元インスタンスID APIエラー関連 ElastiCacheクラスタID、SDKバージョン Elastic Beanstalk 全般 アプリケーション名、Environment名 Elastic MapReduce ジョブのエラー関連 ジョブフローID
Hadoopクラスタ関連 ジョブフローID Hive関連 ジョブフローID、問題となっているクエリ その他 APIなりコンソールのエラー内容 Glacier Volt名、アーカイブ名、ジョブID IAM 全般 アカウントID、IAMユーザー/グループ名 ポリシー関連 アカウントID、IAMユーザー/グループ名、試したポリシーJSON その他API関連 エラーログと実行コマンド(セキュリティ注意) OpsWorks 全般 再現可能なレシピ(セキュリティ注意)、エラーの内容、スタックの構成(なるべく詳細)、再現手順 RDS アクセス関連 DBインスタンスのエンドポイントFQDN、DBエラーコード、アクセス元 起動/停止関連 DBインスタンスのエンドポイントFQDN フェールオーバー DBインスタンスのエンドポイントFQDN RedShift 全般 RedShiftのFQDN、エラーコード、アクセス元 Route 53 HostedZoneID、どのリソースレコードセットか、異常時のdig/nslookup、期待している結果 S3 BucketID、Key名、リクエストID、Bucket ログ、APIエラー(HTTPエラーコード)、IAM絡む場合はIAM ポリシー/IAMユーザー名 SES 特定のメール メッセージID、APIログ SNS トピック名、通知のエンドポイントアドレス SQS 全般 Queue名
Storage Gateway EC2 インスタンスID、クライアントインスタンスID、
オンプレ オンプレ側のネットワーク構成情報、Proxy有無、DHCP使用有無、ボリューム構成
VPC インスタンス関連 インスタンスID
VPNコネクション関連 VPNコネクションID、回線の詳細(種類、キャリア)、
http://docs.aws.amazon.com/AmazonVPC/latest/NetworkAdminGuide/Troubleshooting.html の実行 結果
プログラムからサポートへアクセス AWS Support API
• AWS Support APIはサポートのお問い合わせに関する操作や
AWSサポートが提供するツール(AWS Trusted Advisor)に
対してAPIアクセスを提供
• AWS CLIや各種SDKから利用可能
• IAMによるアクセス制御もサポート
AWS Support APIの活用例
サポート問い合わせ
の自動化や
問題管理ツールとの連携
サポート問い合わせ
のエクスポート
Trusted Advisorとの
自動連携(後述)
より詳しいご利用方法はこちら!
http://docs.aws.amazon.com/awssupport/latest/user/Case_Life_Cycle.html
http://docs.aws.amazon.com/awssupport/latest/user/trustedadvisor.html
AWSサポートをこんなことの確認にもご活用ください
• ドキュメントを見ながらいろいろ試してみたけど、詳しい仕様がどう
なっているのか確認したい
• このサービスを使って実現したいことがあるのだけど、どう使うのがベ
ストプラクティスなのだろう
本日のセッションで扱う3つのポイント
迅速な対応による
システムの安定運用
ベストプラクティスを活用した
システム品質向上
コストの可視化とAWS利用の
最適化
AWS Trusted Advisor
AWS Answers
AWSサポートナレッジセンター
Service Health Dashboard
Personal Health Dashboard
AWS Health APIとGit repository
AWSサポートの活用
予算管理機能
各種レポートの活用
CostExplorer
リザーブドインスタンス
一括請求の活用
AWSのご利用に関するベストプラクティス情報
• ユーザーの皆様による事例発表や、一般的なブログ/書籍
• AWSが発行するホワイトペーパーやWell-Architected Framework
• お問い合わせに対してサポートがご紹介するベストプラクティス
AWS Trusted Advisor がお客様による
セルフレビューをサポート
お客様のセルフレビューを支援 AWS Trusted Advisor
システムのセキュリティ
設定は十分に強化さ
れているだろうか?
そもそも、自分のシステムは
AWSのベストプラクティスに
適合しているだろうか?
どこかに無駄なコストがか
かっていないだろうか?
・・・プロフェッショナルでも不安になることはある・・・
AWS Trusted Advisor が提供する機能
• お客様が使用しているAWSリソースのヘルスチェックダッシュボード
• ヘルスチェック結果の通知
• アクションリンク – 通知に対する推奨アクションへのダイレクトパス
• IAMによるアクセス制御とAWSサポートAPIの提供
注)フル機能を使用するためにはビジネスサポートプラン以上が必要です。
AWS Trusted Advisorがチェックする項目
カテゴリ
ヘルスチェックチェックする内容
例
コスト最適化
コスト最適化の可能性がある項目に対する
推奨事項
使用率の低いEC2インスタンス
利用頻度の低いEBSボリューム
など
セキュリティ
お客様のシステムのセキュリティ弱体化につ
ながる恐れのある設定
セキュリティグループ(無制限アク
セス)、MFA設定 など
耐障害性
お客様システムのアプリケーションの可用性
や冗長性を高めるためのベストプラクティス
からの推奨事項
RDSのマルチAZ構成、EBSスナッ
プショット、ELBのクロスゾーン設
定 など
パフォーマンスの向上
アプリケーションの拡張性や応答性の改善、
過剰なキャパシティのチェックなどパフォーマ
ンス最適化のための推奨事項
サービス制限、高負荷なEC2イン
スタンス、CloudFrontのキャッシュ
ヒット率チェック など
コスト削減 セキュリティ 耐障害性 パフォーマンス
• 使用率の低いAmazon EC2 Instances • アイドル状態の Load Balancer • 利用頻度の低いAmazon EBSボリューム • 関連付けられていない Elastic IP Address • Amazon RDSアイドル状態のDBインスタンス • Amazon Route 53 レイテンシーリソースレコード セット • EC2 リザーブドインスタンスの最適化 • Amazon EC2 リザーブドインスタンスのリース有 効期限切れ • 使用率の低い Amazon Redshift クラスター • セキュリティグループ- 無制限アクセス※ • IAM アクセスキーローテーション • セキュリティグループ - 開かれたポート • IAM パスワードポリシー • ELB リスナーのセキュリティ • ELB セキュリティグループ • IAM の使用※ • Amazon S3バケット許可 • ルートアカウントのMFA※ • Amazon RDS セキュリティグループのアクセスリス ク • Amazon Route 53 MX リソースレコードセットと Sender Policy Framework
• AWS CloudTrail ロギング • IAM 証明書ストアの CloudFront 独自 SSL 証 明書 • オリジンサーバーの CloudFront SSL 証明書 • 公開されたアクセスキー • Amazon EBS スナップショット • Amazon EC2 アベイラビリティゾーンのバランス • Amazon RDS バックアップ • Load Balancerの最適化 • VPNトンネルの冗長化 • Amazon RDS Multi-AZ • Auto Scaling Group ヘルスチェック • Amazon S3 バケット ロギング
• Amazon Route 53 ネームサーバ権限委譲 • Amazon Route 53 高 TTL リソースレコードセッ
ト
• ELB クロスゾーン負荷分散 • ELB Connection Draining • Amazon S3 バケットバージョニング • AWS Direct Connect 仮想インターフェイスの
冗長性
• Auto Scaling グループ リソース
• Amazon Route 53 フェイルオーバーリソースレ コードセット
• Amazon Route 53 削除されたヘルスチェック • AWS Direct Connect 接続の冗長性 • AWS Direct Connect ロケーションの冗長性 • Amazon Aurora DB インスタンスアクセシビリ
ティ
• EC2 Windows インスタンスの PV ドライバー バージョン
• EC2 Windows インスタンス用の EC2Config サービス
• Amazon Route 53 エイリアスリソースレコード セット
• 使用率の高いAmazon EC2インスタンス • サービス制限※
• Amazon EBS プロビジョンド IOPS ボリューム ア タッチ設定 • EC2 セキュリティグループルールの増大 • EC2 インスタンスセキュリティグループルールの増 大 • 利用率が高すぎる Amazon EBS マグネティック ボリューム • コンテンツ配信の最適化 (CloudFront) • CloudFront ヘッダー転送とキャッシュヒット率 • Amazon EC2 から EBS スループット最適化 • CloudFront 代替ドメイン名