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

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

Terraform v1.6でTerraform testを試し、S3バケット名の確認を行った

# やりたいこと
・2023/08にリリースされたv1.6のTerraform testの動作を知りたい

# 前提
・AWSアカウント作成済み
・AWS IAMユーザーを作成し、access_keyとsecret_keyを発行済み
・Terraformインストール済み
 (v1.6であること)
・AWS CLIインストール済み
・VSCODEインストール済み
 (お好みのエディターで大丈夫)
・Pythonインストール済み
 (今回はpython3.9でlambadaを作ってみたいですが、極簡単なソースコードなのでバージョンどうてもいいかと思う)

# 環境
“`
$ terraform -v
Terraform v1.6.0
on windows_amd64
+ provider registry.terraform.io/hashicorp/aws v5.19.0

$ python -V
Python 3.9.13

“`
# 構築リソース
・AWS S3

# ディレクトリ構成
“`ruby:qiita.rb
root   
┣━ main.tf
┣━

元記事を表示

mongoDB-shellの日本語文字化けでくっそ苦労した

# 環境

– 移行元

– OS:Ubuntu 22.06

– DB:mongo 4.0.3

– 移行先

– OS:Amazonlinux 2

– DB:mongo 4.0.3

– クライアント
– OS:windows 10

– Shell:Powershell

# 概要

– mongoDump、restoreを使ってデータベース移行を行ったら移行先のmongoShellで文字化けが発生した。

# 事象の整理

| DB | AP | ターミナル | 接続方法 |
| —— | ———— | ———— | ——– |
| 移行元 | 文字化けなし | 文字化けなし | SSH |
| 移行先 | 文字化けなし | 文字化けあり | AWS SSM |

# なぜ移行元は文字化けしなかったのか

– おそらくOpenSSHの文字コードを使ってる

# なぜ移行先は文字化けしたのか
– PowerShellがshift-jisだったから

# ま

元記事を表示

APIGatewayでrobots.txtを公開する

APIGatewayからtext/plainを出力したいだけなのに、えらい苦労したのでメモ。
Lambda、APIGatewayの使い方はある程度分かっている前提です。

# Lambda関数を作る

APIGatewayからrobots.txtを出力するだけのLambdaを作ります。
以下Pythonのソースコード。

“`python
def lambda_handler(event, context):
return {
‘statusCode’: 200,
‘headers’: {
‘Content-Type’: ‘text/plain’
},
‘body’: “””
User-agent: *
Disallow:
“””
}
“`

Pythonからはapplication/jsonが返却されるのでAPIGatewayでそれを受け取ってtext/plainに変換します

# APIGatewayの設定

ここで苦労した。新しいコンソールになって分かり

元記事を表示

[STEPBYSTEP]初めてAWSサービスからAmazonS3 AWS CloudFormationテンプレート作成まで

今回は初心者向けにAmazon S3のAWS CloudFormationテンプレートの作成方法についてご紹介いたします。
説明と共に実際に作成する時の動画もYoutubeで配信しておりますので、ご確認いただけますと幸いです。

**日本語版**

**英語版**

### テンプレートの作成手順

1. **ステップ1: CloudFormationテンプレートの基本セクションを作成**
AWS CloudFormationテンプレートはいくつかの基本セクションから構成されます。今回は、`AWSTemplateFormatVersion`, `Description`, `Parameters`, `Resources` を利用します。これらのセクションを定義することで、AWSリソースの作成と管理が行えます。

2. **ステップ2: S3 Bucketのリソ

元記事を表示

EC2 で CloudBeaver 環境を簡単に用意する

こんにちは。インサイトテクノロジーの松尾です!

みなさまデータベース接続のクライアントに DBeaver を使ってますか?私は結構使ってます。DBeaver は様々なデータベースに接続可能な無償のデータベースクライアントで、非常に便利ですよね。アプリケーションとして利用することができ、Windows PC などにインストールして使用します。

DBeaver

非常に便利なのですが、難点としてはPCにインストールする必要があるということです。

今回は、ブラウザから利用できる DBeaver である、CloudBeaver について、簡単に環境を用意する手順を紹介します。

ブラウザから利用するため当然アプリケーションサーバーを起動する必要があります。AWS Marketplace でも提供されておりますが、わずかながら費用が発生するのと、AWS Marketplace を利用できない場合もあると思いますので、本投稿では Amazon Linux 起動時に Docker で CloudBeaver を立ち上げる手順を紹介します。

https://aws.am

元記事を表示

Python Lambda DynamoDB ServerlessFrameworkでAPI作ってみた(ローカル開発)

# はじめに
Python / Lambda / DynamoDB / ServerlessFramework でのAPI開発手順を記しておきます。

AWSの方から「Lambda × Pythonは起動が速く(コールドスタートが起きない)相性がいい」と伺っていたので、デプロイして計測するのが楽しみです!

# 環境
– macOS Ventura
– Python 3.11.4
– ServerlessFramework 3.34.0
– npm 8.19.2
– node v18.18.0

“`terminal: バージョン確認コマンド
$ python3 –version
$ python3 -m pip -V
“`

# Lambda作成
## 1. 事前準備
“`terminal:
$ mkdir project-v1 #プロジェクト用ルートディレクトリ作成
$ npm install -g serverless #必要なプラグインのインストール
$ npm install –save serverless-iam-roles-per-function serve

元記事を表示

AWS Certified Cloud Practitioner体験記

# 1. はじめに

少し前のことになりますが、今日は2023年6月に受けたAWS Certified Cloud Practitioner認定試験(CLF-C01)の勉強法や試験を受けた感想などについて書きたいと思います。ちなみに現在はCLF-C01が終了し、CLF-C02になっているようです。

これまでアカデミアとしてのキャリアを通して、GRIDなどの大規模分散型コンピューティングシステムを活用したビックデータ分析をおこなってきましたが、商用のクラウドシステムというと馴染みが薄いものでした。ただ近年はアカデミアの業界でもクラウドの導入が進んでいます。ましてやビジネスにおいては、クラウド上でのデータ分析が当たり前のように行われているため、クラウドシステムの基礎をしっかりと理解することは、データサイエンティストにとっても必須であると考え、資格を取っておこうと考えました。このような目的であれば、AWSでなくMicrosoft AzureやGoogle Cloud Platformでもよいかもしれませんが、AWSのクラウドシェアがトップであるため、AWSの資格を取られている方が多い気がし

元記事を表示

AWS CloudWatch Logs のJSONログをイベントフィルタでAND検索/OR検索する構文

# AND検索

こんな風に `&&` で繋げばOK

“`
{ $.key1 = “xxx” && $.key2 = “yyy” }
“`

# OR検索

`||` でつなげばOK

“`
{ $.key1 = “xxx” || $.key2 = “yyy” }
“`

# チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

# Twitter

元記事を表示

パブリック IPv4 アドレスの有無を確認しよう

2023年7月30日にAWSから、パブリックIPv4アドレスに対して、新しい料金体系が発表されました。
https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/

簡単に言ってしまえば、AWS上で利用しているすべてのパブリック IPv4 アドレスに対して課金しますよ!ということです。
これまで 利用中のElastic IPアドレスや通常のパブリックIPv4アドレスであれば、課金の対象外でした。

今回の発表で設定された課金額は 1つのパブリック IPv4 アドレスあたり、 0.005USD/時間です。。
執筆時の2023年9月29日に確認した為替レートは、148.73円/USD なので、1カ月を30日として計算すると・・・

**0.005 x 30 x 24 x 148.73 = 535.428 円!!**

パブリックIPアドレスが1つあるだけで、 535.428 円利用額が上がるということです。

もちろん、システム上パブリックIPv4アドレスを使わないと

元記事を表示

AWSが生成AIのサービスを始めた話を聞いて触った話

# はじめに
Amazon Bedrockは、Amazon が AWS で提供しているフルマネージドの AI サービスで、Amazon 自社開発の Titan モデルのほか、 Anthropic 社の Claude や Stability AI 社の Stable Diffusion など様々なモデルを選んで利用できるのが特徴です。

今年4月にプレビューとして一部企業向けに公開されたあと、9月末には一般向けにサービスが開始されました。そして、10月3日に Amazon が「日本企業のビジネスニーズに応える生成系 AI」と題し[日本国内で初めて Bedrock に関するセミナーを開催しました。](https://generativeai-seminar-oct-inperson.splashthat.com/)

今回、そちらのセミナーに参加する機会がありましたので、発表内容をまとめると共に、Bedrockを試しに使った感想を書いておこうと思います。

# セミナーの発表内容まとめ
セミナーでは初めに、AmazonよりBedrockの機能紹介や新情報が発表されました。目玉となったのは

元記事を表示

ユーザー定義のコスト配分タグ

##タグによってコスト管理する

###手順

①管理したいリソースにタグを付与する
②Billingコンソールにてタグをアクティブ化する
③Cost Explorerでタグごとにコスト管理できる

*アクティブ化してからCost Explorerに反映されるまで最大24時間かかる

###参照
https://aws.amazon.com/jp/blogs/news/cost-allocation-tag/

元記事を表示

ECSバッチ起動に失敗した時にEventBridgeを使って、slackに通知を飛ばす話

# 初めに
私が担当している案件ではECSを使って、バッチ処理を動かしているのですが、ある日、バッチ処理が動かずに、次の日に原因を調査していると、CloudTrailのイベントレコードに以下のようなメッセージがありました。

“`
Capacity is unavailable at this time. Please try again later or in a different availability zone
“`

直訳すると、

**現時点で容量オーバー。しばらくしてから、または別のアベイラビリティーゾーンでもう一度お試してね。**

ってことなので、対策としてはこのメッセージが出た時に手動でバッチ処理を動かそうということになりました。
しかし、このメッセージが出ていることをそもそも気づけなかったら、そもそも手動でも動かせないよってことでその時の対策をご紹介します。

# 構成
本チャプター下部添付画像のような構成を取りました。
ECSでバッチ処理を動かして、転けた時にCloudTrailでイベントを記録します。

なお、ECSはCloudTrailと統合されている

元記事を表示

AWS KMS (Key Management Service)まとめ

# KMSの概要
*AWS KMS (Key Management Service)*
データ暗号化に利用するキーを作成・管理を行うためのマネージドサービス。
CMK(マスターキー)と呼ばれる鍵が存在する。
この(CMK)の可用性は99.999999999%(イレブンナイン)
# KMSの仕組み
## エンベロープ暗号化
データを暗号化する鍵(データキー)とデータを暗号化する鍵を暗号化する鍵(マスターキー)を利用する方式。

データ暗号化用の鍵をさらに暗号化するので、セキュリティが強化される。

KMS で使用される鍵
– CMK(Customer Master Key)
– データキーを暗号化するマスターキー
– AWSが管理する[HSM](https://e-words.jp/w/HSM.html)内でマスターキーも暗号化される
– CDK(Customer Data Key)
– データを暗号化するキー
– ユーザーが都度生成する

## CMK の種類
– カスタマー管理CMK
– AWSユーザー側で作成、管理している
– アプリ内で使用するデータなどの暗号化に使用

元記事を表示

動いているEC2を全部問答無用で停止するLambda

## さくっとコピペでどうぞ

“`python:python
import json
import boto3

client = boto3.client(‘ec2’)

def lambda_handler(event, context):
response = client.describe_instances(
Filters=[
{
‘Name’: ‘instance-state-code’,
‘Values’: [
’16’,
]
},
]
)
targetInstances = []
for i in response[‘Reservations’]:
targetInstances.append(i[‘Instances’][0][‘InstanceId’])

if not targetI

元記事を表示

RHEL9 libmemcachedねぇぞって話

# pgpool-II入れたい

“`bash:bash/terminal
[ec2-user@ip-xxx-xx-xx-xx ~]$ sudo dnf install pgpool*
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

Last metadata expiration check: 0:11:40 ago on Wed 04 Oct 2023 03:46:29 PM UTC.
Error:
Problem 1: cannot install the best candidate for the job
– nothing provides libmemcached needed by pgpool-II-4.4.2-1.rhel9.x86_64

元記事を表示

AWS ECSを使ってとりあえずnginxをデプロイしてWebブラウジングする

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

今回はAWSのコンテナサービスであるECSを見よう見まねで使用してみたいと思います。
具体的にはECSでnginxコンテナをデプロイして、Webブラウザでアクセスしてみたいと思います。

# 用語
## AWS ECS
Elastic Container Serviceの略。
説明は公式に委ねますが、AWS側でデプロイとかスケーリングとか色々マネージングしてくれる便利なやつ位のイメージしかありません。今後頭の中のイメージを具体化していけば良いと思っています。

>コンテナ化されたアプリケーションのデプロイ、管理、スケーリングを容易にするフルマネージドコンテナオーケストレーションサービスです。アプリケーションと必要なリソースを記述するだけで、Amazon ECS が柔軟なコンピューティングオプションで、アプリケーションを起動、モニタリング、スケーリングし、アプリケーションが必要とする他の AWS サポートサービスと自動的に統合します。カスタムのスケーリングルールやキャパシティルールの作成などのシステムオペレー

元記事を表示

AWSの最新アップデートを楽しく追いかける方法

クラウドサービスのAWS、毎日のように多数の機能アップデートがあり、追いかけるの大変ですよね!

https://aws.amazon.com/jp/new/

# そもそも最新情報なんてずっと追わなくてよくない?

そんなことないんです! アップデートを毎週追っているとメリットも多数。

– 常に最新機能に詳しくなれる。業務にも生きる
– 最新情報をきっかけに普段触れていないサービスにも詳しくなってくる
– 同僚やコミュニティの仲間と毎日ワイワイ盛り上がれる。大きなアプデ時はお祭り!

# アップデートってどこを見ればいいの?

### What’s New at AWS

https://aws.amazon.com/new/

日本語環境でアクセスすると日本語ページにリダイレクトされると思います。
残念ながら本当に最新のアップデートは英語でしか出ておらず、2週間ほど経ってから日本語版になっています。なので最新の英語What’s Newを見たい場合、ページ内の言語切り替えを「English」にしてから確認しましょう!

また、有志が運営している非公式のTwitter版もあります

元記事を表示

初めてEC2のインスタンスを立ててVScodeでSSH接続してみたけどエラーに襲われた話

# はじめに

– エンジニア歴半年とちょっとの備忘録
– AWSのEC2を使いたかった

# やっていく

### EC2を選択
![%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2023-10-04_18.08.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3504047/d0649f1e-8226-3680-e533-0d22fd8e32f4.png)

### インスタンスを起動を選択

![%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2023-10-04_18.07.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3504047/0d0ffb29-1da6-a86a-

元記事を表示

[AmazonLinux2023版] Webサーバ公開手順メモ

最近AmazonLinux2023でちょっとしたWebサーバを稼働させたので、作業を残しておく。
– 単一のEC2、m3.smallなど、とにかくSpecの小さいインスタンスで動作させる
– 非エンジニアがWebサーバを見に行くときに困らないよう、信頼済み証明書を入手
– ある程度安定して動くよう自サーバ内で死活監視。+αでCloudWatchEventでインスタンス自体の再起動設定もいれとく

# セキュリティグループの設定
443,80を開けておく

# Apache install
~~~
sudo su –
yum update
yum install httpd

echo “test” > /var/www/html/index.html

systemctl restart httpd
~~~
ブラウザで確認(httpで)

# SSL対応
– 自前でserver_keyを生成する場合、自己署名となってしまい、ブラウザアクセス時に「信頼できないサイト」と表示されてしまう。
– フリーでSSL証明書を入手できる手段として、letsencryptを利用する

元記事を表示

terraformでS3バケットを作成しようとしたときに起きた変なエラー

## エラー内容
“`
│ Error: creating Amazon S3 (Simple Storage) Bucket (backetname): AuthorizationHeaderMalformed: The authorization header is malformed; the region ‘us-east-1’ is wrong; expecting ‘us-east-2’
│ status code: 400, request id: xxxxx, host id:xxxxx│
│ with module.s3.aws_s3_bucket.backetname,
│ on module\s3\main.tf line 1, in resource “aws_s3_bucket” “backet_name”:
│ 1: resource “aws_s3_bucket” “backet_name” {
“`

## 原因
同名のバケットを消した後にterraformでデプロイしようとしたから。

## 対策
1. 別名で作る。
2.

元記事を表示

OTHERカテゴリの最新記事