紙一重の積み重ね

アラフォーのエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

AWS

【CloudFormation】S3からLambdaを起動させるスタック実行時に Unable to validate the following destination configurations エラーが発生したときの対処法

はじめに はじめてCloudFormationでS3のイベントでLambdaを発火させるスタックを作成したら失敗したのでメモ。 やりたいこと S3にPUTしたタイミングでLambdaを起動したい 上記をCloudFormationのテンプレートで作成したい 発生したエラー1 CloudFormationで…

【CloudFormation】Lambdaの Role を定義する際は !GetAtt を使って明示的に指定する

はじめに はじめてCloudFormationでLambdaをデプロイした際にハマったのでメモ。 実行環境 AWS CloudFormation IAM Roles作成 S3に配置したzipからLambdaを作成する 作成したIAMロール IAMRoleForLambda: Type: 'AWS::IAM::Role' Properties: AssumeRolePoli…

【AWS】複数のAWSアカウント情報を切り替えて AWS CLI を実行する方法

はじめに AWS CLIにて複数のアカウントを使い分ける必要が出てきたのでメモ。 設定方法 credentialsに複数のAWSアカウントのキーを設定する [default] aws_access_key_id = hogehogehoge aws_secret_access_key = hogehogehogehogehogehoge [other_aws] aws_…

【AWS】ALBを作る時は、healthCheckIntervalSecondsを5以上にしよう #CloudFormation

はじめに CloudFormationで少しハマったのでメモ。 結論 ターゲットグループのhealthCheckIntervalSecondsは、5以上に設定する。 困っていること CodeDeployの待ち時間が遅い 10分位待つ AWSの構成 ALB EC2×2 ALB、TargetGroup、EC2等はCloudFormationで一気…

【CodeDeploy】rootユーザからubuntuユーザの権限を使用して bundle install したら Could not locate Gemfile と言われてハマった話

やりたいこと CodeDeployでbundle installしたい .rbenvをインストールしたのはubuntuユーザであるため、rootからubuntuユーザに切り替わって実行する必要がある。 こんな感じのapplication_start.shを書いた。 #!/bin/bash cd /home/ubuntu/hoge sudo -i -u…

【AWS】NATInstanceのルーティングに失敗する時は送信元/送信先の変更チェックを確認する #CloudFormation

困ったこと NATインスタンスをCloudFormationで作成 PrivateSubnetからapt-add-repositoryが動かない NAT経由で外に出れないように見える 原因 送信元/送信先の変更チェック が 有効 になっているため。 確認 マネジメントコンソールから作る場合は、送信元/…

【AWS】既存の本番環境から #CloudFormation のテンプレートを作る方法

はじめに はじめてCloudFormationでAWS環境を構築しました。 便利すぎて涙が出たので作業内容を共有します。 やりたいこと すでに手動で構築した別プロダクトのProduction環境の構成をテンプレート化したい。 テンプレートを流用して、別プロダクトのAWS環境…

【AWS Lambda】No module named 'xxxx'エラーが発生したときの対処法

やりたいこと 業務で書いたLambdaのコード量が900行を超えてカオスになったので、リファクタリングしたい。 コードの用途ごとにソースを分割したい。 発生したエラー Unable to import module 'lambda_function': No module named 'util' 原因 zipで圧縮した…

【AWS Lambda】PythonからPostgreSQLのストアドプロシージャを実行する方法 #aws

やりたいこと PythonからPostgreSQLのストアドプロシージャを実行したい。 具体的にはAWS Lambdaからストアドを実行したい。 実行環境 AWS Lambda Python3.6 psycopg2 PostgreSQL9.6.6 実現方法 psycopg2のcallprocメソッドを使う。 実装例 import sys impor…

【AWS/RDS】PostgreSQL10のタイムゾーンをUTCからJSTに変更する方法

はじめに PostgreSQLに限らず、AWS RDSのタイムゾーン設定は、defaultではUTCになっています。変更手順をまとめます。 環境 AWS RDS postgreSQL10 注意事項 defaultのパラメータグループは編集できないので注意! パラメータグループの作成手順 パラメータグ…

【AWS ALB+Nginx+Unicorn】504 Gateway Time-outと、upstream timed out (110: Connection timed out)が発生したときの対処法

発生した事象 RailsアプリケーションのCSV取り込み処理で504エラーが発生 環境 AWS ALB Nginx Unicorn Rails5.1.1 考えられる原因 AWS ALBのアイドルタイムアウトが短い デフォルトは60秒 最大3600秒まで設定可能 Nginx、Unicornのタイムアウト時間が短い 対…

【AWS】新オフィスで初めてAPNパートナー研修を受けたら、やっぱりAWSが大好きだと再認識した話。 #AWS

はじめに 私の勤務先はAmazon Web Services(以下AWS)のAPNパートナーに加入しています。今回、目黒のAWSジャパンで開催されたAPNパートナー向けの研修に初めて参加しました。 会場 AWSといえば目黒のアルコタワー!ということで、無意識にそちらに向かってい…

【AWS DynamoDB + Python3】欲しいattributeだけを選択してScanする方法

困っていること StepFunctionsを使ってLambdaを組み立てる場合、JSONデータのサイズ上限に引っかかってしまう。 { "error": "States.DataLimitExceeded", "cause": "The state/task 'arn:aws:lambda:ap-northeast-1:892368313445:function:hoge' returned a …

【DynamoDB】Query実行時に Query condition missed key schema element エラーが発生したときの対処法

はじめに DynamoDBを使った開発中に、ハマったのでメモ。 やりたいこと Queryを使って、DynamoDBからデータを取得したい。 発生したエラー [ERROR] 2018-07-18T05:33:14.60Z 102cd0ac-8a4c-11e8-ac46-619830620322 Query condition missed key schema elemen…

【祝】育児と仕事をしながらでもAWS Sysopsアドミニストレータアソシエイトに合格できました #aws

はじめに 社内で1番AWSを使えるようになろうと思い、育児をしながら勉強を続けた結果、AWS認定SysOps アドミニストレーターアソシエイトに合格しました。 なぜ受験しようと思ったか? 以下のエントリに書きました。ブログに書いておくと当時の決意が振り替…

【AWS Summit Tokyo2018】今さらながらDay3基調講演レポート #AWSSummit

はじめに 完全に旬を逃しましたが、6/1に参加したAWS Summit Tokyo2018の3日目を振り返ります。 www.yokoyan.net セッション中の写真撮影は禁止だったため、文字でのレポートになります。 オープニングトーク 基調講演は参加者が多かったため、サテライト会…

【AWS学習】育児の合間にSysopsアドミニストレータアソシエイト学習⑤

はじめに AWS 認定 SysOps アドミニストレーター – アソシエイトの学習ログです。 0歳の息子の育児の合間にこつこつ勉強しています。 目標資格 AWS 認定システムオペレーション(SysOps)アドミニストレーター – アソシエイト 学習方法 今回はクラムメディア…

【AWS学習】育児の合間にSysopsアドミニストレータアソシエイト学習④

はじめに AWS 認定 SysOps アドミニストレーター – アソシエイトの学習ログです。 0歳の息子の育児の合間にこつこつ勉強しています。 目標資格 AWS 認定システムオペレーション(SysOps)アドミニストレーター – アソシエイト 学習方法 以下のサイトの問題…

【AWS学習】育児の合間にSysopsアドミニストレータアソシエイト学習③

はじめに AWS 認定 SysOps アドミニストレーター – アソシエイトの学習ログです。 育児の合間にこつこつ勉強しています。 目標資格 AWS 認定システムオペレーション(SysOps)アドミニストレーター – アソシエイト 学習方法 以下のサイトの問題をひたすら解…

【AWS学習】育児の合間にSysopsアドミニストレータアソシエイト学習②

はじめに AWS 認定 SysOps アドミニストレーター – アソシエイトの学習ログです。 育児の合間にこつこつ勉強しています。 目標資格 AWS 認定システムオペレーション(SysOps)アドミニストレーター – アソシエイト 学習方法 以下のサイトの問題をひたすら解…

【AWS学習】育児の合間にSysopsアドミニストレータアソシエイト学習①

はじめに AWS 認定 SysOps アドミニストレーター – アソシエイトの学習ログです。 育児の合間にこつこつ勉強しています。 目標資格 AWS 認定システムオペレーション(SysOps)アドミニストレーター – アソシエイト 学習方法 以下のサイトの問題をひたすら解…

AWS 認定 SysOps アドミニストレーター – アソシエイトのサンプル問題を解いてみた #AWS

はじめに AWS Sysopsアドミニストレータアソシエイトの勉強を粛々と進めています。 今回はAWSが提要しているサンプル問題9問を解きました。 サンプル問題 AWS 認定システムオペレーション(SysOps)アドミニストレーター – アソシエイト 結果 6/9点 SAAと重…

"Object of type 'Decimal' is not JSON serializable"が発生したときの対処法 #Python3 #AWS #dynamodb

やりたいこと Python3を使って、DynamoDBのqueryを使って取得したJSONデータをPostgreSQLにINSERTしたい 実行環境 AWS DynamoDB AWS Lambda Python3.6 psycopg2.7.4 AWS RDS(PostgreSQL9.6.6) 発生したエラー jsonを使ってダンプした結果、INSERT時にエラ…

AWS認定Sysopsアドミニストレータ― - アソシエイトの模擬試験に落ちました #AWS

はじめに 今月末受験予定のAWS認定Sysopsアドミニストレータ― - アソシエイトの模擬試験を受験しました。 息子を寝かしつけた後に急いで受験したのでバタバタでした。 模擬試験結果 AWS認定Sysopsアドミニストレータ― - アソシエイト (SOA) - 模擬試験 (Prac…

AWS Summit Tokyo 2018に初参加してきました #AWSSummit

はじめに 5/30(水)~6/1(金)まで品川で開催されていたAWS Summit Tokyo2018の3日目に参加してきました。 AWS Summit Tokyo 2018とは? Amazonが提供するクラウドサービスAmazon Web Services(AWS)の日本最大級のカンファレンスです。 一言で言うと、AW…

SysOpsアドミニストレータアソシエイトの取得を目指します #AWS

はじめに AWSソリューションアーキテクトアソシエイトに続いて、SysOps アドミニストレーターアソシエイトの資格を取ることにしました。 どんな資格か? AWSの管理と運用に関する資格です。 出題範囲がソリューションアーキテクトと被っているところもありま…

【全セッションまとめ】Amazon Aurora Dayに参加してきました #AWS #Aurora

はじめに 3月28日に開催されたAmazon Aurora Dayに参加してきました。 全体的な感想 丸1日のセミナーで非常に勉強になりました。Auroraのプロダクトマネージャ2名は英語でのセッションでしたが、同時通訳もあり、支障なく聴くことができました。 セミナー会…

【新たな幕開け!シビれる1日】JAWS DAYS2018に参加してきました #jawsdays #jawsug

はじめに 五反田で開催されたJAWS DAYS2018に参加してきました。今年も楽しかったー!! 育児が大変な中、送り出してくれた妻に感謝です。 全体的な感想 私はJAWS DAYSやJAWS-UGが大好きです。JAWS DAYSに参加するのも今年で5回目になります。今後も参加して…

【祝】育児と仕事をしながらでもAWSソリューションアーキテクトアソシエイトに合格できました

はじめに 育児をしながら勉強を続けた結果、AWS認定ソリューションアーキテクトアソシエイトに合格しました。 試験結果 総合評点: 85% トピックレベルスコアリング: 1.0 Designing highly available, cost-efficient, fault-tolerant, scalable systems: 8…

【AWS学習】育児の合間にソリューションアーキテクトアソシエイト学習 模擬試験に合格しました

はじめに AWS 認定ソリューションアーキテクトアソシエイトの模擬試験を受けてきました。 試験結果 模擬試験では合格判定でした。 総合評点: 80% トピックレベルスコアリング: 1.0 Designing highly available, cost-efficient, fault-tolerant, scalable …