ヤマムギ

growing hard days.

*

AWS認定SAPの執筆開始にあたって環境を構築しました

      2021/04/11

AWS認定ソリューションアーキテクトプロフェッショナル対策本の執筆開始にあたりまして、執筆環境を構築しました。

個別には過去のブログに書いてますが、改めてまとめておきます。
年に1回か2回しか行わない作業ですし、次回にはやり方を変えるかもしれませんので、自動化はしません。

AWS CodeCommitのリポジトリ

AWS CodeCommitで新規のリポジトリを作成しました。
このアカウントは執筆の際にいつも使っているアカウントですので、AWS Code Commitをプライベートリポジトリとして使うに記載のIAMユーザーの[AWS CodeCommitのSSHキー]はすでにセットアップ済です。

AWS CodePipelineの作成

新規のパイプラインを作成しました。

パイプライン名を指定して、IAMロールは別の本のときに作成したものを使用しました。

原稿のZipファイルの保存先は、他の本と同じS3バケットにしました。

ソースでCodeCommitのリポジトリを選択して、パイプラインのトリガーはCloudWatch Events、出力アーティファクトの形式はgitメタデータを含まないZipファイルにしました。

ビルドステージはスキップしました。
誤字脱字の自動チェックとかビルドステージで追加したいですね。
そのうちトライしてみます。

デプロイステージはAmazon S3にして、既存のバケット、オブジェクトキーを指定しました。

CloudWatch Eventsにルールが作成されていました。

AWS Lambdaのトリガー追加

LamndaのIAMロールとは別に署名付きURL作成用のIAMユーザーを作ってアクセスキーを発行しています。
理由は署名付きURLの有効期限を一週間にしたいためです。
IAMロールの場合は有効期限がLamnda関数のインスタンスが起動した際の認証情報が有効な期間のみとなり一週間もちません。

  • 署名付きURL作成用IAMユーザーのIAMポリシー
    追加したアーティファクトのオブエジェクトキーのプレフィックスを追加しました。

  • AWS Lambdaのコード
    追加変更はありません。
    署名付きURL作成用のIAMユーザーのアクセスキーは環境変数を使っています。
    これは、SecretsManagerでローテーション付きで保護したほうがいいですね。
    そのうち改善します。

  • S3トリガー

トリガーはプレフィックス単位にしていますので追加しました。

Mac、WorkingCopy(iPhone, iPad)にクローン

PyCharmをインストールしているMacでは次のコマンドを実行。

iPhone、iPadのWorkingCopyからは、アプリのClone機能を使いました。

URLは、ssh://SSHキーID@git-codecommit.リージョンコード.amazonaws.com/パス です。

例 ssh://APKAJMDDPOLPSL7OAYOA@git-codecommit.us-east-1.amazonaws.com/v1/repos/test

動作テスト

iPhoneから編集してコミット、プッシュして、パイプラインが起動して、署名付きURLが作成されることが確認できました。

さて、執筆がんばります。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS

ad

ad

  関連記事

AWS WAFをSIEM on Amazon OpenSearch Serviceで可視化

SIEM on Amazon OpenSearch Serviceを構築の環境に …

Amazon Auroraのスナップショットの暗号化とリージョン間コピーを改めて試しました

Amazon Auroraデータベースを暗号化して、スナップショットを作成、クロ …

Rocket.ChatにAWS Lambda(Python)から投稿する

Rocket.ChatにAPIで投稿するテスト(Postman)をやってみて、使 …

Organizations組織でAWS SSOを有効にする

先日AWS Control Towerで環境を作ったら、自動でAWS SSOがで …

VPC環境でLambdaを100同時実行してプライベートIPアドレスを確認した

2019年9月発表のLambda 関数が VPC 環境で改善されます以降に、VP …

Amazon Connectから問い合わせ追跡レコード(CTR)をエクスポート

Amazon Connectから発信した電話に出たのか、出なかったのかを確認した …

JAWS-UG関西「AI で人を笑わせてみよう!ハンズオン」に参加しました

AI で人を笑わせてみよう!ハンズオン 灼熱の7月最終日にJAWS-UG関西のオ …

AWS Summit 2016 Tokyoに参加してきました (前日 ~ Day1)

AWS Summit 2016 Tokyoにて、セッション聴講、ブース展示拝見、 …

EC2ユーザーデータからメタデータを取得してRocket.Chatで80ポートを使用する

Rocket.Chatのデフォルトポート番号は3000です。 80を使うようにす …

EC2スポットインスタンスの中断通知を受ける

オートスケーリンググループでEC2インスタンスをスポットインスタンスで使用してい …