こんにちは。ラーニングサービス本部トレーニング2部のたかやまです。
3月2日に実に5年ぶりとなるリアル JAWS DAYS 2024 が開催されました。トレノケートは Lunch サポーターとして参加していて、ランチセッションも行いました。(レポートはこちら)
また、サポーター用のノベルティ配布テーブルにおいては、オリジナルチョコを配布していました。限定105個だったので手に入れられなかった方もいるかも知れません。
実は、このチョコ。ラッピングを自由に作成できる DECOチョコさんで作成しています。
パッケージに表示されている QR コードを読み込むと AWS Cloud Practitioner Essentials 用語集サイトへリンクしています。AWS Cloud Practitioner Essentials とは、座学中心の研修で、AWSを初めて学ぶ方やAWS初心者の方におすすめです。AWSでは馴染みのない用語がたくさんあります。それらの用語を解説しているのが、この用語集サイトです。
AWS Cloud Practitioner Essentials 用語集
この用語集サイトは、CodeCommit + CodePipeline によって Markdown から HTML への変換 と PDF の生成、サイトの公開まで自動化しています。
全体のアーキテクチャは下図のようになっています。
今回のコンテンツは、Markdown 記法で記述しています。執筆担当者は、自身の分を書き終わると CodeCommit のブランチにプッシュし、プルリクエストを作成します。レビュープロセスを経て Main ブランチにマージされると、CodePipeline が動き出します。
ビルドフェーズでは、MkDocs を利用して Markdown から HTML への変換と PDF の書き出しを行っています。利用している buildspec.yml は以下の通りです。
version: 0.2 phases: install: runtime-versions: python: 3.11 commands: - python3 -m pip install --upgrade pip - pip install -r requirements.txt build: commands: - echo Build started on `date` - mkdocs build - ls -la site post_build: commands: - echo Build completed on `date`artifacts: base-directory: site files: - '**/*'cache: paths: []最初に構築したときは Python 3.9 のランタイム環境を使っていたのですが、ランタイムをアップデートしようと 3.10 に変えたら 3.10 はランタイム環境の OS がUbuntu しかサポートしていないということで、3.11 に変えてます。
MkDocs で利用する mkdocs.yml はこんな感じです。
site_name: AWS Cloud Practitioner Essentials Glossarysite_url: <https://cpe.aws.trainocate.biz/> theme: name: material language: ja font: text: Noto Sans Japanese logo: images/trainocate-logo.png favicon: images/trainocate-logo.png features: - search.suggest - search.highlight extra_css: - "<https://fonts.googleapis.com/earlyaccess/notosansjp.css>" - "<https://fonts.googleapis.com/css?family=Open+Sans:600,800>" - "css/main.css" extra: generator: false search: language: 'jp' social: - icon: fontawesome/brands/x-twitter link: <https://twitter.com/TrainocateJ> - icon: fontawesome/brands/facebook link: <https://www.facebook.com/search/top?q=%E3%83%88%E3%83%AC%E3%83%8E%E3%82%B1%E3%83%BC%E3%83%88%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%EF%BC%88trainocate%20japan%2C%20ltd.%EF%BC%89> - icon: fontawesome/brands/linkedin link: <https://jp.linkedin.com/company/trainocate-japan> use_directory_urls: false copyright: Copyright © 2024 Trainocate, Ltd. markdown_extensions: - def_list nav: - Home: 'index.md' - Common: common.md - Module 1: module1.md - Module 2: module2.md - Module 3: module3.md - Module 4: module4.md - Module 5: module5.md - Module 6: module6.md - Module 7: module7.md - Module 8: module8.md - Module 9: module9.md - Download PDF: pdf/aws-cpe-glossary.pdf plugins: - search - with-pdf: author: Trainocate, Ltd. copyright: Copyright 2024 Trainocate, Ltd. cover: true cover_title: AWS Cloud Practitioner Essentials cover_subtitle: Glossary debug_html: false show_anchors: false toc_title: 目次 toc_level: 3 two_columns_level: 3 output_path: pdf/aws-cpe-glossary.pdf日本語フォントを指定しないと PDF の日本語が文字化けしたので、Google Fonts を読み込んでます。
デプロイフェーズでは、CodeDeploy は使わずに直接 Amazon S3 のバケットに保存しています。このバケットは、コンテンツ公開用の別アカウントに用意しています。
通常、別のアカウントの S3 バケットに CodePipeline は書き込みできませんが、CodePipeline が利用するサービスロールに対して、公開アカウント側の IAM ロールを AssumeRole できるようにしてあげることで実現しています。
このやり方は、AWS re:Post のこの記事を参考にしました。奥が深いですね。
また、クロスアカウントデプロイには、パイプラインを実行するアカウントに KMS のカスタマーマネージドキーが必要で、公開される側のアカウントのポリシーに、その鍵を利用できる権限が必要になります。
この辺の設定も先程の記事を参考にして設定しました。ありがたい。
トレノケートのAWS認定トレーニングでは、AWS社の厳格なテクニカルスキル及びティーチングスキルチェックに合格した認定トレーナーがコースを担当します。AWS初心者向けの研修や、AWS認定資格を目指す人向けの研修をご提供し、皆様のAWS知識修得のサポートをいたします。
・トレノケートのAWS研修(AWS認定トレーニング)はこちら
▼AWS初心者の方は、AWS Cloud Practitioner Essentials から!
座学中心の研修で、AWSを初めて学ぶ方や、営業などで提案に関わる方におすすめです。
「AWS Certified Cloud Practitioner」資格取得を目指す方の基礎知識修得にも最適です。
→ 詳細・日程はこちらから
▼実践スキルを磨くなら、AWS Technical Essentials で!
実機演習が中心の研修です。仕事で構築作業を行う方や、シナリオベースの演習を通じて、実際に手を動かしながら各サービスの特徴を学びたい方におすすめのAWS研修です。
→ 詳細・日程はこちらから
いきなりの有償コースに抵抗がある方やまずはお試しをしてみたい方は、トレノケートが実施している無料セミナーがおすすめです。詳細はセミナーページよりご確認ください。
▼無料セミナーの詳細はこちらから
開発アカウントと公開アカウントを分離して CI/CD パイプラインを回すニーズは比較的多いと思います。
生成されたアーティファクトを自分のアカウントの S3 バケットにデプロイして公開アカウントにコピーさせる仕組みを作ってもいいのですが、CodePipeline の標準機能だけで出来るのがいいところです。