はじめまして、こんにちは、入社してまだ3ヶ月の若槻です。
クラウドエンジニアとして主にAWSを利用した自社製品のシステム構築を行っています。
DevSecOpsに興味があり社内で推進していきたいと思っています。
今回の記事では今年5月末に行われたAWS Summit Tokyo 2018の参加レポートを書いています。
私は1日目と3日目のセッションに参加してきたのでその中から印象に残ったものをピックアップしてレポートしていきます。
まずは頂いたお土産から、、、
企業ブースはあまり見て回る時間がありませんでしたが、短い時間でこれだけ貰っちゃいました!
では、本題の参加レポート(3セッション分)です。
1つ目は、伊藤忠テクノソリューションズ株式会社 様による
AWSを活用した「Enterprise DevOps」適用への挑戦 ~Ignite DevOps~
セッションです。
>概要
エンタープライズにおけるDevOps導入に向けた、AWS上での継続的デリバリーの実装紹介。
CI/CD環境をAWS上に構築してくれる自社で作成した無償ツール「Ignite」の紹介。
>市場の反応
DevOpsに取り組んでいる企業はまだまだ少ない。
国外のツールベンダーからは「日本は5年遅れてる」「日本は対象マーケットに入ってない」など
日本は保守的でDevOpsを推進していないと思われている。
グルーバルで見るとDevOpsイベントは年々活発になっている。
>「Ignite」の紹介
AWSのCodeシリーズを活用した、AWS上でのアプリケーションのリリース作業を自動化するツール
CICDパイプラインを自動生成する仕組みを提供し、
アジャイル導入のサポート、開発の進めやすさ、コード化されたインフラなどが実現できる。
>まとめ
・DevOps推進する活動が必要。
・CICD環境を提供する(Ignite)ことでツールの選定・検証がなくなり開発に集中できる。
>感想
・無償なので機会があれば検証してみたい。
・AWS CodeシリーズのUIが利用しづらい部分もあるのできれいにまとめてあるツールはありがたい。
・市場の反応について、まだまだDevOpsが取り入れられてないので推進していきたいと改めて思いました。
2つ目は、トレンドマイクロ株式会社 様による
DevSecOps時代のCloud Security! AWSとトレンドマイクロでどう実現するのか?
セッションです。
>DevSecOpsとは
"ビジネス目標達成のライフサイクルにセキュリティを組み込む"
>AWSで実現するDevSecOps
1.CI/CDパイプライン
パイプライン管理とセキュリティチェック
CodePipeline等の Codeシリーズを使いつつ、環境をCloudFormationで作成してテストする
2.デプロイ時の自動構成
セキュリティ評価とソフトウェア更新
CodeDeployからのCloudWatchEventで拾いつつInspectorで評価し、
問題があればSystems Managerからアップデートコマンドを実行
3.ワークロード監視と評価
脅威検知とセキュリティ設計
GuardDutyによるFindings
脅威が発見された場合、脅威の種類によって以下を行う
ネットワーク保護(WAF)
インフラ再構成(CloudFormation)
クレデンシャル管理(IAM)
>トレンドマイクロで補完するDevSecOps
Deep Securityの製品紹介
サーバーを多層防御する総合サーバセキュリティ対策ソフト
不正プログラム対策
不正URL接続防止
レジストリ等の変更監視
ホスト上で実行されるアプリケーション監視
仮想パッチでのOSやアプリケーションの保護
ファイヤーウォール
セキュリティログ監視
コンテナ対応(新しいめの機能)
既存のCI/CD Pipelineを邪魔しないSecurity実装
アプリケーションのホワイトリスト化
リストに登録されていないプログラムは実行されない
しかし、デプロイパイプラインで自動化したのにリストには手作業
→DeepSecurityではそこまで自動化できる仕組みがある
コードの信頼性
脆弱性が含まれているライブラリをチェック
DeepSecurityはコンテナでも大丈夫
デプロイする前のイメージをチェック
DeepSecuritySmart
dockerfileの各レイヤーをスキャン
>AWS FinTechリファレンスアーキテクチャ日本語版 トレンドマイクロ拡張版のご紹介
FISC関連基準 PCI DSS ISO 27001の要求事項を整理・検討し、要求事項機能を実装、新サービスの追加や新しいガイドライン発行などに合わせて、継続して更新、対応予定
→CloudFormationテンプレートを用意するので利用することで環境一式が揃う
>まとめ
・組織文化 + 手法 + ツールの3要素が重要
・ツールが揃っているのでDevOpsライフサイクルを即実行可能
・セキュリティサービスを組み合わせる事でDevSecOpsも容易に実現
>感想
・DeepSecurityがいつのまにか進化していてびっくり、コンテナ対応やdockerイメージのチェックは良さそう!
最後は、任天堂株式会社 様による
Nintendo Switch(TM)向けプッシュ通知システム「NPNS」
セッションです。
>サービス紹介
プッシュ通知システム
Nintendo Push Notification Service
※常時接続を使用 (TCP切断対策)
スイッチの左上の通知
・フレンドオンライン通知
・スマホやPCで購入したソフトのダウンロード完了通知
・本体更新通知、NintendoみまもりSwitchなどの様々なサービスからの通知
>要件
・スケーラビリティ:性能要件1億台に備える (現在1779万台)
・稼働率:AWSリージョン規模の障害未満は可動
・遅延:~数秒(正常)、~数分(異常時)ベストエフォード
・費用は抑える(既存のものを使うことで開発コストを下げる方針)
・開発者3〜4名
>構成
・XMPP Cluster(スイッチ向け、常時接続・通知)
ejabberd/Erlang, RDS(MySQL), redis, Consul
(補足)
XMPP:オープンソースのインスタントメッセンジャーのプロトコルおよび、クライアント、サーバの総称
Consul:簡単に言うとクラスター管理ツール
・Consumer API(REST/ID管理)
・Provider API(サーバ関連系向け、通知送信要求)
Ruby on Rails, Aurora5.6, Redis
・その他
SQS, ELB, Route53
・シングルリージョン
ネットワーク安定性、リソース利用効率の向上
→マルチリージョンにすると世界中からのアクセスがリージョンごとで集中する。シングルリージョンにして一極でスケールさせるという方針
>XMPP Clusterについて
・ロードバランシング
ELBはこの規模の常時接続に耐えられない → 不採用
DNSラウンドロビンでの実現
→ Route53に全ノードのAレコードを登録
→ ConsulがRoute53のレコードを更新
・死活監視
Auto ScalingとConsulからのダブルチェック
→なんか危なそうならConsulからDNSエントリ削除、Auto Scalingで復旧
・デプロイ
ブルーグリーンデプロイ
ドリップ処理(サーバーに重み付けをして徐々に切り替えていく)
→ 常時接続では接続処理が最も高負荷になるため再接続タイミングを分散させたい
※デメリットとしてデプロイ時間とインスタンス費用が2倍に。。。
・省メモリ化
ejabberdをカスタマイズ(OpenSSLのメモリ削減&解放, hibernate前にリソース開放)
r3.xlargeで72万接続
→ CPU、メモリに空きがあるのに接続数が増えない。。。
→セキュリティグループには制限があった。無効にして限界まで接続数を増やす。
→外部アクセスはACLで制御
・TCP接続対策
ロードバランサー(L4, L7)
Keep Alive
ユーザーごとで可変
パケットを定期に送信
ユーザー環境で実験
→最終的にL4で40%の削減、L7にて50%の切断を改善
★現状の規模
700万同時接続
2万通知/秒
200億通知/月
>展望
・NLBを導入してconsulを外したい
・Consumer API/ProviderでFargateを利用したい
>感想
・consulでのクラスター管理について興味が持てた。
・XMPP Clusterはカスタマイズをしないと大規模案件は難しそうな印象を受けた。
・セッションはとても面白く、深い技術や躓いた箇所などがよくまとまっていてとても参考になりました。
その他おすすめセッション
株式会社ソニー・インタラクティブエンタテインメント 様による
PlayStation Networkとコンテナ, CICD
DevSecOpsの仕組み作り、コンテナへの対応についてのセッションでとても分かりやすく面白いセッションでした。資料・動画が公開済みなのでご興味があれば是非見て頂きたいセッションです。
以下のAWS Black Belt Online Seminarでも紹介されたおすすめセッションです。
[AWS Black Belt Online Seminar] AWS Summit Tokyo 2018 の振り返りと最新アップデート
https://aws.amazon.com/jp/blogs/news/webinar-bb-summit-2018/
今年は全体的にDevOps(Sec)のセッションが多く、私自身も興味があり、これから実践したい分野でしたのでとても参考になりました。
また、Game Tech系も多く、全然関わり合いがない分野(BtoC向け分野)のセッションも拝聴できて新鮮でした。
来年のAWS Summitも行きたいです!
最後に、私が所属する基盤チーム(クラウドエンジニア)では一緒にAWSを利用してシステム構築をしてくれる仲間を募集中です。親身に相談に乗ってくれる仲間、綺麗なオフィス、チャレンジできる業務内容で充実した仕事ができます。
是非一緒に働きましょう。