ヤマムギ

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認定クラウドプラクティショナー 改訂第3版」という本を書きました。

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

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

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

 - AWS

ad

ad

  関連記事

WordPressの年ごとのブログ投稿数を調べるSQL

毎年年末に使いそうなのでメモです。 [crayon-68aca5b7ba5314 …

Aurora Serverless Data APIを有効にしてQuery Editorを使ってみました

Aurora ServerlessのMySQLでData APIを有効にして作成 …

AWS CLIでS3マルチパートアップロードを確認

AWS CLI を使用して、Amazon S3 にファイルをマルチパートアップロ …

NGINXで500と502のエラーが実は頻発していたらしい

先日Mackerelで当ブログの外形監視を始めたのですが、500と502のエラー …

Amazon Linux2(EC2)にEC-CUBE 4をインストール

こちらのHOMEお知らせ・コラムAmazon Linux2にEC-CUBE4.0 …

AWS Organizations EC2宣言型ポリシーを設定する

2024/12/1に発表されましたOrganizationsの宣言型ポリシーを設 …

[JapanTaxi] Athena 指向アナリティクス 〜真面目に手を抜き価値を得よ〜(AWS Summit Tokyo 2017)を聞いてきました

Athenaのユースケースとして聞きにいきましたが、最近触ってるRe:dashも …

AWS Transit GatewayのVPN接続

上記のような構成で、オンプレミス側は東京リージョンのVPCでVyOSを起動して接 …

AWS BackupでRDSスナップショットをクロスリージョンコピー

クロスリージョンでコピーしたい対象と理由 このブログはブログのアーキテクチャをコ …

AWS Transit Gatewayピアリング接続確認

AWS Transit Gatewayのピアリング接続を使用して、異なるリージョ …