- 0.1. Step Functions Distributed Mapで超高速な並列処理を実行してみた
- 0.2. 世界一わかりやすい「パブリックサブネット」と「プライベートサブネット」
- 0.3. principal に IAM ロールを指定するとき
- 0.4. Django + nginx + gunicorn + EC2(AWS)でアクセス系のエラー
- 0.5. 【AWS】動的Webサイト構築の備忘録
- 0.6. AWS、EC2のデータベース操作(RDSを使用していない場合)
- 0.7. CodePipelineを利用したLambdaの自動デプロイ構築ハンズオン
- 0.8. AWSにおけるログの出力先、可視化、監視のまとめ
- 0.9. AWSに請求金額を調整してもらった話
- 0.10. 【AWS】API Gatewayで配列パラメーターを受取る
- 0.11. 2023年版・日常業務のはじめかた
- 0.12. AWS認定機械学習 – 専門知識を受験した時の話
- 0.13. 未経験からのエンジニア転職に向けてSpringBootでREST APIを作成してみた
- 1. 組織構成図
Step Functions Distributed Mapで超高速な並列処理を実行してみた
## この記事で紹介していること
以前、投稿した[Lambda×Stepfunctions の繰り返し処理](https://qiita.com/yuken/items/36ca91c345919752fa4d)を環境へ展開した矢先、
re:invent2022で**Step Functions Distributed Map**が発表されました。(あと少し早ければ、、、)
この記事では、噂の新機能に関して紹介します!– Distributed Mapとは?
– どんな処理が向いている?
– やってみた体験レポート![Untitled (8).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2956558/0d9b63fa-3dca-cb15-15f8-e29c8ca9db0b.png)
## Distributed Mapとは?
Mapフローは以前からStep Functions にありました。
これまでのMapとの違いについてはAWS公式ドキュメントがわかりやすくまとめてくれています。
世界一わかりやすい「パブリックサブネット」と「プライベートサブネット」
# 0.はじめに
「パブリックサブネット」「プライベートサブネット」というサブネットの分類というのは、そもそもそういった設定があるのではなく、各サブネットが持つ**役割**をベースとした概念の俗称です
また、記事内でも誤った認識がある、現在時点では既に解釈が変わっている可能性があるのでご注意ください。
その場合はコメントでご指摘頂けますと幸いでございます。
記事はAWSでの利用を前提とした内容となっています。ネットワーク全般としては誤った内容である可能性もあります。# 1.パブリックサブネットの定義
**「パブリックサブネット」**
**ルートテーブル**で**デフォルトゲートウェイ**への通信が**インターネットゲートウェイ**へ接続されているサブネットの総称です各用語についても解説していきます
**「ルートテーブル」**
ルートテーブルは、外への通信を行う際にどういった経路で通信を流すか定義したテーブルのことです。
どのIPアドレスへの通信に対して、どういった経路を用いて接続を試行するか定義する事ができます。**「デフォルトゲートウェイ」**
宛先が分からない通
principal に IAM ロールを指定するとき
principal に IAM ロールを指定したことはありますか?
あまりないような気もしますが、ドキュメントに気になる内容を発見したので書いてみます。## principal に IAM ロールを指定するとは
IAM ポリシーは以下のように、
**Principal が Resource に対して Action することを Condition の条件のもと Effect する**
という構成になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/0b5eddef-8b42-e4c0-5d2e-cb82f7a31935.png)例1)
**Lambda (Principal)が S3(Resource)に対して s3:GetObject(Action)することを Allow(Effect)する**
という IAM ポリシーを書くことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-
Django + nginx + gunicorn + EC2(AWS)でアクセス系のエラー
◆前提
.bash_profileやNginxの設定ファイルを変更時は確かに反映させるように
gunicornも再起動させること◆主な登場人物
セキュリティグループ(EC2)
.bash_profile
nginx.conf
settings.py◆諸々エラー
◎502 Bad Gateway, CONNECTION_REFUSED
→EC2のセキュリティ設定がおかしい(ポートが開いていないとか)
→nginxで正しいportをlistenしていない
例)EC2でポート80番を許可しているが、nginxは10080番で待ち受けている◎400 Bad Request
ALLOWED_HOSTSが誤っている
※os.environ.get(‘ALLOWED_HOSTS’)は上手くいかないみたい
【AWS】動的Webサイト構築の備忘録
## はじめに
初心者の入門編として、AWSを用いて、動的Webサイトを構築する。
https://aws.amazon.com/jp/cdp/midscale-webservice/
## システム概略
システムダイアグラムは以下の通りである。![Frontend3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483556/c73ad07c-0dd5-362e-22be-17441cfbde05.jpeg)
使用したサービスは以下の通りです。
– フロントエンド
– AWS EC2
– AWS Route 53
– AWS Elastic IP
– [Let’s Encrpyt](https://letsencrypt.org/ja/)(無料のSSL認証書発行局)
– [お名前.com](https://www.onamae.com/)(日本最大級のドメインレジストラ、ドメイン取得サービスサイト)
ICANN(ドメイン、IP、ポートの
AWS、EC2のデータベース操作(RDSを使用していない場合)
## 初めに
AWSのEC2にデプロイしたアプリケーションのデータベース操作についてです。(AWSのRDSは使用していません)
Railsアプリのデータベース操作が調べてもなかなか見つからなかったので(かつ調べたの2回目なので・・・)自身の備忘のための記事です。## 本記事の内容
– EC2にデプロイしたアプリケーションのデータベースの操作方法の紹介(2パターン)
1. ターミナルからSSH接続
2. Sequel ProからSSH接続## 必要なもの
– インスタンスへログインするためのSSH秘密鍵の名前(〜.pem)
– EC2インスタンスのElasticIP
– データベースのrootのパスワード(設定していれば)## ターミナルから操作する場合
### EC2へのSSH接続
“`:ターミナル(ローカル)
// ディレクトリの変更
cd .ssh// EC2インスタンスへSSH接続
ssh -i 秘密鍵の名前.pem ec2-user@Elastic IP// 上記の実例(適当なキー名とIPです)
ssh -i aws_key.pem ec2-user@
CodePipelineを利用したLambdaの自動デプロイ構築ハンズオン
## はじめに
Lambdaを毎度手動デプロイも慣れてきましたが、オペミス等の観点からデプロイを自動化するCICDパイプラインを構築してみたいと思います。
構成は、CodePipelineを利用して、Sourceは`CodeCommit`、Buildは`CodeBuild`、Deployは`CloudFormation`を利用します。
コミットによる変更後、`CodePipeline`の`変更をリリースする`を押下することで、Lambdaが自動的にデプロイされます。————
## 構成図
![](https://cloud5.jp/wp-content/uploads/2023/01/スクリーンショット-2023-01-09-15.33.33-640×239.png)————
## ハンズオン
### 構築のながれ
#### 1.S3作成:CodeCommitリポジトリに反映させるZipファイルを保存
#### 2.CodeCommit作成:CFnを利用してCodeCommit構築
#### 3.CodePipeline作成:CFnを利用して
AWSにおけるログの出力先、可視化、監視のまとめ
# はじめに
AWSにおける主要サービスのログの出力先をまとめていきます。# ログの種類と出力先
ログと出力先、S3に関しては対応する暗号化方式を記載します。
S3の場合、バケットポリシー、KMSを利用する場合キーポリシーの編集が必要ですので、参考のURLを見て設定を忘れないようにしましょう。
| ログの種類 | 出力先 | 概要 | 備考 |
| — | — | — | — |
| CloudWatchAgent経由のログ(OSログ等) | CloudWatchLogs | EC2等でCloudWatchAgent経由でログ転送するもの | [CloudWatchAgent設定](https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file.html) |
| Lambda関数ログ | CloudWatchLogs | Lambda関数の実行時のログ | [Lambdaログ](https://docs.a
AWSに請求金額を調整してもらった話
## どんな話?
**ワケあって、AWSに、請求金額を調整してもらった話です。そして、AWS Budgetsを設定しました。**## 目次
– [背景](#背景)
– [この記事を読んでわかること](#この記事を読んでわかること)
– [この記事を参考にさせていただいた](#この記事を参考にさせていただいた)
– [読者対象](#読者対象)
– [実際にやってみた!!](#実際にやってみた)
– [1.サポートへの問い合わせ(サポートへの謝罪)](#1サポートへの問い合わせサポートへの謝罪)
– [2.再発防止策を実施した(AWS Budgets)](#2再発防止策を実施したaws-budgets)
– [設定手順](#設定手順)
– [まとめ](#まとめ)
– [参考にした記事](#参考にした記事)## 背景
学習目的で、RDSを利用していました。
そして、学習を終え、数週間が過ぎたころ、すでに別の学習へと移っていましたが・・・**RDSのリソースをそのままにしてしまっていた!!!1ヶ月も!!!!**
RDSを使い終えたのは12月の初めころ
【AWS】API Gatewayで配列パラメーターを受取る
API Gateway(REST API)で配列のクエリパラメーターを受け取れませんでしたので、その解決方法をメモします。
# 前提
API GatewayとLambdaプロキシ統合で使用
# multiValueQueryStringParametersを受取る(node.js)
ローカルの場合リクエストからクエリパラメーター配列を受け取れますが、API gateway経由で配列を受け取れないそうです。そのため、eventのmultiValueQueryStringParametersから配列パラメーターを受け取ります。
“`js
const express = require(‘express’)
const router = express.Router()
router.get(‘/demo’, [
], (req, res, nex
2023年版・日常業務のはじめかた
今日は 2023 年 1 月 9 日、成人の日でお休みです。今年から「成人式」と呼ばなくなった自治体が多数派になったと誰かが言ってました。
最近年のせいか、だいぶぼんやりしてきたような気がしています。このまま年を重ねるといつかは認知機能が衰えて仕事ができなくなる時がくるのかも。何らかのトラブルから短期記憶が失われることも考えられます。最近の記憶を失うと、苦労して手にしたスキルも失ってしまいます。
また指だけが覚えている記憶があります。これらをどこかに残しておかないと、2度と思い出せなくなるのかもしれません。
そんな時にこのメモがあれば、ひょっとしたら仕事を続けることができるかもしれません。今のうちに大切なことも、そうでないこともメモしておこうと思いました。
そして私が回復する見込みがない時には、以下のリソースを適切に保護してください。
## このメモの見つけ方
– [URL](https://qiita.com/ishi32/items/24ef4aff3ceff3972208) を以下の場所に残しておき、信頼できる人にその旨を伝えておく
– サイフ
– 手帳
AWS認定機械学習 – 専門知識を受験した時の話
## この記事の概要
2023/01/08
**AWS認定機械学習 – 専門知識**
(AWS Certified Machine Learning – Specialty(MLS-C01))
を受験したので、その時の記録復習用ノートとして、また後で見返して今後の資格試験受験時の参考にしたり仕事で使いたくなったとき思い出せるようにまとめます。
## 試験の概要
![スクリーンショット 2022-12-29 0.26.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140013/37fa931e-ea1d-ab88-1ceb-3a7fef6e4b32.png)
**SPECIALTY**カテゴリの試験で、この試験では「AWS データレイクと分析サービスを利用して、データからインサイトを得るための専門知識を認定します。」とのこと。
AWS公式より引用:[引用元](https://aws.amazon.com/jp/certification/certified-data-analytics-s
未経験からのエンジニア転職に向けてSpringBootでREST APIを作成してみた
# 概要
[API仕様書](https://tomoroltuto.github.io/Business-management-application-document/dist/index.html)を元に業務管理アプリケーション用REST APIを作成しました。下請業者との作業内容を共有し業務改善することを目指し、主な機能は以下の通りです。
* 作業予定・作業実績を登録・編集・削除できる
* 作業予定・作業実績の一覧表を表示できる
* 過去の作業予定・作業実績の履歴を検索できる[記事元のGitHubと全体仕様書は別のREADMEにまとめております](https://github.com/tomoroltuto/business-management.git)
# 作成背景
現在、電気設備工事の現場監督(サブゼネコン)として働いています。建築(ゼネコン)との業務管理はアプリケーションで管理しておりますが、サブゼネコンとの下請け業者とはアナログ管理でしています。組織構成図
![業務管理体制](https://user-images.githu
EC2にシングル構成のElasticsearchをセットアップする
# 概要
AWS EC2インスタンス(1台)上ににElasticsearch,logstash,Kibanaを構築していきます。
Elasticsearchはシングル構成です。
ELK `version8.5.3`をインストールしてハンズオンを行います。
前提条件としてEC2インスタンスは構築済みであること# 参考文献
Elasticsearch 公式ガイド : https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
Logstash 公式リファレンス : https://www.elastic.co/guide/en/logstash/current/index.html
Kibana 公式ガイド : https://www.elastic.co/guide/en/kibana/current/index.html# 目次
[1. EC2インスタンスSSH接続](#1-ec2インスタンス-ssh接続)
[2. Amazon Correttoのインストール](#2-amazon-c
【AWS】基本的なWebアプリケーションをクイック開発する
下記公式サイトのチュートリアルを参考に基本的なWebアプリケーションを一時間で構築してみる。
https://aws.amazon.com/jp/getting-started/hands-on/build-web-app-s3-lambda-api-gateway-dynamodb/
〇 今回構築したWebアプリケーションの構成図
![We_applivcation_basic.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483556/cbc9c613-991d-66a3-c5b9-84c94b19e96f.jpeg)## 開発手順
### 1. AWS AmplifyでWebアプリケーションの静的リソースをデプロイする
1. ローカルPCに下記のindex.htmlを用意し、ZIP形式で圧縮する
“`html:index.html
【AWS】Route 53で新しいドメインを取得する
## Route 53とは
Route53とは、公式サイト([LINK](https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/welcome-dns-service.html))を参照すると、以下のようなサービスである。>Amazon Route 53 は、可用性と拡張性に優れたドメインネームシステム (DNS) ウェブサービスです。Route 53 を使用すると、ドメイン登録、DNS ルーティング、ヘルスチェックの 3 つの主要な機能を任意の組み合わせで実行できます。
Route53を用いた名前解決の流れは、以下のようになっている。
>![how-route-53-routes-traffic.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483556/d2419b6d-f2d5-a6d6-7172-8446e589d643.png)
名前解決の流れ
1. ユーザーがウェブブラウザを開き、アドレスバーに www.ex
Glue(JupterNotebook)でモジュールを使う
# はじめに
Jupyter Nootebookで開発できるようになったGlueがとても便利になったため、最近よく触っています。
今回はモジュールを使う方法について記事にしました。
– デフォルトで入っているモジュールは何か
– 入っていないモジュールを扱うにはどうすればいいのか
– インタラクティブセッションで(でも)扱う方法# デフォルトで入っているモジュール
以下のコマンドで確認できます。
“`
!pip3 list
“`numpyやpandasなど、よく使うものは入っています。
クリックで表示
“`
Package Version
——————– ———–
anyio 3.6.2
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
attrs 22.1.0
autovizwidgetTerraformを使ってAWSのVPCをはじめとしたネットワークを構築しよう!
## 前提
– 東京リージョンを使用
– AWSを使用
– main.tfとvariables.tfを設定済み上記のファイルをまだ作成していない方は下記の記事を参考にしてください
https://qiita.com/shun198/items/c13529253cea5b4f41d3
## 概要
今回はTerraformを使って
– VPC
– パブリックサブネットとプライベートサブネット
– IGW
– ルートテーブルおよびルーティングの設定
– Elastic IP
– NATゲートウェイを構築したいと思います
今回作成するインフラ構成は下記の図のようになります
![terraform-vpc.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/625980/62055136-58cc-2ca6-8eec-c43e8fdc4f5f.png)## はじめに
AWSにおけるネットワークの概要について知りたい方は以下の記事を参考にしてくださいhttps://qiita.com/
[AWS]初心者用学習サイトリンク
# [図解 AWSの仕組みとサービスがたった1日でよくわかる](https://www.sbcr.jp/product/4815612818/)
![図解 AWSの仕組みとサービスがたった1日でよくわかる](https://www.sbcr.jp/wp-content/uploads/2021/11/9784815612818-1-421×596.jpg)
ざっくりAWS全体を理解することができました。
以下、紹介されていた初心者学習サイトリンク
1. [AWS で最低限知っておきたい 10 のことシリーズ](https://aws.amazon.com/jp/events/aws-event-resource/beginner/)
1. [AWS 初心者向けハンズオン](https://aws.amazon.com/jp/events/aws-event-resource/hands-on/)
1. [AWS Skill Builder](https://explore.skillbuilder.aws/learn)
Terraformにおけるmain.tfやtfstateファイルの作成および運用方法について
## 前提
– 東京リージョンを使用
– AWSを使用
– S3バケットとDynamoDBの作成方法について理解している## 概要
今回はTerraformを使って
– main.tf
– 変数を格納するvariables.tfの作成方法について解説したいと思います
コンテナ経由でTerraformを使用すると複数ブロジェクトで使用する際にバージョンによる違いを意識せずに済みます
こちらも記事も参考にしてみてくださいhttps://qiita.com/shun198/items/09081dd299490f13ef03
## ディレクトリ構成
構成は以下の通りです
“`
├── main.tf
└── variables.tf
“`– variables.tf
– main.tfの順に作成していきましょう
## variables.tf
variables.tfに共通で使用する変数を記載していきます
“`variables.tf
# ——————————
# Variables
# —————-関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた