AWS運用専門の勉強会「Ops JAWS#4」に登壇してきました #jawsug #opsjaws
AWS運用管理コミュニティが主催するAWS運用に関する勉強会Ops JAWS#4 - OpsJAWSOps JAWS#2に参加、登壇のレポートです。
雰囲気
19時にはほぼいっぱいになりました。
酒徳さんのご挨拶、Amirの乾杯のご発声にてOpsJAWS開演。
AWS OpsWorksがOpsJAWSにやってきた!
OpsWorksの概要
まずは、AWSJ舟崎さんよりOpsWorksの概要説明
- アプリケーションのライフサイクル管理サービス
- 構成管理
- デプロイ
- 自動化
- EC2インスタンス起動の後の作業をリモート(ログインせずに)から全て自動化できる
- ソフトウェアインストール
- アプリケーションのデプロイ
- OpsWorksの動作概要
- EC2の中にChefエージェントが定期的にOpsWorksと通信し、発行された一連のコマンドを取得
- Chef Clientのローカルモードでレシピを実行
- 注意事項
- 実体はEC2インスタンスなので、SSH/RDPログインしての作業も可能
OpsWorksによる運用管理
そして、AWS OpsWorks Product ManegerであるAmir Golan氏が登壇。
- Operation using AWS OpsWorks(本日のアジェンダ)
- Why do you need OpsWorks?(なぜOpsWorksを使うの?)
- model and group your applications(本番、ステージング等のようにモデリングとグルーピング)
- manage the life-cycle of your instanes(インスタンスのライフサイクル管理)
- contraol access management(RDP/SSHログインなどのアクセス権限制御)
- monitor the health of your resources(専用のMetricsで監視)
- analyze logging information(トラブル時のログ解析)
- mitigate operational problems(障害復旧)
- Why do you need OpsWorks?(なぜOpsWorksを使うの?)
- Configure your instances using AWS OpsWorks(OpsWorksを使ってインスタンス制御)
- Uses Chef to configure the software on the instances(Chefを使ってソフトウェア設定)
- associates runbooks(i.e. Chef cookbooks) with your instances(runbookをインスタンスと紐付け)
- appplies runbook configuration changes using life-cycle events(ライフサイクルイベントを利用してrunbookを修正)
- Model your applications and group your applications(アプリケーションのモデリング、グルーピング)
- StackとLayerを活用して、Flexibleにリソースを管理可能
- Lifecycle events(ライフサイクルイベント)
- Setupイベント
- インスタンスブート時に毎回呼ばれる
- パッケージインストール等
- Configureイベント
- インスタンスのステータス変更と連動して呼ばれる
- 設定情報が最新か確認
- Deployイベント
- 新しいバージョンのデプロイ時に呼ばれる
- アプリを構築する場合の例
- Setupイベント、Deployイベントはフローに従って実行
- 構成変更(DBサーバ追加、Appサーバ追加)を契機にConfigureイベントで設定を適切に修正
- 新しいレシピの単体実行も可能
- Setupイベント
- How does the AWS OpsWorks magic happen?(OpsWorksの仕組み)
- インスタンスがOpsWorksにKeepAlive HeartBeatを送り、LifeCycleイベントを受信
- OpsWorksからjsonの構成ファイルが格納されたS3へのポインタを取得
- インスタンスがjson構成ファイルをダウンロード
- pull cookbookds and other build assets from your repo(cookbookを取得)
- execute cookbooks(cookbook実行)
- upload run log(ログをアップロード)
- report on run status(ステータスをレポート)
- OpsWorks Access Management(アクセス制御)
- provide Iam Users, SSH/RDP and sudo admin privileges(IAMユーザ、SSH/RDP、sudo等の権限管理が可能)
- provided limited access on a group level(Stack単位等で権限制御が可能)
- 特定の時間だけアクセスさせる設定も可能
- Monitor the OpsWorks status(監視)
- 14 free one miniute metrics (Cpu, Memory, Load, Proocess Count, 等の1分間隔で参照できる14のメトリクス)
- Aggregation on the group level (OpsWorks Stack, Layer層で集約して管理)
- CloudWatch optimized dashboards (最適化されたダッシュボード)
- Analyze Loggging Information(ログ分析)
- Troubleshoot Chef run results(Chef実行ログを使ってトラブルシュート)
- Track application logs using CloudWatch Logs(CloudWatch Logsとの連携も可能)
- OpsWorks Usage Examples(利用例)
- bash shell script実行デモ
- オンラインになっているEC2インスタンスにコマンド実行
- json形式の定義情報を渡す
- 数十秒ですぐにログを出力することが可能
- 不具合が必要な場合に、必要な情報を通知または復旧作業そのものを実行できる
- Permissions設定画面からsudoの権限を追加デモ
- AWSマネージメントコンソールからチェックボックスで簡単にアクセス制御可能
- bash shell script実行デモ
- How do I Get Started with OpsWorks?(何から始める?)
- grab some community cookbooks(コミュニティcookbook活用)
- https://supermarket.chef.io/
- learn more(公式ドキュメント)
- https://aws.amazon.com/opsworks/
- get started(AWSマネージメントコンソールから)
- https://console.aws.amazon.com/opsworks/
- grab some community cookbooks(コミュニティcookbook活用)
CloudWatch Events Hands-on
ハンズオンの講師をやらせて頂きました。
使用したLambdaのコードは以下です。
[gist id="5b1df9e90e20fe173685"]
参加者の皆さんが非常にAWSに精通された方で、ほとんどサポート無しで進めました!素晴らしい!
上記の手順でやられた場合、必ず最後にルールの削除、もしくはDisableを行って下さい。
サーバが起動できなくなります。
非常に楽しかったです!!
まとめ
JAWSのイベントにAWSのPMの方が来るという異色の回となったこともあり、ものすごい数の来場者数でした。
次回は4/20(水)にOpsJAWS #5が開催予定とのことですので、興味ある方は是非お越しください。