20161208 classmethod codenize tools
TRANSCRIPT
![Page 1: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/1.jpg)
クラメソ流Codenize Tools 活用術
2016 年 12 月 8 日
![Page 2: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/2.jpg)
2本日の内容
• Roadworker• Piculet• ansible
それと・・・
![Page 3: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/3.jpg)
菅原さんに感謝の意
![Page 4: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/4.jpg)
4自己紹介
名前 : 植木 和樹(うえき かずき)年齢 :40 歳出身 : 新潟県妙高市
IT サービスマネージャーAWS コンサルティング部オペレーショングループ長オペレーション部長IT 推進室室長
@czkuk
![Page 5: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/5.jpg)
5Roadworker との出会い
2013 年 8 月 23 日cloudpack Night #7
![Page 6: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/6.jpg)
![Page 7: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/7.jpg)
7早速活用
• Route53 への DNS 移行• 20 ゾーン• 最大 500 レコード / ゾーン• (が CSV ファイルで提供される)
• CSV ファイルを Roadworker ファイルに変換• 数時間で作業完了
![Page 8: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/8.jpg)
8Piculet との出会い
• 数ヶ月後 某ブログで存在を知る
![Page 9: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/9.jpg)
![Page 10: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/10.jpg)
10Piculet を便利にする補助スクリプト
• 課題• IP アドレスの目的が分からない• お客さまも結構忘れてる• 事務所移転による IP アドレス変更が結構多い
IP→ 名前変換があると便利だよね
![Page 11: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/11.jpg)
11inject_definition.rb• address_list.yml にマッピング定義• piculet --export 後に IP アドレスを名前変換
![Page 12: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/12.jpg)
---VPC: ClassA: 10.0.0.0/8 ClassB: 172.16.0.0/16 ClassC: 192.168.0.0/24CM: Office: 203.0.113.1/32 Joetsu: 203.0.113.2/32
$ piculet --export --region ap-northeast-1 –split$ ruby inject_definition.rb
![Page 13: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/13.jpg)
ec2 "vpc-800040e5" do security_group "AccountServer-SSHSecurityGroup-P0GE4GWO3JYN" do description "Enable SSH access via port 22”
ingress do permission :tcp, 22..22 do ip_ranges( Definitions.ip.CM.Iwamotocho3F, Definitions.ip.CM.Joetsu, Definitions.ip.CM.Sapporo, Definitions.ip.CM.Iwamotocho5F, Definitions.ip.CM.Office ) end end egress do permission :any do ip_ranges( "0.0.0.0/0” ) end end endend
![Page 14: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/14.jpg)
近日中に公開します
(今日作者の OK もらいました)
![Page 15: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/15.jpg)
![Page 16: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/16.jpg)
AWS 総合支援サービス:メンバーズ大幅割引、請求書送付、付帯損害保険、AWSサポートを標準セットにして無料提供
AWS 利用料金( 従量課金 )
AWS エンタープライズサポート$15,000 〜
損害保険 5%請求代行手数料 10%
AWS 利用料金 ( 従量課金 )+請求代行手数料 無料+損害保険 無料+
AWS エンタープライズサポート 無料+
Amazon EC2 オンデマンド対象インスタンス 10% オフ+
Amazon CloudFront 64% オフ+フルサポート 10%
自社契約または他社サービスの利用例 クラスメソッド メンバーズ利用例
お得!
![Page 17: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/17.jpg)
AWS 総合支援サービス:メンバーズ
AWS 総合支援サービスメンバーズコンサルティング
構築支援
24/365 無人監視セキュリティ監視
運用支援TAM
ご提案 構築 運用監視
![Page 18: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/18.jpg)
以上宣伝でした
![Page 19: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/19.jpg)
AWS 総合支援サービス:メンバーズ
AWS 総合支援サービスメンバーズコンサルティング
構築支援
24/365 無人監視セキュリティ監視
運用支援TAM
ご提案 構築 運用監視
![Page 20: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/20.jpg)
20運用支援(オペレーション)
システムA
EB
CloudFormation
システムB
EC2
Terraform
システムC
EC2
-
オペレーション
システム毎の差分を吸収して標準化しないと死ねる
![Page 21: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/21.jpg)
21くらめそオペチー社内試験あります
フェーズ1・受付・上限緩和
フェーズ2・ QA
フェーズ3・作業
社内試験SA アソシエイト
![Page 22: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/22.jpg)
22Roadworker/Piculet のいいところ
• 使い方が簡単• --dry-run• どんな手法で構築した環境でも OK
![Page 23: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/23.jpg)
23ansible
• 2013 年 5 月〜 2014 年夏chef ( knife-solo )
• chef-server 入れる程の規模でもない• 構築時だけ楽したいという需要が多い• なんか知らんけど chef-client が動かん
• 2014 年〜現在ansible
![Page 24: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/24.jpg)
24ansible x PCIDSS
• 2016 年 2 月取得• 12 の要件• 作業用ログインサーバー(重要)
• sshd の設定とかパスワードポリシーとか自動アカウントロックとか作業の記録とかログイン時の MFA 設定とかアンチウイルスソフトのインストールとかファイルの改ざん検知とか通知とかそれらがちゃんと機能してるかの確認とか・・・要はくっそ面倒くさい
![Page 25: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/25.jpg)
25ansible x PCIDSS
• 1個ずつ必要な設定を playbook に記述• 結構な頻度で ansible-playbook• 作業対象サーバーが変更されたタイミング• 作業アカウントが追加されたタイミング
• 常に「あるべき設定」になっている
![Page 26: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/26.jpg)
26運用がちょっとダサイ
• 【いま】playbook 修正→ ansible-playbook→ git push
• 【理想】git push→ Git commit hook→ Jenkins (git pull)→ ansible-playbook
![Page 27: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/27.jpg)
27ansible x PCIDSS x AWS
• Jenkins が PCIDSS の対象になるのはイヤ• Code Commit + Code Build でいけるカモ?
(いま検証中)
![Page 28: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/28.jpg)
28【最後に】 piculet で困ってること1
• switchRole に対応してない• aws-sdk-v1 が対応してないため?
$ cat ~/.aws/config
[profile myaws]output = jsonrole_arn = arn:aws:iam::987654321098:role/ueki.kazukisource_profile = default
![Page 29: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/29.jpg)
29【最後に】 piculet で困ってること2
• IAM Role → Role の assumeRole のクレデンシャルだとセキュリティーグル プに− AWS アカウント ID が付与される
• IAM User → Role の assumeRole だと OK
security_group "ueki-default-sg" do description "ssh and http" ingress do permission :any do groups( ["123456789012", "sg-63b4510c"] ) end end end
![Page 30: 20161208 Classmethod Codenize Tools](https://reader033.vdocuments.net/reader033/viewer/2022042907/586e11bc1a28ab8a588b5823/html5/thumbnails/30.jpg)
30まとめ
• 構築時はメンテナンス方法まで考えよう(植木との約束だよ)
• コードは信頼できる状態にしておこう
• 菅原さんに感謝っ!圧倒的感謝っ!!