- 1. 第5回 The Twelve-Factor App on AWS & Django(AWSで初期設定をしようー前編)
- 2. 【AWS】EC2 起動テンプレート(Launch Templates)を使ってみた
- 3. AWS SAA を初受験する方のために
- 4. 完全未経験が2ヶ月半で一からWebアプリを作ったお話
- 5. AWS AmplifyUI+Vueでユーザー認証してみる(後編)。
- 6. Load Balancerの仕組み、構成
- 7. ECSのCapacity Providerとは??
- 8. OurPhotoの技術スタックを一挙公開!~改善活動の積み重ねでサービスの拡充を担う~
- 9. kubernetesでデプロイの更新をしたがPendingで止まってしまう
- 10. EKSでconnectex: a socket operation was attempted to an unreachable networkというエラーが出る
- 11. Athenaでパーティション射影を使って、Microsoft365の監査ログを見る
- 12. CodePipelineの実行を1つのロールを複数で利用したらエラーになった
- 13. ラズパイとAWS IoTを使った見守りシステム自作で学んだこと(1)概要の説明
- 14. AWSのデフォルトリージョンを東京にしてみた
- 15. React + Rails + AWS Fargate の構成を実現したい – 00 全体概要編
- 16. 【AWS】S3からDynamoDBへのインポートができるようになりました!(& ちょっと検証)
- 17. Herokuアップデートエラー Aws::Sigv4::Errors::MissingCredentialsError
- 18. 【メモ】AWS boto3 & dynamoDBチートシート
- 19. PHP oci_connect で AWS(RDS) oracleDBへ接続方法
- 20. SageMaker Training JobでUploadingでエラーになる
第5回 The Twelve-Factor App on AWS & Django(AWSで初期設定をしようー前編)
# 目次
– [第1回 The Twelve-Factor App on AWS & Django(The Twelve-Factor Appとは)](https://qiita.com/satsuma0711/items/3b928d0e5670a633f9d8)
– [第2回 The Twelve-Factor App on AWS & Django(バックエンドAPIを作ろう)](https://qiita.com/satsuma0711/items/850d57ad1557d0f8dddb)
– [第3回 The Twelve-Factor App on AWS & Django(フロントエンドSPAを作ろう)](https://qiita.com/satsuma0711/items/67d35253a237c976415f)
– [第4回 The Twelve-Factor App on AWS & Django(AWSのアカウントを作成しよう)]()
– 第5回 The Twelve-Factor App on AWS & Django(AWSで初期設定をしようー前編) ←
【AWS】EC2 起動テンプレート(Launch Templates)を使ってみた
お仕事にて**Launch Templates**というワードが出た瞬間に、
ろ、ろーんちてんぷーと…?となり、これはいかんと思ったので、
今回使ってみようと思います。知らないワードだったので少し身構えましたが、EC2の延長上にある機能であり、
名前の通りEC2の起動をテンプレート化するだけのものなので、大いに親しみのもてる機能です。今回のテンプレートでは以下の2パターンに派生することをイメージして作っていきます。
**①インスタンスを入れ替える**
**②インスタンスをスケールアウトする**# ①起動テンプレートの作成
基本的には**起動テンプレートの設定に含めない**、
つまり都度起動時に自由に設定できるになっているので、
ここは固定させてもよいかもというところだけ固定化させていきます。なお、起動テンプレートはバージョン管理できるので、
ここでの設定は**後から変更することもできます**。まずは、起動テンプレート作成画面を出します。
EC2→インスタンス→起動テンプレート→起動テンプレート作成
![スクリーンショット 2022-08-21 23.17.08.
AWS SAA を初受験する方のために
# 初めに
この記事は、非ソフトウェアエンジニアが AWS Certified Solutions Architect – Associate (SAA-C02) に合格するためにどのように取り組み、どう感じたのかをまとめた体験記になります。SAA を受験する方が勉強する際の参考になればと思っています。:::note alert
SAA-C03 が最新であり、試験ガイドに記載の内容は SAA-C02 と大きく異なるのでご注意ください。SAA-C03 の試験ガイドは以下を参照ください。https://d1.awsstatic.com/ja_JP/training-and-certification/docs-sa-assoc/AWS-Certified-Solutions-Architect-Associate_Exam-Guide_C03.pdf
:::
# エビデンス
初めて SAA を受験し、合格した結果です。* [AWS 認定デジタルバッジ](https://www.credly.com/badges/ee7006fd-f01e-4b25-9963-63411ac
完全未経験が2ヶ月半で一からWebアプリを作ったお話
# はじめに
ポートフォリオとして作成したWebアプリの紹介記事です。
アプリを作成する際に自分が何を考えて作成したのか、その過程をご紹介します。
苦労したことや楽しかったことなどもまとめましたので、是非最後まで読んでいただければと思います!# 簡単に自己紹介
* 商社の営業マンとして働く29歳
* ポートフォリオ作成前は、Progateで基礎学習、Railsチュートリアルを一通りした程度# アプリの概要と開発背景
### アプリ概要
* 自分の欲しいものを管理して支出予測するアプリです。
* サービス名は『Wantest』にしました。
* 欲しいものを登録して一覧化し、その合計金額を表示させます。### 開発背景
* アプリの制作理由
みなさんは欲しいものを買うか迷ったり、欲しいものを買ってみて後悔した経験はありませんか?
私自身、本を買っても読まなかったり、ゲームを買っても結局やらなかったりと、買って後悔した経験が多々あります笑。
このアプリはそんな経験を少しでも減らせればという思いで開発に至りました。* 誰のどんな課題を解決するか
**欲しいものを買うか迷っている
AWS AmplifyUI+Vueでユーザー認証してみる(後編)。
# 前説
[AWS AmplifyUI+Vueでユーザー認証してみる(前編)。](https://qiita.com/silverbox/items/d3c5c19221d2aa8a83ae)の続き記事になります。
前編では、Amplifyのプロジェクトを新規作成し、ユーザー認証のUIコンポーネントを追加してみる所まで行いました。
今回の記事では、その情報を参考に、既存のVueプロジェクトにユーザー認証用のAmplifyUIコンポーネントを適用する所まで行います。# AmplifyUIコンポーネント導入に必要な内容確認
まず、前編の記事で、AmplifyUIを追加した事で発生した変化を確認します。
増えたファイルは以下の2つです。こちらはAmplifyプロジェクトとしての情報を保持している様です。
– amplify/backend/auth/myamplifyproject*********/cli-inputs.json
– amplify/backend/backend-config.json認証関係の情報が追加されたのは以下のファイルです。
– amplify/b
Load Balancerの仕組み、構成
# TL;DR
https://www.kanzennirikaisita.com/posts/aws-alb-concepts
![スクリーンショット 2022-08-21 18.05.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276522/37bcc219-a27e-2fb8-2486-c4126b9a4abf.png)# ロードバランサー
負荷分散システム。トラフィックを複数のターゲット(EC2 インスタンス、コンテナ、IP アドレス、Lambda 関数、仮想アプライアンスなど)に分散させることで以下のメリットがある
## 特徴
### 高可用性
多数のAZに配布したEC2インスタンスなどにトラフィックを分散するので、一つのAZがダウンしてもユーザーのアプリケーションは問題なく使える。### 統合性
ELBはいろんなAWSサービスと一緒に使用できる
– Auto Scaling:拡張性管理及びワークロード分散業務を効率的に可能。
– Route 53:一緒に使うことでD
ECSのCapacity Providerとは??
# Capacity Provider
ECSのタスクを実行するインフラを決定するもの# Capacity Provider strategy
複数のCapacity Providerをタスクにどのように適用するかの組み合わせ方法> キャパシティープロバイダーを使用して、クラスター内のタスクで使用するインフラストラクチャを管理できます。各クラスターには、1 つ以上のキャパシティープロバイダーがあり、さらにオプションとして、デフォルトのキャパシティープロバイダー戦略がある。
キャパシティープロバイダー戦略は、
**クラスターの複数のキャパシティープロバイダー間にタスクを分散する方法**
を決定します。
スタンドアロンタスクを実行するか、サービスを作成するときは、クラスターのデフォルトのキャパシティープロバイダー戦略を使用するか、クラスターのデフォルト戦略をオーバーライドするキャパシティープロバイダー戦略を指定できます。# Capacity Providerの概念
Capacity Providerは以下のコンポーネントで構成されている
## Capacity Provid
OurPhotoの技術スタックを一挙公開!~改善活動の積み重ねでサービスの拡充を担う~
こんにちは!エンジニアの小西です。
出張撮影マッチングサービス「OurPhoto(アワーフォト)」で開発リーダーを担っています。OurPhotoは、2020年11月にM&Aにてうるるグループにジョインしました。
グループジョイン後、OurPhoto開発チーム最初の1年間は、ソースコードの技術的負債の解消や、インフラ基盤・ ログ基盤の構築など、画面上では見えない部分の改善活動(システムリファクタリング)を中心に実施してきました。そして今年は、OurPhotoサービス拡大のため、新規機能の追加や目に見える部分の改善活動をメインで行っています。
今回は、そんなOurPhotoシステムの裏側をお話ししたいと思います。
## OurPhotoとは
写真を撮ってほしい個人と写真を撮りたいフォトグラファーをつなげるマッチングサービスです。https://our-photo.co/
サービス特性として、以下があります。
– 大量の画像データを扱う(保存 & 表示)
– 画像データは、フォトグラファーが撮影した品質を保った状態でユーザに届ける必要がある
– 写真撮影需要・イベントの多い
kubernetesでデプロイの更新をしたがPendingで止まってしまう
# はじめに
この記事は2022年3月にまとめていた「細かいつまずいたことをメモしておく(3月編)をそれぞれ投稿した内容になります
解決方法が最新でない可能性もありますのでご了承ください# 問題
デプロイを更新したのにKubernetesがPendingで止まってしまっていた
# 解決方法
ポッドに対してresourcesを2つ定義していたのが原因だった。
コンテナを1つのポッドに2つ立ててたのでそれぞれにリソース設定をしていた
EKSでconnectex: a socket operation was attempted to an unreachable networkというエラーが出る
# はじめに
この記事は2022年3月にまとめていた「細かいつまずいたことをメモしておく(3月編)をそれぞれ投稿した内容になります
解決方法が最新でない可能性もありますのでご了承ください# 問題
「Kubernetes on AWS アプリケーションエンジニア本番環境へ備える」という本のP42のコマンドでエラーが発生した
“`
connectex: a socket operation was attempted to an unreachable network
“`# 解決方法
これはAWS CLIがインストールされていない、またはAWS Configureがされていないことが原因でした
AWS CLIは自動で環境変数が設定されるようですが、私は手動でいれることで動くようになりました“`
C:\Program Files\Amazon\AWSCLIV2
“`また、Credentialも他の設定があるせいで以下のエラーになってたので、メモ帳で修正しました
また書籍通りだとクラスターのバージョンでエラーになります
“`
error: invalid
Athenaでパーティション射影を使って、Microsoft365の監査ログを見る
# はじめに
前回、パーティションを使ったAthenaで、Microsoft365の監査ログを見る内容を記事にしました。https://qiita.com/a_b_/items/811dcd39f127e0f2333e
ただパーティションを都度追加・削除する必要があるため、毎日ログ収集するような運用では、ファイル追加と共にパーティションを追加する処理を実行する必要がありました。
Athenaには、パーティション管理を自動で行ってくれるパーティション射影という機能があります。
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/partition-projection.html
今回はそれを用いてテーブルを作成しました。
# 参考
https://qiita.com/t-kataym/items/9a572b309eb717f69257
https://dev.classmethod.jp/articles/20200627-amazon-athena-partition-projection/
# やったこと
##
CodePipelineの実行を1つのロールを複数で利用したらエラーになった
# はじめに
この記事は2022年3月にまとめていた「細かいつまずいたことをメモしておく(3月編)をそれぞれ投稿した内容になります
解決方法が最新でない可能性もありますのでご了承ください# 問題
ハンズオン勉強会でいままで実行できていたCodePipelineが実行できないトラブルが発生した
1つのCodePipelineロールを全員で共有して利用しようとしていた# 解決方法
これは`クロスアカウント`に該当する問題が発生しており、設定により禁止されているためエラーになっていた
それぞれが別のCodePipelineロールを新規作成することで解決した
ラズパイとAWS IoTを使った見守りシステム自作で学んだこと(1)概要の説明
## この記事について
過去3年間の自己開発の備忘録を「ラズパイとAWS IoTを使った見守りシステム自作で学んだこと」と題して本稿含めて10回に分けて投稿します。
IT素人が必要に応じてLinux、AWS、cliについて調べ実装したことをまとめます。
具体的には、数回のアップデートを経て辿り着いた[現在のリポジトリー](https://github.com/nsaito9628/Monitoring-system-with-Raspberry-Pi-and-AWS)の詳細を説明します。ちなみにLatest版では、エッジもAWSリソースもインターネット接続した端末のcliからdeploy/deleteができます。何故そこまで拘ったかというと最終的に遠隔からの実装と更新を自動でしたいからです。
取組みのきっかけについては[PyCon mini Shizuoka 2020](https://speakerdeck.com/nsaito9628/raspberrypitoawsdequ-rizu-ndazi-zuo-iot)の発表スライドに説明がありますので興味お持ちいただいた方はご
AWSのデフォルトリージョンを東京にしてみた
# やってみた
コンソール画面左下にある Unified Settingsから設定画面へ移動![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516945/4ffd6479-a4b7-d8c4-cc01-b67d9b6b42bc.png)
デフォルトのリージョンを上記の画面の様に東京リージョンに設定し保存を押せばOKです!
# 公式ドキュメント
https://docs.aws.amazon.com/ja_jp/awsconsolehelpdocs/latest/gsg/select-region.html?icmpid=docs_unified-settings_help_panel
React + Rails + AWS Fargate の構成を実現したい – 00 全体概要編
## 概要
現在正社員としてバックエンド + インフラをメインにWeb系エンジニアをしている。
技術力の向上を目的に個人開発を行いたいと常日頃考えているが、現時点で開発したいアプリケーションがない状況である。
このまま考えてるだけでは時間がもったいないため、まずはモダンかつ定番なWebサービス構成を作ることにした。
これにより、いざ個人開発でサービスを作りたいと思った時にアプリケーション開発に注力できるようにする。## 自分のスキル
– 実プロジェクトではJavaScriptをメインで使用している
– TypeScriptは使っていない
– Reactはある程度読むことはできるがガリガリ書いていない– AWSの設計・構築をメインで担当している
– ECSなどのコンテナサービスは使っていない
– CDKによるインフラコード化は経験あり
– CI/CDに関して一定の知見はある## やりたいこと
以下技術も用いた構成を実現し、いざ個人開発でサービスを作りたいと考えた時にアプリケーション開発に注力可能とする
– 共通
– Docker
【AWS】S3からDynamoDBへのインポートができるようになりました!(& ちょっと検証)
## きっかけ
ネットサーフィンしていたら、AWS公式からDynamoDBでS3からのインポートをサポートしました!というブログポストが出ていたので、以前はちょっとしたLambdaとか書いてたなぁと思いつつ、便利っぽいので動作確認しようと思いました。https://aws.amazon.com/jp/blogs/database/amazon-dynamodb-can-now-import-amazon-s3-data-into-a-new-table/
(流石のクラメソさん、以下でとてもわかりやすくまとめてくれております!)
https://dev.classmethod.jp/articles/amazon-dynamodb-import-amazon-s3-data-into-a-new-table/
### 前提
#### 移行前テーブル: before_migrate_table
– 項目: ttl項目についてTTL設定なし, alt_nameはLSI設定時に使用想定
– id: Number, PK
– name: String, SK
Herokuアップデートエラー Aws::Sigv4::Errors::MissingCredentialsError
# エラー内容
Heroku上にアップデートしていたアプリの画像の保存場所をLocal環境からAWS S3に画像に変更した後、
Heroku上にアップデートしたサイトにアクセスするとapplication errorの表示。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2672823/279d6446-b764-2ae9-cc17-2eeaff75950e.png)
Herokuのエラー指示通りにコマンドラインでheroku logs –tailのコマンドを打つと以下のエラーが含まれているようでした。
“`
Aws::Sigv4::Errors::MissingCredentialsError
“`
Credentialsエラーということで環境設定周りが間違っている??# 結論
結論から言えば、環境変数に設定するAWSの項目名が間違っていたこと。
PUBLIC KEYとSECRET KEYの環境変数設定と同じと思い込んで名称を間違って設定してしまったようです。
“`
×
【メモ】AWS boto3 & dynamoDBチートシート
# 1. はじめに
Python&Boto3経由でAWSのDynamoDBへアクセスする時によく使うメソッドたち(CRUD + COPY)をまとめてみました。[Github](https://github.com/YomamaBanana/AWS_Summary/blob/main/dynamodb/run.py)
# 2. Boto3メソッド
## API
“`main.py
dynamodb = boto3.resource(
“dynamodb”,
endpoint_url=”http://localhost:8100″,
region_name=os.environ.get(“REGION_NAME”),
aws_access_key_id=os.environ.get(“AWS_ACCESS_KEY”),
aws_secret_access_key=os.environ.get(“AWS_SECRET_ACCESS_KEY”),
)
“`## データ定義
今回のテーブルの定義とアイテムの定義は`env.yaml`と
PHP oci_connect で AWS(RDS) oracleDBへ接続方法
# AWS RDS へ接続。
## お使いのDBの値へ入れ替えてください。
#### コード
“`php:index.php// エラーを出力する
ini_set(‘display_errors’, “On”);$conn = oci_connect(‘TSU’,’TSU’,’orcl-03.cbmsqs9alrus.ap-northeast-1.rds.amazonaws.com/orcl’,’AL32UTF8′);
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e[‘message’], ENT_QUOTES), E_USER_ERROR);
}else{
echo “接続完了!”;
}?>
“`
SageMaker Training JobでUploadingでエラーになる
# はじめに
この記事は2022年2月にまとめていた「細かいつまずいたことをメモしておく(2月編)をそれぞれ投稿した内容になります
解決方法が最新でない可能性もありますのでご了承ください# 問題
SageMaker Training JobでUploadingのタイミングでエラーになっていた
CloudWatchのログをみると以下のエラーがでていた“`
[FATAL tini (7)] exec train failed: No such file or directory
“`# 解決方法
これはSageMakerのファイルパスが正しく設定されていないのが原因
Dockerfileに以下を追加した
“`Dockerfile:Dockerfile
ENV PATH=”/opt/program:${PATH}”
“`ちなみに出力先は`/opt/ml/model`になるので出力ファイルはすべてこの中に書き出すようにする
# 参考