Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Classmethod Cloud Guidebookの裏側
Search
nyankotaro
August 02, 2023
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Classmethod Cloud Guidebookの裏側
nyankotaro
August 02, 2023
More Decks by nyankotaro
See All by nyankotaro
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
530
イノベーショントークから見るクラウド運用の未来を振り返ってみた
nyankotaro
0
1.1k
組織的AWS活用のススメ
nyankotaro
0
730
組織的なクラウド統制のはじめの一歩 後編
nyankotaro
0
1.3k
CDKを使って爆速でナレッジサイトを公開した話
nyankotaro
1
2.7k
AWSのクラウド統制サービスの紹介
nyankotaro
0
1.4k
CLI構築のススメ
nyankotaro
1
1.2k
Other Decks in Technology
See All in Technology
製造現場での生成AIの活用、およびエージェントAIの実装のあり方、AVEVAの取り組み
iotcomjpadmin
0
180
千葉での単身赴任からAWSをやり続け、千葉に戻ってきた話
yama3133
1
120
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
250
2026 AI Memory Architecture
nagatsu
0
490
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
270
螺旋型キャリアの生存戦略 / kinoko-conf2026
rakus_dev
1
1.1k
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
20
7.8k
「勝手に広まる」人気 AI エージェントを爆速で作ろう!(AWS Summit Japan 2026講演資料)
minorun365
PRO
10
2.6k
コミットの「なぜ」を読む
ota1022
0
120
Lightning近況報告
kozy4324
0
220
AI 不只幫你寫 Code: 當專案從 300 暴增到 1500, 我們如何撐住 DevOps
appleboy
0
260
クラウドファンディング版StackChan 3体(4体)をインタラクティブな体験型作品にして展示もした話 / スタックチャンお誕生日会2026
you
PRO
0
190
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
260
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
260
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
260
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Music & Morning Musume
bryan
47
7.2k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Why Our Code Smells
bkeepers
PRO
340
58k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
400
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
Classmethod Cloud Guidebookの裏側 2023/8/2 AWS事業本部コンサルティング部 たかやま 1
自己紹介 2 高山晃太朗(@nyan_kotaroo) 所属 : AWS事業本部コンサルティング 趣味 : ねこ、筋トレ 経歴
: 金融系インフラSE4年 -> クラスメソッド ロール : 技術コンサル、ナレッジサイトの運用
アジェンダ 3 Classmethod Cloud Guidebookとは? コンテンツ管理の裏側 インフラ管理の裏側
Classmethod Cloud Guidebook とは? お客様向けに提供しているAWSのナレッジ集 (ここでは長いのでCCGと呼びます) 4
Classmethod Cloud Guidebook とは? 5 AWS事業本部の顧客対応の中で得たAWS活用のノウハウ、セキュリ ティ、マイグレーション、ガイドライン作成などのクラスメソッドの知見 を集めたドキュメント集 クラウドジャーニーを導くガイドブックのような存在であってほしい という思いが込められています
Classmethod Cloud Guidebook とは? 6 クラスメソッドメンバーズのお客様向けに無料で公開しています デモサイトも公開中 ↓ https://demo.guidebook.classmethod.net/
コンテンツ内容 7 AWS利用ガイドラインサンプル 組織管理ガイド(旧AWSアカウントベースラインTips) Security Hubガイド マイグレーションガイド
コンテンツ内容 8 https://dev.classmethod.jp/articles/how-to-use-ccg/ https://dev.classmethod.jp/articles/developersio- day-one-classmethod-cloud-guidebook/ コンテンツの使い方の詳細についてはこちら
今回はClassmethod Cloud Guidebook 裏側ということで... 9
Classmethod Cloud Guidebookの裏側 10 CCGを支える裏側のサービスを紹介します MkDocs
コンテンツ管理の裏側 1 1
コンテンツ管理の裏側 12 MkDocs
MkDocs 13 Pythonで動作する静的サイトジェネレーター テーマやプラグインをインストールすることで プロジェクトをカスタマイズ可能 Markdown形式でドキュメントを記述することができる 生成されたコンテンツをGitHubページ、Amazon S3に ホストすることで静的なHTMLサイトを構築可能
MkDocs 14 <!-- Classmethod Cloud Guidebook --> Classmethod Cloud GuidebookはAmazon
Web Services(以下、AWS)のナレッジ集です。 本コンテンツは組織内におけるAWSガバナンスの支援を目的としています。<br>複数のAWS 活用時の管理方法やセキュリティ対策の検討・判断に役立つ情報をまとめています。 クラウドジャーニーを歩まれる上でのガイドブックとしてご活用ください。 ## 掲載コンテンツ 掲載コンテンツは、CCoE、DX推進、技術企画部門などの組織内におけるAWS全体の管理者 やセキュリティ担当者を主な読者として想定して用意しています。 | コンテンツ | 想定読者 | 解決できる課題 | 記載内容 | |---|---|---|---| | [AWSアカウントベースラインTips](./BaselineTips/README.md) | 組織内のAWS全体の 管理者<br><br>セキュリティ担当者 | AWS上でセキュアにシステムを稼働させるための基 盤(ベースライン)を構築したいが、どのように設定すればよいか分からない<br><br>ベ ースライン設定に関する検討事項を把握したい | セキュリティとスケーラビリティを考 慮したベースライン設定の検討事項と検討ノウハウ | | [AWS Security Hubガイド](./SecurityHubGuide/README.md) | 組織内のAWS全体の管理 者<br><br>セキュリティ担当者 | AWS Security Hubのセキュリティチェックに対する対 応方針を検討したい<br><br>チェック項目(コントロール)を無効化する判断材料を知り たい | セキュリティ基準「AWS基礎セキュリティベストプラクティス」の各コントロール における対応方針の推奨 | | [マイグレーションガイド](./Migration/README.md) | 移行計画策定者<br><br>移行実 務者 | AWSへのマイグレーションを検討したい<br><br>MGNでの移行方法を知りたい | 移 行準備ガイド、データ移行ガイド<br><br>MGN移行ガイド | | [AWS利用ガイドラインサンプル](./Guideline/README.md) | 組織内のAWS全体の管理者 | AWS利用ガイドラインを作成したいが、どのような内容を検討すればよいか分からない <br><br>ガイドラインのアウトプットをイメージしたい | AWS利用ガイドラインの策定項 目と内容のサンプル ・ ・ ・ site_name: Classmethod Cloud Guidebook site_url: https://guidebook.classmethod.net/ nav: - "はじめに": README.md - "改訂履歴": HISTORY.md # ##### - "📘組織管理ガイド": - "本セクションの使い方": Organization/README.md ・ ・ ・ markdown_extensions: - tables ・ ・ ・ plugins: - tags: tags_file: tags.md ・ ・ ・ theme: favicon: image/favicon.ico ・ ・ ・ MkDocs画面 mkdocs.yml README.md コンテンツ本文をMarkdownで記載 ナビゲーションバーの構成や MkDocs全体のデザイン/プラグインを設定
MkDocs 15 https://dev.classmethod.jp/articles/mkdocs-and-material-for- mkdocs-tips-matome/
GitHub 16 コンテンツ管理でGitHubを使うことで社内に広く 執筆へのコントリビュートを促す 表記ゆれをおさえるためのtextlintと開発環境への 自動デプロイのCI/CDをGitHub Actionsを実装
GitHub 17 コントリビュートの仕組みを用意してGitHubで社内公開することで 多くの方が執筆に貢献できる 各コンテンツの運営メンバー 執筆に貢献いただいたコントリビューターは30人
GitHub 18 AWSリソース名や技術文書向けの表記ゆれをおさえるためのtextlintを導入 https://dev.classmethod.jp/articles/create_aws_textlint_rule/ https://dev.classmethod.jp/articles/markdown-writing-with-textlint-ci/
GitHub 19 開発環境(develop branch)にはGitHub Actionsで自動デプロイを実装 https://dev.classmethod.jp/articles/github-actions-sync-mkdocs- build-to-s3/ IAM Role
フィードバック管理 20 GitHubを利用しない営業やサポートチームからも広くを声を集めるために Notionでフィードバック・質問受付を実施 Notionに起票するとSlackに通知される
インフラ管理の裏側 2 1
インフラ管理の裏側 22 MkDocs
インフラ管理の裏側 23 極力稼働をかけないで楽をしたい サービスはサーバレスメイン IaCはAWS CDKを使って開発工数を削減 SaaSを利用して運用をオフロード
インフラ管理の裏側 24 サーバレスメインで構成することで運用コストを削減 認証 セキュリティ 監視 コンテンツ公開
コンテンツ公開 25 コンテンツ公開 コンテンツ公開はCloudFront + S3を利用 詳細については 「10分でわかるCloud One File
Storage Securityを利用したS3 のデータ保護」 ホスティングするファイルは Cloud One File Storage Securityで マルウェアスキャンを実施 マルウェアファイルは 公開をブロック
認証 26 CloudFrontの署名付きCookieで認証 認証 https://dev.classmethod.jp/articles/aws-cdk-multi- environment-config/ CognitoやALBのようなサービスとOIDC連携ができない 環境でも認証機能を実装可能
セキュリティ 27 セキュア設定とWafCharmでセキュリティ運用をオフロード セキュリティ WafCharmレポート例 WafCharmが自動でルールを運用 月次レポートも生成可能 GuardDuty,Security Hubなどのセキュリティサービスは セキュア設定でワンクリックで有効/メンテナンス
WAF運用はWafCharmで運用をオフロード https://classmethod.jp/aws/services/secure-account/
監視 const synthetics = require('Synthetics'); const log = require('SyntheticsLogger'); const
syntheticsConfiguration = synthetics.getConfiguration(); const flowBuilderBlueprint = async function () { const url = process.env.URL; syntheticsConfiguration.setConfig({ includeRequestHeaders: true, includeResponseHeaders: true, restrictedHeaders: [], restrictedUrlParameters: [], }) let page = await synthetics.getPage() // Navigate to the initial url await synthetics.executeStep('navigateToUrl', async function (timeoutInMillis = 30000) { await page.goto(url, { waitUntil: ['load', 'networkidle0'], timeout: timeoutInMillis }); }); // Execute customer steps const userid = 'dummy@classmethod'; await synthetics.executeStep('input', async function () { await page.type("[type='userid']", userid); }); await synthetics.executeStep('input', async function () { await page.type("[type='password']", cmppassword); }); await synthetics.executeStep('click', async function () { await page.waitForSelector("[type='submit']", { timeout: 30000 }); await page.click("[type='submit']"); }); await synthetics.executeStep('verifyText', async function () { await page.waitForXPath("//h1[contains(text(), 'はじめに')]", { timeout: 30000 }); }); }; exports.handler = async () => { return await flowBuilderBlueprint(); } 監視 28 CloudWatch Syntheticsでログインページを伴うサイトの死活監視 Synthetics GUIワークフロービルダーで ログインページの認証からCCGのコンテンツまで確認
AWS CDK 29 IaCはAWS CDKを使って開発工数を削減 Construct ホットスワップ機能(--hotswap)
Construct 30 JavaScript/TypeScriptの自動コンパイルを行い esbuildによるLambda関数のアセットをバンドルしてくれる TypeScriptでCDKを使っていればpackage.jsonをlambdaと共有可 ローカルファイルをS3にアップロードしてくれる オプションでCloudFrontキャッシュ削除も可能 Lambda開発で利用 ログインページのホスティングで利用 Experimental(試験的)にはなりますが、pythonとgo用に拡張されたConstructがあります。
NodejsFunction BucketDeployment 複数のAWSリソースの構成を抽象化(まとめた)したもの ↓は今回特に開発効率を向上させてくれたConstruct
ホットスワップ機能(--hotswap) 31 CloudFormationを変更せず、リソースを直接更新するオプション 対応リソース Lambda コード/タグ/説明/環境変数/バージョン/エイリアス Step Functions ステートマシン定義 ECS
コンテナアセット S3 静的ホスティングリソース CodeBuild プロジェクト/ソース AppSync VTLマッピングテンプレート ※本番環境での利用は非推奨 cdk deploy cdk deploy --hotswap 約50秒削減
料金 32 サービス 概要 料金 (USD/month) CloudWatch Canary(5分間隔)、Alarm 約20$ WAF※1
1ACL+3Rules 約8$ Security Hub GuardDuty セキュリティ 約12$ S3,CloudFront, API Gateway, Lambda 認証、コンテンツ公開(1万リクエスト/month) 約2$ Cloud One FSS ファイルスキャン(1万ファイル/month) 約8$ 主要リソース料金 ※1 : WafCharmは料金に含まず
さいごに 33 Classmethod Cloud Guidebookが みなさんのガイドブックとなれるように今後も継続して コンテンツをアップデートしていきます!
34