BioErrorLog Tech Blog

試行錯誤の記録

AWS

エラー対処: Object of type datetime is not JSON serializable | Python

Pythonのjsonモジュールを利用してjson変換する際に発生した、下記のエラーの対処法をまとめます。 "Object of type datetime is not JSON serializable" はじめに 背景 対処法 defaultパラメータ 対処法1:string変換 対処法2:カスタム変換 おわりに 参…

特定のIAM RoleがアタッチされたEC2インスタンスを列挙する | AWS CLI

AWS CLIを用いて、特定のIAM RoleがアタッチされたEC2インスタンスを列挙する方法の備忘録です。 はじめに 特定のIAM RoleがアタッチされたEC2を列挙する やり方 解説 ec2 describe-instances --filters --query --output おわりに 関連記事 参考 はじめに …

S3バケットポリシーとIAMポリシーの関係を整理する

S3バケットポリシーとIAMポリシーの関係を、同一アカウント・クロスアカウントそれぞれにおいて整理します。 はじめに S3バケットポリシーとIAMポリシーの関係 結論 検証準備 同一アカウント内アクセス クロスアカウントアクセス おわりに 参考 はじめに こ…

LambdaでAWS CLIを実行する | AWS Lambda Layer

Lambda Layerを利用して、Lambda上でAWS CLIを実行する方法をメモします。 はじめに LambdaでAWS CLIを実行する Python仮想環境の作成 仮想環境にAWS CLIをインストール Python実行パスの変更 AWS CLI関連パッケージをzipファイルにまとめる Lambda Layerの…

S3既存オブジェクトに一括でbucket-owner-full-controlを付与する | AWS CLI

S3バケットの既存の全オブジェクトに--acl bucket-owner-full-controlを一括付与するやり方の備忘録です。 はじめに 既存オブジェクトにbucket-owner-full-controllを一括付与する 追記バージョンコマンドの解説 旧バージョンコマンドの解説 おわりに 関連記…

Boto3でAssumeRoleする | AWS SDK for Python

Boto3でAssumeRoleするやり方をまとめます。 はじめに Boto3でAssumeRoleする AssumeRole関数の実装 使用例 おわりに 参考 はじめに こんにちは、@bioerrorlogです。 Boto3を利用したPythonスクリプトで、AssumeRoleしたい状況はよくあります。 その度にAssu…

aws s3 cpとsyncの違い | AWS CLI

AWS CLIのs3 cpとs3 syncの違いをまとめます。 はじめに cpとsyncの違い Descriptionを比較する コマンドオプションを比較する コマンドの挙動を比較する おわりに 参考 はじめに こんにちは、@bioerrorlogです。 あるS3バケットのオブジェクトを別のS3バケ…

CloudWatch EventsでS3への特定オブジェクトのアップロードを検知する

S3への特定オブジェクトのアップロードをトリガーに、CloudWatch Eventsを起動するやり方の備忘録を残します。 はじめに CloudWatch Eventsのイベントソースを調べる S3トリガーで起動するCloudWatch Eventsを作成する CloudTrail証跡を作成する CloudWatch …

Amplify & GraphQLでのデータモデル設計事例集

AWS Amplify & GraphQLでのデータモデル (スキーマ) 設計例をまとめます。 はじめに スキーマ設計例 Todoアプリ イベントアプリ チャットアプリ Eコマースアプリ WhatsAppクローン Redditクローン マルチユーザーチャットアプリ インスタグラムクローン カン…

Amplify & AppSyncで時系列データを日付範囲でList取得する

AWS Amplify (AppSync)で、時系列データをある日付の範囲でList取得する方法を記します。 はじめに Amplify & AppSyncで時系列データを日付範囲でList取得する ケース1: 全List取得に対する日付範囲での絞りこみ ケース2: Partition keyを指定した上での日…

Amplifyプロジェクトのgitリポジトリを公開するときの注意点

AWS Amplifyプロジェクトのgitリポジトリをパブリックにするときのセキュリティ上の注意点についての備忘録です。 一言で言うと、team-provider-info.jsonをgit管理から外すべし、となります。 はじめに 作業環境 Amplifyプロジェクトのgitリポジトリを公開…

AWS CDK をアップデートする | Cloud9での注意点

AWS CDKのバージョンアップ方法を記します。 また、Cloud9でCDKをバージョンアップする際の注意点についても記述します。 はじめに 作業環境 CDK をアップデートする 一般的なCDKアップデート方法 Cloud9でのCDKアップデート方法 おわりに 参考 はじめに CDK…

AWS ChaliceアプリケーションをCDKでデプロイする | cdk-chalice

ChaliceアプリケーションをCDKでデプロイする方法を記します。 はじめに AWS Chaliceとは 作業環境 実行手順 前準備: Python3.7のインストール Chaliceプロジェクト作成 Chalice appコード CDKプロジェクトの作成 CDKコード CDKデプロイ リソースの削除 おわ…

AWS CDK 基本コマンドまとめ

よく使うCDKの基本コマンドをまとめます。 はじめに 環境 CDKコマンドまとめ CDKバージョン確認 CDKインストール CDKプロジェクト作成 CDKコマンド実行前の下準備 CDK Stack一覧表示 CloudFormationテンプレートの生成 CDKデプロイ前準備:bootstrap CDKデプ…

Cloud9エラー: An error occurred (ExpiredToken) when calling the XXX operation: The provided token has expired.

AWS Cloud9のエラー An error occurred (ExpiredToken) when calling the XXX operation: The provided token has expired. の対処法を記します。 はじめに エラー対処 解決策: Cloud9環境のOwnerにログインしてもらう Cloud9アクセス権限の仕組み おわりに …

AWS CDKでStackをネストにする | NestedStack

AWS CDKでStackをネスト (入れ子) にしてデプロイする方法を記します。 はじめに 作業環境 CDKでStackをネストにする 問題: Stackが入れ子にできない 解決策: NestedStackを使う おわりに 参考 はじめに おはよう。@bioerrorlogです。 AWS CDKでStackをネス…

Cognito+API Gateway+S3ホスティングでサーバレスアプリを構築する | AWSチュートリアル

API Gateway + Lambda + DynamoDB + Cognito + S3 を用いて、AWSでの基本的なサーバレスアプリケーションを構築します。 はじめに 概要 アーキテクチャ アプリケーションの構築 静的Webホスティング S3バケットを作成する コンテンツをアップロードする S3バ…

Session Managerでec2-userやrootとして作業する | AWS Systems Manager

AWS Systems Manager(SSM)のSession Manager (以下セッションマネージャー) でec2-userやrootとして作業するやり方の備忘録です。 はじめに 環境 Session Managerでec2-userやrootとして作業する 現状: ssm-userとしてシェルアクセス 解決策: sudo su --logi…

Proxy配下のGitLab PipelinesからS3にファイルをアップロードする

Proxy配下で動いているGitLabから、パイプライン (GitLab Runner) を用いてAWS上のS3にファイルをアップロードする方法のメモを残します。 はじめに Proxy配下のGitLab PipelinesからS3にファイルをアップロードする S3バケットの作成 IAMユーザーの作成 Git…

Elastic BeanstalkのS3バケットを削除する

Elastic Beanstalk用に作成されていたS3バケットを削除するのに少し手間取ったので、備忘録を残します。 はじめに Elastic BeanstalkのS3バケットを削除する 原因: バケットポリシーで削除が拒否されている 解決策: バケットポリシーを削除する おわりに 関…

高制御なデプロイパイプラインのアーキテクチャ事例 | AWSクラウドアーキテクチャ

高い制御が可能なデプロイパイプラインのアーキテクチャを、事例から学びます。 はじめに アーキテクチャ おわりに 関連記事 参考 はじめに おはよう。@bioerrorlogです。 先日、AWSから上の動画が投稿されました。 ヘルスケア企業のNextGenで利用されている…

マルチアカウントにおけるログ集約のアーキテクチャ事例 | AWSクラウドアーキテクチャ

AWSマルチアカウント環境におけるログ集約のアーキテクチャを、事例から学びます。 はじめに アーキテクチャ解説 おわりに 参考 はじめに おはよう。@bioerrorlogです。 AWSから上の動画が投稿されました。 BiogenのAWSマルチアカウント環境における、ログ集…