ヤマムギ

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

  関連記事

AWS複数アカウントのリソースをLambda(Python)から一括操作したくて

AWSの複数アカウント(30ちょい)のリソースをまとめて自動処理したくて。 とり …

「ポケットスタディ AWS認定 デベロッパーアソシエイト」を執筆しました

2021年3月6日に、「ポケットスタディ AWS認定 デベロッパーアソシエイト」 …

CodeDeployでECR、ECSにデプロイするパイプラインのチュートリアル

チュートリアル: Amazon ECR ソースと、ECS と CodeDeplo …

AWS Lambdaで Unable to import module エラーが発生したときは

そもそも、Pycharmのナビゲーションペインでディレクトリごとドラッグ&amp …

AWS Trusted Advisorの2023/11/17発表のAPI

2023/11/17に発表されたAWS Trusted Advisor の新しい …

SageMaker AI StudioでJupyterLab スペースを作成しJupyterLab を起動、S3拡張のインストール

JupyterLab ユーザーガイドとJupyterLab 拡張機能を参照して、 …

ユーザーガイドの方法でGithubからCodeCommitへリポジトリを移行する

GitリポジトリをAWS CodeCommitに移行するを参照しました。 環境 …

AWS Storage Gatewayボリュームゲートウェイを作成してWindowsから使用

ボリュームゲートウェイの作成 Storage Gateway作成メニューからボリ …

AWS東京リージョンのAZ(apne1-az1)障害時の当ブログで発生していたことの記録

日本時間2/19 23:01頃より、東京リージョン、特定AZの1つでEC2インス …

QuickSightのVisualizeをダッシュボード化して定期メール

「Backlogの実績工数をAmazon QuickSightで可視化してわかっ …