
AWS運用専門の勉強会「Ops JAWS#4」に登壇してきました #jawsug #opsjaws
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
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が開催予定とのことですので、興味ある方は是非お越しください。











