AWS関連のことを調べてみた2021年11月23日

AWS関連のことを調べてみた2021年11月23日

ruby on rails tutorial3章を始めたら出てきたThere was insufficient space〜 というエラーの解決方法

やっと3章に突入して意気揚々と進めていくと、

“`ruby:qiita.rb

There was an error while trying to write to
`/tmp/xxxxxxxxxxxxxxxxxxxx/versions`. There was
insufficient space remaining on the device.

“`

がこんにちは。

どうやら何かの容量がないということらしい。

そうこうしているうちに、awsのターミナルにコードを入力できなくなる。
![スクリーンショット 2021-11-23 10.30.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2144713/a365d842-4b6f-973f-26eb-5265ba55315b.png)
![スクリーンショット 2021-11-23 10.30.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/214

元記事を表示

AWSでIAMユーザーを作成しMFAを設定する

# IAMユーザーとは

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users.html

AWSにはrootユーザーとIAMユーザーがあり、rootユーザーはなんでもできるアカウント、IAMユーザーはAWSにログインできる権限つきのアカウント(ユーザー)のこと。
IAMユーザーはこれはできるけど、これはできない!みたいに使える機能を制限できる。
細かく権限を与えることもできるが、今回は基本的にrootユーザーとして使えるようなIAMユーザーを作成することとする。

# IAMユーザーを作成する

– IAMのダッシュボードを開く
– IAMリソースのユーザー部分の数字をクリック
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1836602/f0d9d9ff-7ed8-a8d4-5ccb-40b6fb1c75e4.png)

– ユーザーの追加を選択
– ユーザー詳細を設定する
アクセスキーは必要があれば

元記事を表示

AWS EC2でWebサーバを構築しよう Part2

# AWS EC2でWebサーバを構築しよう Part2
Part1をまだ見ていない方は、[こちらからご覧ください](https://qiita.com/EndoMotoki/items/01897ca64b08a4cda085)

## EC2のインスタンスを作成しよう
AWSのマネジメントコンソールに遷移すると、サインイン画面が表示されますので、「ルートユーザー」を選択してログインしてください。
![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/145857/9ad36aa6-8cbf-e4a4-853c-d2bfb9c3b45f.png)
ログインが完了するとAWSのホーム画面が表示されます。右上にあるリージョンを「東京」に変更してください。
(デフォルトのオハイオリージョンのままだと、日本からのアクセスだと遅くなってしまいます。)
![1-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/145857/d6d

元記事を表示

AWS EC2でWebサーバを構築しよう Part1

# AWS EC2でWebサーバを構築しよう Part1
:::note info
このシリーズでは、AWS EC2でWebサーバを構築する方法を解説していきます。
AWSのアカウント作成から解説しているため、既にアカウントを持っている方はゴール(目標)だけ見てPart2へ進んでOKです!
:::
## ゴール(目標)
**「AWSのEC2上でNginxを動かして全世界にクソデカうんちページを公開する」**
※クソデカうんちページはこちらで開発したので、GitHub上からダウンロードしてもらいます!
## AWSってなに?
AWSはAmazon Web Servicesの略です。
Amazonのクソデカサーバを使って、仮想サーバを構築したり(EC2)、データを格納したり(S3)、データベースサーバを構築したり(RDS)、様々なことができます。
今回のシリーズでは、AWSのEC2を使ってWebサーバを構築していきます。
ちなみに、AWSには他にも沢山のサービスがありますが、ここで紹介するとPart100くらいにまでなってしまうため割愛させていただきます。

## AWSのアカウントを

元記事を表示

お名前.comでドメインを購入してRoute53でホストゾーンを作成する

# ドメインを買う(お名前.com)
– ほしいドメイン名を検索→ドメイン名を選択→お申し込みへ進む
– 今回はサーバはRoute53を使用するのでお名前.comのサーバは利用しないを選択→次へ
– 申し込む
– ドメインの自動更新設定→自動更新設定申込内容の部分を解除で申し込む(自動更新なしの自分で更新する場合)

# ホストゾーンの作成(AWSでホストゾーンを作成する)
![mounmoun.net.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1836602/ffec631a-f71a-d6d3-0f3e-3e16b6e025f5.png)

– Route53のページを開く
– ホストゾーンを選択→お名前.comで買ったドメイン名を入力→公開したいドメイン名ならパブリックホストゾーン(デフォルト)を選択→ホストゾーンの作成

これでホストゾーン完成。

– Aレコードを作るためにオレンジ部分のレコードを作成を選択→
![スクリーンショット 2021-11-22 5.51.23

元記事を表示

Amazon SageMakerでセマンティックセグメンテーション

# SageMakerについて
機械学習のモデリングや、デプロイしてAWS上のアプリケーションで使うこともできるSageMaker(セージメーカー)
いくつかビルトインでアルゴリズムが使用可能で、ハイパーパラメータの調整だけでもお手軽に試すことができるシロモノです。
\#sage makerってつまり賢いやーつを生成するやーつってコトですね

# SageMakerでセマンティックセグメンテーションを試してみる
今回はセマンティックセグメンテーション(semantic segmentation)を試してみます。画像のピクセル(画素)ごとにラベルづけをします。
下記のように、左が入力画像(学習データ)で、右がマスク画像(教師データ)となります。
![semantic_segmentation.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1989761/9548561c-dfbf-a7f7-2361-9498a956b491.jpeg)

入出力の画像を使って、物体切り抜きなんかできると

元記事を表示

AWS Budgetsの設定をして予算が超えたときにアラートを飛ばす方法

基本的に僕の記事はエンジニアじゃないでも理解できるように書いているつもりです。宜しくお願いします。

## AWS Budgetsの設定をする。
AWSは従量課金と言われていて、いつの間にか自分が知らない間に高額な請求が来ていたなんて話もよく聞く。
そのためにあらゆる事前対応が必要だ。

“AWSのコスト・使用量が設定した値を超えた、超えそうと予測さいたときに自動的にアラートを送信“

このような設定をすることができるらしい。

## 設定手順
マネジメントコンソールの右上にあるユーザー名をクリックし。アカウントというところをクリックする。
![スクリーンショット_2021-11-22_21_26_53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/628093/9d4db9ca-1fe3-096e-2387-9f3f45cdc584.png)

そして、左のメニューからBudgetsというところをクリックする。

![スクリーンショット_2021-11-22_21_29_18.png](https

元記事を表示

【rails】AWS EC2ボリューム 増量による「No space left on device @ io_write」エラー解消

#1.状況

・AWS EC2
・Nginx
・rails 5.2.6

容量不足が原因で発生する「No space left on device @ io_write」エラーが発生
以下コマンドをターミナルに打ち込む。

“`
[ec2-user ~] $ df -h
“`

Use100%となっているファイルシステム「/dev/xvda1」の容量が不足してたためにエラーが発生したと思われる。

“`
Filesystem Size Used Avail Use% Mounted on
devtmpfs 475M 0 475M 0% /dev
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 492M 26M 467M 6% /run
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 10G 10G 0 100% /
tmpfs

元記事を表示

AWS CloudTrailのeventNameとAWS CURのlineItem/Operation

最近AWS Cost & Usage Reportsを使っていくつの項目の分析をやっていました。

Googleでいろんな資料を調べたけど、CURで各AWSサービスは`lineItem/Operation`カラムに具体的にどうな値を出力できるのが見つけられませんでした。
例えば、S3はPutObject、GetObjectなど。

後日にAWS CloudTrailで分析をやっていたところ、もしかしたら、AWS CloudTrailの`eventName`カラムの値はCURの`lineItem/Operation`と同じかなと疑っていました。

もちろん全部同じではないと思いますが、例えば、S3の`StandardUsage`などはCloudTrailにありません、でも同じなものは多いかもしれませんね。

CloudTrailの`eventName`カラム値はほとんどサービスドキュメント→ユーザーガイド→XXXモニタリング→CloudTrail によるログ記録にあります。
たまに、セキュリティなどの下にも記載されています。(例えAmazon QuickSight)

でもやはり、オフィ

元記事を表示

Lambda プロキシ統合の使用チェック時のInternal server error(502)

#はじめに#
AWSのAPI Gatewayを使ってkintoneから指定のレコードを取得しようとした時に、「Lambda プロキシ統合の使用」にチェックを入れたらエラーになってしまったので書置きします。

![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2225708/00c4abe7-fa64-638b-c7c9-e788e424c1c9.png)

こんなエラー
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2225708/cc0931fd-9095-74ea-442d-285becf9e244.png)

ログの後ろの方が原因の特定に役立ちそう
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2225708/55683c56-d072-c9ce-bc0a-9c94eecfeab0.png)

#対応内容#

元記事を表示

Apex S3署名付きURL発行

#1.目的
ApexでS3署名付きURLを発行する方法を共用します。

#2.ソース
“`CM_AwsS3Util.cls
public class CM_AwsS3Util {
private static final String AMZ_ALGORITHM = ‘AWS4-HMAC-SHA256’;
private static final String ACCESS_KEY = ‘アクセスキー’;
private static final String SECRET_KEY = ‘シークレットキー’;
private static final String BUCKET_NAME = ‘バケット名’;
private static final String REGION = ‘地域’;
private static final String EXPIRES = ‘有効時間(ms)’;

//請求メソッド
public enum RequestMethod {
GET, PUT
}

元記事を表示

AthenaのSQLでPandasのresampleのようなことを行う

以下のようにAWS Data Wrangler使ってAthenaからロードした時系列データを時間単位毎に集計する処理を実行していました。

“`python
df.resample(“min”).mean()
“`

よく考えればSQLでもWindow関数使えばできるよな。Athenaでもできるなかな。ということでAthena(というかPresto)のリファレンス読みながら探ってみました。

https://docs.aws.amazon.com/ja_jp/athena/latest/ug/presto-functions.html

結論として `date_trunc関数` を使うことで似たような実装が可能でした。以下にサンプルを書いておきます。

使うのは以下のsampleテーブルです。

|Col|Type|Desc|
|:–|:–|:–|
|time|string|ISO8601形式の文字列形式で入っている|
|value|int|サンプル値|

WINDOW句で定義したもの使い回せなそうなのでPARTITION BYを何度も書くのが面倒ですが。

“`sql
S

元記事を表示

【AWS SAP】EBS,EFS

#はじめに
このページはAWS Solution Architect Professional(SAP)の資格を取得するため、重要ポイントを絞って記載していきます。分かりづらいところ、間違っているところがあれば是非ご指摘ください。
#今回の説明対象
AWS EBS (Elastic Block Store)
AWS EFS (Elastic File Sytem)

# サービスの内容

## 機能説明
EBS、EFSともに**ネットワーク**を介したディスク提供を行うサービス

## 主な利用方法

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2262212/15115302-8adb-662b-53c3-0c8bb2ceaf28.png)

EBS、EFSともにネットワークを経由したストレージサービス。EBSはAZ内の**単一EC2インスタンス**にマウントすることを目的としたサービス。EFSはいわゆる**ネットワークファイル共有**としてのマネージドサービスで複数サーバから

元記事を表示

【AWS】Route53、S3ウェブサイトホスティング、AutoScalingを利用した障害対策

#■はじめに
EC2(wordpress)・RDSの冗長化構成(※)に以下機能を追加して構築してみたので、その際の手順をまとめました。
※[【AWS】EC2とRDSを冗長化しALBで通信を振り分ける](https://qiita.com/CycleSHD/items/7a27a6a60c980d7f3956)

– Route53 フェイルオーバールーティングのプライマリとセカンダリレコードを用意し、正常時と異常時で異なる通信経路とする
– S3 WebサイトホスティングでSorryページ(メンテナンス中を表すもの)を表示する
– EC2が落ちた場合はAutoScalingで新たにインスタンス起動する
– CloudWatchでAutoScalingグループ内のインスタンス稼働台数を監視し、EC2が落ちてアラーム状態の場合はメール通知する

#■対象者
本記事はAWS初学者向けの情報共有として構築手順をまとめています。
また、自分用の手順メモでもあります。

#■構成図
![image.png](https://qiita-image-store.s3.ap-northeas

元記事を表示

AWS CloudTrail の概要を理解する

#AWS CloudTrail
AWSユーザの操作(APIコールやユーザのサインインアクション)をロギング(記録として確認できるような形)するサービス

    では、具体的にどのような仕様なのか

  •  ルートアカウント/IAMユーザのオペレーションとAPIコールをトラッキングしてログを取得するサービス
  • Cloud Trailログファイルは暗号化されてS3に保存される
  • KMSによる暗号化サポート
     KMSとは? URL= https://business.ntt-east.co.jp/content/cloudsolution/column-186.html

  • デフォルトでは90日間ログが保存される
  • 無料
元記事を表示

AWSの障害でアカウント新規作成時にカードが通らなかった話(2021/11/15発生~2021/11/22解消)

#概要#
2021/11/15にAWSのアカウントを作ろうとしたら、カードの認証が通らなかった。
2021/11/22にAWS側から連絡があって、障害があって通ってなかったとのことだった。
本日、無事に登録ができた。

#詳細#
![本人確認失敗.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2286510/30e5e724-eae2-ac7b-aadc-6d6290a87ae3.png)
AWSのアカウントを作ろうとしたら、本人認証のSMSのPINを送る段階で上記の様な表示が出る。
カードほかのところでは普通に使えるのになんで~?と思いながら、色々調べてみた。
ちなみに、VISA,MASTERどちらも試したけどだめだった。(JCBはもってなかった。)

#銀行に確認#
https://compass-note.hatenablog.com/entry/aws-credit-card-validation-error

上記の記事を参考に、カードは楽天銀行ではなかったけど、もしかして支払いがブロックされ

元記事を表示

[初心者向け]AWSを経由しkintoneから取得したデータを外部サイトに表示

#やりたいこと#
マスタ(kintone)からデータを取得し、外部サイトに表示したい

#はじめに#
GAS(Google Apps Script)感覚で外部サイトから直接JavaScriptやPHPでkintoneからデータを取得しようとしましたが、クロスドメイン制約によりできなさそうだったので断念しました…
AWS経由だとうまくいきそうな記事があったため、そちらを参考にさせていただきました。

#動作確認環境#
作業端末:windows10
マスタデータ:kintone

#テストの流れ#
1. kintoneアプリ作成
2. AWS Lambda関数の作成
3. AWS Lambda環境構築
4. AWS API Gateway環境構築
5. 外部ページの作成

#1.kintoneアプリ作成#
####1-1.テスト用のアプリを作成####
○アプリ名:テストアプリ
○項目1:レコード番号
○項目2:文字列(1行)
  ➤フィールド名:テキスト
  ➤フィールドコード:text 
![kintone1.png](https://qiita-image-store.s3.ap-n

元記事を表示

AWS ChatbotでおしゃれにSlack通知したい!

# TL;DR
システムがトラブった時、通知や対応を迅速に行いたいですよね。
PagerDutyとかの3rdパーティ製のツールもありますが、せっかくAWSでワークロードを実施しているのでAWS内サービスで実現してみましょう。
ということで、AWS ChatbotとSlackを連携してCloudWatchアラームがトリガされたらSlackに通知してみたいと思います。

# AWS Chatbotとは?
> AWS Chatbot は、Slack チャンネルや Amazon Chime チャットルームで AWS のリソースを簡単にモニタリングおよび操作> できるようにしてくれるインタラクティブエージェントです。AWS Chatbot を使用すると、アラートを受信することや、診断情> 報の取得、AWS Lambda 関数の呼び出し、AWS サポートケースの作成を行うコマンドを実行することができるようになります。
> https://aws.amazon.com/jp/chatbot/

どうやら、インタラクティブに会話するような会話Botというものではなく、診断情報やアラートをチャットツール

元記事を表示

AWS SAMのDynamoDB Local接続のお試し(golang)

#はじめに
最近AWSのサービスを利用してシステム構築することに・・・
lambdaをメインにしたwebapiの開発をローカルで試した結果をまとめていきます。
本記事はローカルでAWS SAMを利用して、dynamodbとの連携までやります。
次の記事ではデプロイ周りをやります。

#利用していきます!

##今回使用するツールなどのバージョン
– Windows 10 Pro:21H1
– WSL2:Ubuntu 20.04 LTS
– vscode:1.61.2
– Docker:20.10.9
– Go: 1.17.3

##AWS SAM CLI のインストール
Homebrewを利用してAWS SAM CLIをインストールします。
AWSの公式サイトに[AWS SAM CLI のインストール](https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)の手順がありますので、そちらを参考に。
※git、

元記事を表示

AWS CloudFormationでのAWS Lambdaの構築方法

業務でAWS CloudFormationを使ったAWS Lambdaのデプロイをする機会があったので、個人的に興味を持ったので自分のメモ代わりとして記事にして残しておきたいと思います。

AWS CLIを利用するので、前もってIAMユーザーやCLIのconfigの設定は完了している前提で進めます。
またLambdaをデプロイする為にAWS SAMというAWS CLIの拡張ツールを使用しますので、こちらもインストールしている前提となってます。

## デプロイまでの流れ
まず、AWS CloudFormationを利用したデプロイは以下の流れとなあります。

1. テンプレートとソースの作成
1. S3にバケットを作成
1. 1で作った作ったテンプレートを元にバケットにLambdaのソースをアップロード
1. 3のテンプレートのフォーマットが正しいかチェックを行いS3にアップロードする
1. 3のテンプレートを元にLambdaに2でアップロードしたソースを反映させて関数を作成する

2度目のデプロイからは3からの作業となります。

## 1. テンプレートとソースの作成
デプロイをする

元記事を表示

OTHERカテゴリの最新記事