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

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

【入門者向け】Chat GPTに色々教えてもらいながらAWS S3にファイルをアップロードしてみる【3章: アップロード編】

# 記事の目的

– 初学者でもAmazon S3(以降S3)について理解を深められるようにする
– S3を使って画像をアップロードできるアプリケーションを作成できるようにする

**関連記事**
[1章: バケット作成編](https://qiita.com/miumi/items/58fdb6cc3809f4203ef9)
[2章: アクセス許可の設定編](https://qiita.com/miumi/items/c07cb9bf958de7c7bb2a)
[3章: アップロード編](https://qiita.com/miumi/items/017d7595c724d03c4227) ←今ここ

※この記事の内容は2章の続きからになります

# 注意事項
– AWSのコンソール画面は2023/9時点のものです
– Chat GPTの出力が必ずしも正しいとは限りませんのでビジネスで使う場合にはご注意ください。(当記事で登場しているAWSのアカウントは完全個人用になります)

# 1. ブラウザからアップロードするのはどうするのか?
早速聞いてみた。
![スクリーンショット 202

元記事を表示

Code Deploy agent for Windows Serverのインストールと確認方法

1.下記サイトにアクセスし、Use a direct link内にあるEC2が所属しているRegionのリンクからインストーラーをダウンロードする
(コマンドでもできるけどこれが1番楽)
https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install-windows.html#codedeploy-agent-operations-install-windows-powershell

2.インストールされているかの確認
“`
powershell.exe -Command Get-Service -Name codedeployagent
“`

下記のようなログが出れば成功
“`
Status Name DisplayName
—— —- ———–
Running codedeployagent CodeDeploy Host Agent Service
“`

元記事を表示

Amazon RDSのメジャーバージョン サポート延長サービスの提供開始

Amazon RDSでメジャーバージョンのサポート終了日を過ぎた場合にサポートを延長するというサービスが、AWSより発表されました。
Mysqlのサポート期限が近づいていた中で、まさに渡りに船の発表です。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/extended-support.html

## ポイント
今まではサポート終了日を過ぎたDBは自動でメジャーエンジンバージョンにアップデートされてしましましたが、このサポート延長サービスを利用すると、標準サポート終了日を過ぎても現在利用中のメジャーバージョンでデータベースを実行し続けられます。

### 対象
Amazon RDS for MySQL 5.7 および 8.0、および RDS for PostgreSQL 11 以降で利用できます

### サポート期限(おおよその日付)
|DB|バージョン|コミュニティサポート終了期間|RDS標準サポート終了期間|
| :—: | :—: | :—: | :—: |
|MySQL|5.7|20

元記事を表示

Pluralithで作成したEC2環境の構成図でコストを表示したい

## はじめに
業務でAWSの構成の一部をTerragruntを使用して管理しているのですが、構成が複雑になってゆくにつれてコードを読んで構成を理解するのが難しい、意図した構成になっているか視覚的になっていないので分かりづらいという問題がありました。
その問題をPlulalithで解消するためにTerraformの勉強と一緒にPlulalithも使ってみようという記事の第四弾です。

TerraformでEC2とEC2周辺のVPCやサブネット、インターネットゲートウェイなどのネットワーク周りの環境を作成するtfファイルを作成し、
作成した環境をもとにPluralithを使用して構成図を作成してみたのですが、Costsが表示できるようになったので備忘メモとして残しておきたいと思います。

また、前回同様以下書籍内の「TerraformではじめるAWS構成管理」の手順を参考にして実施しました。
Terraform初心者の方におすすめです。
– [ソフトウェアデザイン 2022年1月号](https://www.amazon.co.jp/o/ASIN/B09M552FPJ/gihyojp-

元記事を表示

amplifyで作成したCognitoのユーザープールのカスタム属性をAuthで取得する 2023/09/15

### amplifyでCognitoを作成
下記の内容を参考にCognitoを作成しましょう。
その際、カスタム属性の作成はできません。できるのは標準属性のみが作成できます。
> https://docs.amplify.aws/cli/auth/overview/
### cognitoにカスタム属性を追加
awsコンソールを表示してcognitoのユーザープールに移動します。上記で作成したユーザープールを選択して、サインアップエクスペリエンスタブを選択してカスタム属性を追加してください。
### amplifyのライブラリでカスタム属性を取得
“` js
import { useAuthenticator } from ‘@aws-amplify/ui-react’
const {user} = useAuthenticator()
“`
上記を使って、attributes(属性)を取得します。その際、自分は取得できませんでした…
しかし、下記のように“`amplify/backend/auth/{ユーザープールのID}/cli-inputs.json“`に
“`j

元記事を表示

CloudFormationを使ってRDS(Postgres)を構築しよう!

## 概要
今回はCloudFormationを使ってRDS(Postgres)を構築する方法について解説していきたいと思います

## 前提
– VPC、プライベートサブネットをはじめとするネットワークを構築済み
– 今回はPostgresのDBインスタンスを作成します

VPCをCloudFormationで作成されたい方は以下の記事を参考にしてください

https://qiita.com/shun198/items/15f2e8edc57629416ae7

## ディレクトリ構成
構成は以下のとおりです
“`
tree
.
└── templates
├── network
| └── vpc.yml
├── databases
| └── rds.yml
└── security
└── sg.yml
“`

## rds.yml
“`rds.yml
AWSTemplateFormatVersion: 2010-09-09
Description: “RDS (PostgreSQL) Stack”

#

元記事を表示

Amazon ECSonEC2 ENIトランキング機能でENIの上限数を拡張

# はじめに

こんにちは。gura3です。本ブログが初投稿です。
至らぬ点等あるかと思いますが、お手柔らかにお願いします。(以降の文章は常体で書きます。)

ー以下経緯ー
 先日、ECS専用Ec2インスタンス内にコンテナを何台も起動する構成を検証していた。
 検証の中で、EC2インスタンスの中で起動しているコンテナを増やしたら起動時にエラーが発生!
 原因としては、EC2インスタンスにアタッチできる ENI の数には制限がある為だった。

**エラーについて調べる中で、ENIの上限を解放できるAmazonECSのENIトランキング機能とやらを発見!**
**実際に設定手順を試してみた。**

***

# 目次

1. [仕様確認と概要図](#Chapter1)
1. [検証環境の準備](#Chapter2)
1. [コンテナを3つ起動してみる](#Chapter3)
1. [ENIトランキング機能の有効化](#Chapter4)
1. [ENIの拡張が完了](#Chapter5)
1. [参考文献]

元記事を表示

AWS Terraform – CloudWatch ロググループを import して有効期限を設定する例

# tfファイル例

“`
log.tf
“`

“`tf
resource “aws_cloudwatch_log_group” “xxx” {
retention_in_days = 30
}

import {
# tfファイル に書いている resource名を指定する
to = aws_cloudwatch_log_group.xxx

# ARNではなくログ名を指定する
id = “/aws/lambda/yyy”
}

“`

# 実行方法

`terraform apply`

# コマンドでimportする場合

tfファイルにはresourceだけを書いておく

“`tf
resource “aws_cloudwatch_log_group” “xxx” {
retention_in_days = 30
}
“`

コマンド実行

“`
terraform import aws_cloudwatch_log_group.xxx /aws/lambda/yyy
“`

# チャットメンバー募集

何か質問、悩み事、相談など

元記事を表示

個人の開発環境を全てクラウド上 (AWS Cloud9とGithub Codespaces) に移行してみた

# はじめに
– **個人開発をする環境として、ローカルPCを使うのを止め、全てクラウド上に移して**数年経ちました。
– 現在は、主に[AWS Cloud9](https://aws.amazon.com/jp/cloud9/)と[Github Codespaces](https://github.co.jp/features/codespaces)を使っていますが、自分が使ってみたいくつかのサービスの使用感などを紹介します。

(なお、用途としては、Pythonを使って簡易アプリ作成やデータ分析をしていました)

# なぜクラウド
色々と良いところがあると思っています。
– 物理端末に依存しないので、**ネットさえつながれば、どんな場所からでも同じように使える**(自分のMac PC, Windows PC, iPad, etc..)
– 自分の物理端末がハイスペックでなくとも、必要なときに必要なだけ高スペックなマシンを使うことができる
– ウン十万円する良いマシンを自前で買うより、長期的に見たら(多分)安い
– 環境構築失敗して意味不明になったら、環境潰して新たにインスタンス立て

元記事を表示

AWS Gamedayに参加してきたのでメモメモ

どうもこんにちは。

今回は9/7(木)開催された **AWS Gameday** についてメモしていきたいと思います。

# 概要

AWS Gamedayについて[公式ページ](https://aws.amazon.com/jp/gameday/)があるため、そちらを参照させていただきながら説明します。

ただし、詳細を公開することは禁じられているので、かなりぼかして記載します。

(ところどころ解釈しやすいように和訳をいじっています。)

## AWS Gamedayについて

AWS GameDayは、参加者がチームとなって実際の技術的な問題を解決するために、AWSのソリューションを使用してゲームに挑戦する学習イベントです。一般的なワークショップとは異なり、参加者は自由に原因を探して、最適解を追い求めることができるイベントとなっています。

> 公式ページ参照
> AWS GameDay is a gamified learning event that challenges participants to use AWS solutions to solve real-wor

元記事を表示

Amazon Forecast ハンズオン やってみた

はじめに

今回、AWS公式の[Amazon Forecast ハンズオン](https://pages.awscloud.com/rs/112-TZM-766/images/201912-AmazonForecastHandson.pdf)をやってみました。せっかくなので記事にしたいと思います。ハンズオンとしては、過去の家庭の電⼒使⽤量のサンプルデータから学習を行い、その後の使⽤量を予測するモデルを**Amazon Forecast**を使って構築する内容になっています。
それではやっていきましょう!

データの準備

最初に、**Forecast**にデータを渡すための準備をします。
やることは簡単で、S3を作成してそこにcsvファイルをアップロードするだけです。
今回はハンズオンで用意されているサンプルを使用しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/38b2fb7a-3f20-7c3e-a63a-fcae5d8c

元記事を表示

Terraform で、AWS ECS(Fargate), ALB, RDS の構成をコード化した。

## 概要
AWS ECS(Fargate), RDS, ALB 構成をTerraformでコード化してみましたので、ポイントをまとめます。
アーキテクチャの概要等は、下記の記事にまとめています

https://qiita.com/hiiragiya/items/7df1af73b6f3e34b63ab

### 参考
ネット上にすごく良い情報があるので、それらから多くを学びました。
ただ、皆さんベースは、「実践Terraform AWSにおけるシステム設計とベストプラクティス」という印象です。こちらの本は見た方がいいです。

– [著書:野村 友規「実践Terraform AWSにおけるシステム設計とベストプラクティス」](https://www.amazon.co.jp/dp/B07XT7LJLC)
– [Terraform で ECS 環境を構築する① 〜ネットワーク編〜](https://blog.linkode.co.jp/entry/2020/10/15/090000)
– [YouTube: それ、どこに出しても恥ずかしくないTerraformコードになってるか?](h

元記事を表示

UnrealEngineのWebSocketsモジュールでパスがないURLを指定すると//が追加されて通信できなかった

UnrealEngineのWebSocketsモジュールを利用してAWSのAPI Gatewayのwebsocketとパスなしのカスタムドメインで通信できなくてはまったので内容を記録しておきます。

# 確認した環境

Windows 11
UE5.2.1

# WebSocketsモジュールについて

build.csにPrivateDependencyModuleNamesにWebSocketsを追加し、以下のようなコードでWebSocket通信ができます。

“`c++
#include “WebSocketsModule.h”
#include “IWebSocket.h”

[略]

TSharedRef Socket = FWebSocketsModule::Get().CreateWebSocket(ServerURI, ServerProtocol, Headers);
Socket->OnConnected().AddUObject(this, &UWebSocketClient::OnConnected);
Socket->OnConnec

元記事を表示

Amazon EventBridge Schedulerのイマイチだったところ

## はじめに

本記事はAmazon EventBridge Schedulerのイマイチな部分を説明する予定でしたが、
投稿日時点では改善されていて良い機能になっているという内容になります

検証をすることにした経緯も書いていますが、結論だけ読みたい方はスキップしてください

## Amazon EventBridge Schedulerを検証することになった経緯

とある業務システムを構築している際に、指定の時間になったらLambdaを実行する機能を実装することになりました。
繰り返し実行するのではなく、1回のみ実行することになります
簡単に説明すると、スマホのアラームのように、WEB画面から時刻を入力し、その時刻になればLambdaを実行させるシンプルな機能です

時刻の登録は画面から行うため、AWSコンソールでポチポチ設定することができません
WEBアプリとして一連の流れを実現させる必要がありました

アーキテクチャとしては、本記事の投稿時点では、Amazon EventBridge Schedulerが発表されていますが、それ以前に実装を行なったため、Amazon Even

元記事を表示

AWSで、Terraformを利用する方法をまとめてみた(3/10)

バージョン管理ツールtfenvとは?

tfenvはTerraformのバージョン管理ツールであり、異なるバージョンのTerraformを切り替えて使用できるようにするために使用されます。以下はtfenvを使用してTerraformをインストール、バージョン管理する方法の詳細です。

まず、Git Bashをインストールします。Git Bashは、Windows上でUnixシェル環境を提供するツールであり、Linuxと同様のコマンドを使用して作業することができます。

次に、tfenvをインストールします。Git Bashを起動し、ターミナルウィンドウを開いて、以下の手順を実行します。

cd ~を入力して、ユーザーディレクトリに移動します。
次のコマンドを入力して、tfenvをクローンします。
~~~
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
~~~
.bashrcに環境変数を追加します。
~~~
PATH=$PATH:/c/Users//.packer/bin
~~~
これにより、Gi

元記事を表示

AWSとは何でしょうか?

今回の担当のSと申します!

今回はAWSを興味はあるけど全く知らないという方向けに、大まかですがAWSとは何かについて解説していきたいと思います。

【AWSとは何か】
AWSとはアマゾン社が提供するクラウドサービスのことです。クラウドサービスとは、ハードウェア、ソフトウェア、データなどのIT資産を自分で所持や管理するのではなく、
AWS上で利用できるサービスのことです。AWSはこのクラウドサービスの中で圧倒的によく使われているサービスで、クラウドサービス界の「デファクトスタンダード」として
位置付けられています。

【クラウドサービスの優れた点】
クラウドサービスが普及する前は、全て自前でコンピュータやソフトウェアを用意したり、データの保管をしたりしないといけませんでした。クラウドサービスを使えば、このような手間やコストを大幅に削減することができるようになります。どういうことかと言いますと、クラウドサービスはサーバ上に仮想サービス(サービス内容はサーバーやデータベースなど多岐に渡ります)を生成し、利用者はそれらのサービスを必要に応じて欲しいだけ無駄なく利用することができるのです。

元記事を表示

AWS Secrets ManagerとLambdaを使ってローテーションする際に「シークレットをローテーションできませんでした」とエラーが出た時の対象法

## 概要
AWS Secrets Manager内でキーローテーションの設定をしてうまくいかなかった際に下記画像のように
`シークレットをローテーションできませんでした`
としか表示されずに困ったのでその原因と対処法について解説します

![スクリーンショット 2023-09-13 14.14.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/625980/dac7b8c9-abd6-b85b-a218-26262ce69bc4.png)

## 原因
結論から言うとリソースベース(今回だとSecerts Manager)のポリシーステートメントが足りてなくてローテーションができませんでした

リソースベースのポリシーステートメントについては下記の通りです
> 関数は、その実行ロールから AWS リソースに対する許可を受け取ります。AWS SDK を使用して AWS のサービスを呼び出すには、そのサービスの API オペレーションへのアクセスを許可するポリシーをロールに追加します。
Lambda コ

元記事を表示

AWSアクセスキーを環境変数に格納し、Terraformに読み込み失敗時の対応方法:Error: validating provider credentials: retrieving caller identity from STS

# 課題
Terraformの初心者ですが、
TerraformからAWSへアクセスする際に、いつも便宜上このように直接ソース内に書いたが、

“`
variable “region” {
default = “ap-northeast-1”
}

variable “access_key” {
default = “自分のaccess_key”
}

variable “secret_key” {
default = “自分のsecret_key”
}

# AWS プロバイダの設定
provider “aws” {
access_key = var.access_key
secret_key = var.secret_key
region = var.region
}

“`
最近ソース内に書くと漏洩しやすいかというご意見を部署内から頂いて、
Windowsの環境変数に格納し、Terraformへ読み込む方法を調べてみました。

今回はこちらの記事の方法を試したけど、うまくいかなかった。。。

https://qiita.com/Hikosabu

元記事を表示

悩みを解決するアプリ”MeyasuBako”(目安箱)

本記事について

スクールの卒業課題で作成しましたオリジナルアプリ、”MeyasuBako”についてご紹介します。

http://meyasubako-app.com/

https://github.com/oguyu2021/organized_brain

![スクリーンショット 2023-09-13 11.55.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3468229/47bace57-6030-e447-535d-7dcf10c4d41e.png)

概要・制作背景

このアプリは一言で言うと、
日頃の悩みを整理し、相談して解決するアプリです。
まず作成に至った経緯ですが、「悩みを解決する際、同じ悩みを経験した人なら共感してもらえるし、解決する可能性は上がるのでは」と考えたからです。

拘った点としましては、誰でも簡単に使えるシンプルな機能となっています。

使用方法

まずはトップページからログインします。
※まだアカウント

元記事を表示

Transit Gatewayを使って閉域網内のオンプレサーバーのインターネット接続実現

最近、あるドラッグストア様のシステムAWSリプレースにより、Transit Gatewayを使って要件を実現しましたので、設計のポイント、使い方等を記載しておきます。

【要件】
当該ドラッグストア様は、AWS移行後の構成として、以下のように設計していますが、
店舗UNO → NTT.comのFlexible InterConnect → private VIF → AWS DirectConnect Gateway → AWS VGW → リプレース後のサーバー(EC2)

店舗UNOに接続されている決済端末は、インターネットが接続できる環境が必要という要望がありました。
本来なら、閉域網内(専用線)での通信でセキュリティ面は優れているので、インターネット接続できるのは当初の設計に含みませんでした。

Private VIFを使用する場合、オンプレミス環境から送信されたインターネット向けのトラフィック(インターネット上のグローバルIPアドレスを宛先IPアドレスとしたパケット)をVGW経由でVPCへルーティングすることは叶いません。
したがって、オンプレミス環境から送信されたインターネ

元記事を表示

OTHERカテゴリの最新記事