AWS関連のことを調べてみた2023年08月02日

AWS関連のことを調べてみた2023年08月02日
目次

Amazon MWAA のパブリックアクセスモードでIPアクセス制限をかけられるか?

# 確認したいこと
## 前振り
Amazon MWAAでは、アクセスモードが2種類あります。パブリックアクセスモード、プライベートアクセスモードです。
パブリックアクセスモードは、Airflowのウェブサーバーにインターネット経由でアクセスできるモードです。AWSコンソール上のリンクからウェブサーバーにアクセス可能です。一方、プライベートアクセスモードは、AirflowのウェブサーバーにはVPC内からのアクセスに閉じられます。そのため、VPC外からアクセスするためにはVPCやロードバランサーを利用する必要があります。

https://docs.aws.amazon.com/ja_jp/mwaa/latest/userguide/vpc-vpe-access.html#vpc-vpe-access-endpoints

## 確認したい内容
今回確認したいのは、 **パブリックアクセスモード(インターネット経由でアクセス可能)でアクセスするIPを制御できるか?** です。
インターネット経由でアクセス可能な場合、セキュリティの観点からアクセスできるIPを絞りたいのが常だと思います。プ

元記事を表示

StepFunctionからEKSjobを呼び出すときに詰まったところ

# 前書き
掲題の通り、StepFunctionからEKSjobを呼び出すシステムを構築する際に詰まったポイントを備忘録として記しておきたいと思います。

## StepFunctionとは
https://aws.amazon.com/jp/step-functions/

公式より
> AWS Step Functions は、デベロッパーが AWS のサービスを利用して分散型アプリケーションを構築し、プロセスを自動化し、マイクロサービスのオーケストレーション、データと機械学習のパイプラインを構築できるようにするビジュアルワークフローサービスです。

個人的にStepFunctionというのは、Lambdaをトリガーとして異なるサービスを呼び出すようなつながりがたくさんある複雑なシステムを、簡潔にまとめ上げられるシステムなのかなーと思っています。
StepFunctionで作り上げた一連のシステムは、ステートマシンという単位で表されます。EC2で言うインスタンスみたいなものですね。

## やりたいこと
まずはEKSとの疎通を確認したいと思い、StepFunctionからEKSj

元記事を表示

M5Stack Toughと土壌水分量センサーでプランター菜園をモニタリングするVol.5(可視化編)

これまで4回にわたってプランター菜園のモニタリングを綴ってきました。
[M5Stack Toughと土壌水分量センサーでプランター菜園をモニタリングするVol.1(電源編)](https://qiita.com/EuzoBass/items/fb4a8f379c2425ad942b)

[M5Stack Toughと土壌水分量センサーでプランター菜園をモニタリングするVol.2(土壌センサー取り付け編)](https://qiita.com/EuzoBass/items/b4bd99995d39b812ea56)

[M5Stack Toughと土壌水分量センサーでプランター菜園をモニタリングするVol.3(AWS IoT 編)](https://qiita.com/EuzoBass/items/4c30f23ffa3d2b9bfa32)

[M5Stack Toughと土壌水分量センサーでプランター菜園をモニタリングするVol.4(データ蓄積編)](https://qiita.com/EuzoBass/items/7f0560b0f71f376486ca)

最後にAmazon Ma

元記事を表示

serverless != 利用した分だけ料金を支払う

serverless != 利用した分だけ料金を支払う

aws でOpenSearch collectionとKafka clusterそれぞれ1個を作成し、1か月放置すると、$1200+の料金が発生しました。
いずれもawsがあっちこっちのserviceに入れているのserverlessを利用したけど。
一般人にとっては結構高額な料金ですから、EMR on EC2のように、auto-terminationを設定できれば助かりますね。

・OpenSearch
collection を作るだけ、最低でも4 OCUsの料金、月$700発生しそうです。

・Kafka
Clusterの起動時間単位で課金しているようです。744 * 0.75 = $558.00

Ref.
・OpenSearch
https://aws.amazon.com/opensearch-service/pricing/
https://repost.aws/questions/QUPxlXCMbVSdqLvCqQcW-lMw/clarification-on-opensearch-serverless-pri

元記事を表示

aws-sdk-go Dynamodb PutItem Err: ValidationException について

# はじめに
初投稿になるので何か指摘等あればよろしくお願いします。

# このエラーについて (ValidationException)
Local環境でsamを利用してAPI経由でLambdaからDockerで建てたLocalのDynamodbにアクセスしている状況です。
Tableはaws-cliで作成し、lambdaからPutItemした時に起きたエラーです。

[AWSの公式](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Programming.Errors.html)によると、
> このエラーは、必須パラメータが指定されていない、値が範囲外である、データ型が一致しない、などいくつかの理由で発生します。エラーメッセージに、エラーを引き起こしたリクエストの特定部分に関する詳細が含まれています。

# 結論
Goの構造体の値がエクスポートされておらず、定義されていない状態でした。
なのでデータ型が一致せずにエラーが出たということです。

Dynamodbの項目が小文字から始まる場合、

元記事を表示

AWSのサブネットについて

AWSサービスの「サブネット」について勉強をしたので自身の理解・復習また文章力の向上のためアウトプットさせていただきます。

はじめに

サブネットとは

クラウド内のIPアドレスを小さなグループに分割する仕組み。これによりネットワークを管理しやすくし、セキュリティを強化できます。VPC内で複数のサブネットを作成し、各サブネットにはネットワーク(EC2など)が割り当てます。
「パブリックサブネット」はインターネットへのアクセスが可能で、「プライベートサブネット」は外部からのアクセスは保護されます。このように違う役割や用途に応じて区別することができる。

上記の説明の「パブリックサブネット」と「プライベートサブネット」を図に表しました。

全体図

*分かりやすくするために「リージョン」と「アベイラビリティーゾーン」は省いています。

![サブネット.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3523101/10fe0eab-8782-7ee6-

元記事を表示

AWS上でEC2を使ったDocker環境の構築 Part2

# はじめに
前回の記事までで、Ubuntuのサーバーが出来た。
当記事では、Docker Engineをインストールするところまで行う。

# 目次
1. Docker Engineのインストール
1. Docker Engineがインストールされていることの確認

## Docker Engineのインストール
Ubuntuのパッケージに含まれているDocker Engineではなく、Docker公式から提供されている最新版を使用。

[Docker Engineのインストール概要](https://docs.docker.com/install)

[1] パッケージをアップデートする
下記のコマンドを入力して、Ubuntuのパッケージをアップデートする。
“`
$ sudo apt-get update
“`

[2]必要なパッケージをインストールする
Docker Engineの実行に必要なパッケージをインストールする。
“`
$ sudo apt-get -y install apt-transport-https ca-certificates curl gnupg

元記事を表示

DatabricksでETLワークロードのチュートリアルを試してみた

# 背景・目的
[Databricksの特徴とアカウント開設の手順を整理した](https://qiita.com/zumax/items/4fe990550bbdc28c1c4b)でDatabricksを始める準備は整ったので、
次は、[Run your first ETL workload on Databricks](https://docs.databricks.com/getting-started/etl-quick-start.html)にあるものを、試してみました。

# まとめ
– クラスタ(コンピュート)を作成し、ノートブックにアタッチする。
– ノートブックを使用してコードを実行し、その後ジョブとして実行する事が可能

# 概要
Databricks の運用対応ツールを使用して、データ オーケストレーション用の最初の抽出、変換、読み込み (ETL) パイプラインを開発およびデプロイする方法を学ぶ。

## Cluster
Databricks クラスターは、本番 ETL パイプライン、ストリーミング分析、アドホック分析、機械学習などのデータ エンジニアリング、デー

元記事を表示

AWSユーザーの祭典「JAWS FESTA 2023」を応援します!

:::note info
この記事はAWSユーザーコミュニティが主催する技術カンファレンス「JAWS FESTA 2023」を個人サポーターとして応援するページです。
:::

JAWS FESTA 2023 in Kyushu 開催おめでとうございます! みなさんもう参加申し込みましたか?

https://jft2023.jaws-ug.jp/

# 個人サポーター自己紹介(みのるん)
![minorun365.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/62ad46c9-9a8d-1b64-3c97-cba236d7e8e3.jpeg)

### 所属

– テックエバンジェリスト @ [KDDIアジャイル開発センター](https://qiita.com/organizations/kddiagile)
– ソフトウェアエンジニア @ [KDDI](https://qiita.com/organizations

元記事を表示

[深層] AWS CodeBuildにおけるDocker Hubのレートリミット問題を解決する2つの方法

![c04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3521573/a9fefaea-6f50-3277-f6d2-df8b29da00ac.png)

DockerHubのレートリミット[^1]は、特にCI/CD環境で頻繁にDockerイメージを引っ張ってくる場合、思わぬボトルネックになることがあります。ビルドが失敗したり、開発プロセスが遅れたりと、予期しないトラブルが生じてしまいます。

> Step 1/2 : FROM php:7.4.0-apache
7.4.0-apache: Pulling from library/php
toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

そして、ここに至って課題は二つに分かれます。一

元記事を表示

Amazon Lightsail の WordPress Multisite で REST API で投稿しようとしたらつまづいたので設定を直した、って記事

AWSで構築するWordPress環境としてLightsailって便利な選択肢があります。
[Amazon Lightsail の WordPress Multisite](https://lightsail.aws.amazon.com/ls/docs/ja_jp/articles/amazon-lightsail-quick-start-guide-wordpress-multisite)
WordPressがBitnami(というWebサービスをパッケージ化して使えるようにするもの)で
提供されていて、導入がめちゃくちゃ楽です。
また、WordPressのMultisiteでは、一つのエンジンでいくつものサイトを作れるので、
ちょこっとWordPressの実験をしたい、テーマのアレコレをいじってみたい、
なんてときに便利だったりします。
が、REST APIをデフォルトで受け付けない仕様らしく、
対処方法もマイナーすぎて泥沼にはまり込んだのでメモを残します。

# やりたかったこと
WordPressへ自動投稿をするのにあたり、REST APIをつつきたかった。

## つまづい

元記事を表示

AWS認定、アソシエイトコンプリートしました!

こんにちは。もりかぷです。
この度、ついにAWS認定のアソシエイトレベルまでコンプリートしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3517350/193fa17b-b31a-b272-358f-161adc3b5622.png)

残りのAWS資格も8個と完全コンプリートまでまだまだ先ではありますが、せっかくなので何をしてきたか、というのを将来認定期限が迫り、更新する時のために備えて記事を残したいと思います。

# AWS資格を取り始めたきっかけ
最初に受験したのが、AWS Certified Cloud Practitioner(CLF-C01)なのですが、当時はぶっちゃけあまりモチベーションがなく、会社からクラウド系の知識も身に着けよう、みたいなことで取りました。(中の人は大の勉強嫌いでした。)

が、色々とご縁があり、会社からAWS re:Invent 2022 現地参加をさせて頂けることになり、せっかくなのでもうちょっと勉強してから行こう、ということで取ったのが

元記事を表示

EC2コンソールに接続するとFailed to connect to your instanceが出る

前提

AMIはAmazon Linux2で、パブリックIPを自動付与。

セキュリティグループは22番ポートのSSH接続を許可している。
事前に作成したVPCのパブリックサブネットに紐づけている。

試したこと

AWSの公式ドキュメントを見て以下の点をチェックしたが全てクリアだった。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html

– 使用中のAWSリージョンでサポートされているか
– 使用しているAMIはEC2 Instance Connectがプリインストールされているか
– インスタンスにバブリックIPアドレスが付与されているか確認
– セキュリティグループが22番ポートのSSH接続を許可しているか確認
– IAMユーザーに適切な権限が付与されているか確認

原因

セキュリティグループで22番ポートのSSH接続を許可していたが、プライベートサブネット自体のインバウンドルールで許可していなか

元記事を表示

Redshift Serverless その3

Redshift Serverlessを使って気づいたことを書きます。その3です。

# 対策 その1
Redshift ServerlessでRPU使いっぱなしを検知したいできるようなモニタがしたい。

使うのは当然Cloudwatch Alarm。
Redshift ServerlessのComputeCapacityに対するアラームを
条件「0より大きい」で、「アラームを実行するデータポイント」をつかって設定する。データポイントが5分単位なので、データポイントが「100/100」なら「500分間0より大きい状態が続く」となる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/245869/6866e5c6-8a7c-2ef5-1e3c-0b7d49a5eb07.png)

あとは適当なSNSトピックをつくってアラームと連携すれば通知できる。;

# 対策 その2
長時間トランザクションを無理やり切る。
Redshift上で実行されているトランザクションをQueryして、実

元記事を表示

Next.jsを使ってAWS Cognitoユーザープールにサインアップ・サインインリクエストしてみる【その②】

# 前回の続き
[前回](https://qiita.com/ttf1998seiya/items/1934b6cb719062d30fa9)はサインアップリクエストまで行ったので、続きをしていきます

では早速いきましょう!

## サインアップだけではトークンを発行してくれない(っぽい)

私もこれは驚いたのですが、前回作ったサインアップリクエストだけでは、トークンを発行してくれないっぽいんですよね
なので、サインアップを実行後、サインインを実行してトークンを発行する必要があります

※前回で「new Promise」としていたのも、サインアップの実行が終わるまでサインインを行わせないためのものでした

作成したサインインの関数は以下になります

“` useAuth.ts
const login = (userName: string, password: string): Promise =>
{
// サインインするユーザーのデータ
// Usernameの部分は「Eメール」でもリクエストできるそうです
const a

元記事を表示

Aurora PostgreSQL メジャーバージョンアップ (11.16 → 14.5)

## はじめに
本手順はシステム停止を前提としたメジャーバージョンアップ手順
Auroraメジャーバージョンアップの事前作業については以下参照。

https://qiita.com/20230420/items/3305ccaa57a600ea3f4b

## 環境
DB クラスター
 エンジン:Aurora postgresql
 キャパシティータイプ:シングルマスター
 リージョン:ap-northeast-1

DB インスタンス
 インスタンスクラス:db.r5.large
 AZ(ライター):ap-northeast-1c
 AZ(リーダー):ap-northeast-1d

EC2
 インスタンスタイプ:c5.large
 AZ:ap-northeast-1d
 OS:Red Hat Enterprise Linux 7.7
 導入済みパッケージ:postgresql11-11.10-1PGDG.rhel7.x86_64
           postgresql11-libs-11.10-1PGDG.rhel7.x86_64

## 作業一覧
1. 業務停止
1. DB

元記事を表示

AWS WAF Classicをv2に移行した話(検討事項・Athenaの活用方法などなど)

## 背景

従来はAWS WAF Classicとアプリケーション側の各種ライブラリやサードパーティツールで不正なリクエストを検知してブロックしていました。
WAFv2に上げればマネージドな機能で色々といい感じに設定できるそうなので、新機能を有効活用するべく移行をしていくことになりました。

なお以下ではWAFと言ったらAWS WAFのことを指します。

## 検討編

### 前提知識

この記事に載っていることをざっくり理解している前提で書いていきます。

https://dev.classmethod.jp/articles/fully-understood-aws-waf-v2/

### 目的の整理

今回のWAFをいい感じにしようPJTは(今になって思えば)いくつかの観点からの目的が交錯していました。

触ってみるとあれもやりたいこれもやりたい、とスコープを広げたくなりますが、どの設定を何のために入れるのか整理するのは怠らないようにせねばです。

漠然と「マネージドサービスで色々いい感じにしたい」ではなく、目的に応じて設定内容や制限を厳しくしたいページが変わってくるので、

元記事を表示

AWSクラウドプラクティショナー試験を受けてみて

# 始めに
こんにちは。
1か月前に、AWSクラウドプラクティショナー試験を受験しました。やってみた勉強法や試験した上での所感を記事にします。これからAWSクラウドプラクティショナー試験を受験する方の手助けになれば嬉しいです。
申し込み方法や準備物や注意点には触れませんので、そちらが気になる方はこちらを見てください。

https://www.pearsonvue.co.jp/Test-takers/Resources.aspx

# 受験した人の経歴
2022年4月 入社
2022年5月~ 現場配属 (HTML/CSSやPHPを使う)
2023年2月~ 別現場配属 (ここでAWSを操作し始める)
2023年7月 AWSクラウドプラクティショナー試験合格

今まで資格に合格した経験がないのもあり、自分に合っている勉強法が分からず、随分回り道して合格しました。
# 受験した人がやった勉強法
2023年4月~ [Udemy](https://www.udemy.com/course/ok-aws-e/?utm_source=adwords&utm_medium=udemyads&utm_c

元記事を表示

[Swift]AWSCognitoからログインユーザーの「idToken」「accessToken」「refreshToken」「deviceId」を取得する

# 投稿の経緯
Amplify / Cognitoを利用してログイン機能を開発する機会があり、
公式ドキュメントを参考に

・idToken
・accessToken
・refreshToken
・deviceId

をCognitoから取得できたので記事にします。

# 前提
“`
pod ‘Amplify’
pod ‘AmplifyPlugins/AWSCognitoAuthPlugin’
“`

CocoapodsでもSPMでもなんでもいいですがSDKは導入している前提で記事を書いています。

# 実装
ライブラリをimportします

“`Hoge.swift
import AWSCore
import AWSCognitoIdentityProvider
“`

`amplifyconfiguration.json`に記載されている値を参照してCognitoのPoolを設定します。
設定したPoolから現在ログインしているユーザー情報を取得することができます。

“`Hoge.swift
final class Hoge {

private let c

元記事を表示

【便利すぎ】AWSでリージョンが違うリソースをまとめて確認する方法

初めまして、見習いエンジニアのたっこにです。

異業種からビヨンドに転職して来てはや半年、いろんなことに手を出しすぎてやや迷走している気がしている今日この頃です。

突然ですが皆さん、AWSを使っている時に「リソースの確認がしたいけど、、、複数リージョンに配置されていたりするとコンソール上からポチポチ確認するのはめんどくさい」って経験ありますよね。

今回はそんな悩みを解決するAWSでリージョンが異なるリソースをまとめて確認する事が出来る「タグエディタ」について紹介いたします!

▼ ブログの詳細はコチラ ▼

【便利すぎ】AWSでリージョンが違うリソースをまとめて確認する方法

***
■ 株式会社ビヨンド
・コーポレートサイト:https://beyondjapan.com​​​
・採用サイト:https://recruit.beyondjapan.com
・Youtube(びよまるチャンネル):https://www.youtube.com/@beyomaruch
・Twitter:https://twitter.com

元記事を表示

OTHERカテゴリの最新記事