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

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

awswranglerにて pyarrow.lib.ArrowTypeError: Did not pass numpy.dtype object のエラー

最近、業務でデータ基盤の構築をしており、その中でETL処置のために`awswrangler`というライブラリを使用することがあります。
これを使うと`S3 <-> pandas.DataFrame`などのやりとりが非常に簡単に行えて便利です。

ただ、そのセットアップで表題のエラーが出ることがあったので簡潔にまとめておきます。

# 何が起きたか?
以下のようにpandasのDataFrameをawswanglerでS3にputしようとした際にエラーが発生しました。

“`python
import awswrangler as wr

path = “s3://hoge_bucket/hoge.parquet”
wr.s3.to_parquet(
df=df,
path=path,
)
“`
型の問題なことはエラーからわかりますが、`df`のtypeを調べてみても間違いなく``でした。

# 原因
どうやらライブラリのバージョンの問題のようです。

https://github.com/Azure/Ma

元記事を表示

S3静的ウェブサイト+CloudFrontの構築

## はじめに
前回作成したS3静的ウェブサイトにCloudfrontを実装しました。バケットポリシーで少し詰まったので、今後の自分用の構築メモとして残します。

## 構成図
![スクリーンショット 2022-02-12 19.57.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694365/d894fd5d-ec46-ab9c-0022-047e0a557664.png)

## ハンズオン
### 0:前回のS3静的ウェブサイトの確認
前回からバケットを再度作成し直したのでバケット名が変わっていますが、構築は手順の通り構築しております

[AWS CLIを利用してAmazon S3静的ウェブサイトのホスティング](https://qiita.com/i3no29/items/0cbeaf9030859956e615)

### 1:CloudFrontで公開
#### 1.1 CloudFrontサービスページに遷移して『ディストリビューション作成』を押下する
![スクリーンショット 20

元記事を表示

Private DNS can only be enabled after the endpoint connection is accepted by the owner で VPC エンドポイントの作成に失敗する

**2022/2/13 時点のコンソールで操作した場合の情報です。今後仕様が変わる可能性がありますのでご注意ください。**

## 事象
新しい UI の VPC コンソールでその他のエンドポイントサービス用の VPC エンドポイントを作成しようとすると、以下のようなエラーが発生する。

“`
Private DNS can only be enabled after the endpoint connection is accepted by the owner of com.amazonaws.vpce..vpce-svc-xxxxxxxxxxxxxxxxx
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125105/c4eb8479-4933-3e60-e16f-31626982875a.png)

## 原因と対応
新しい UI の場合、追加設定の「DNS 名を有効化」にデフォルトでチェックが入っているため。
接続先の VPC エンドポイントサービ

元記事を表示

AWS Protonを理解する② テンプレート構成

## 課題
前回の勉強でAWS Protonの設計思想、サービス概要は掴んだ。
今回はリファレンスと言いましたが、嘘です。
まずはテンプレート構成を調べて、リファレンスは次回にします。

## サンプルテンプレートの構成
とりあえず、ロードバランサーとFargate構成のテンプレートを引っ張ってきた。
– https://github.com/aws-samples/aws-proton-sample-templates/tree/main/loadbalanced-fargate-svc

ディレクトリ構成は以下。

– environment
– policies
– service
– spec

## environment
環境テンプレートにあたるもの。
フォルダ構成は必ず以下でなければならない。
※ファイル名も固定

– environment
– infrastructure
– cloudformation.yaml
– manifest.yaml
– schema
– schema.yaml

manifest.yamlは、テンプレートがcloudfo

元記事を表示

AWS SAA一夜漬け学習帳(更新中)

###EC2
AZ内
Spot Instances入札方式:値段はお得だが中断のリスクあり
停止再起動:インスタンスボリューム内のデータが消える、ホストが変わる

###Placement groups
物理的にEC2をお互い近くに置く(遅延減少)
Cluster Placement groupsはAZ跨れない

###SG
ec2-create-group アカウントに新しいSGを作成

###リザーブドインスタンス
AZ変更可、お得、AutoScalingの起動に適用可

###EBS
全ボリューム暗号化可
1GiB~
Volume(iGB) : IOPS = 1:50
複数のEC2にアタッチできない
スナップショット:完全版+増分、自動暗号化、作成中もボリュームは普通につかえる

SSD、予約SSD-IOPS ランダムな読み出しが速い
HDDスループット ビッグデータなど順番読みに適している
ColdHDD 安い

General Purpose SSD
gp3     gp2

Provisioned IOPS SSD
io2 io1
16,000 IOPS 以上

元記事を表示

【SAP-C01試験対策】AWS Elastic BeanstalkのBlack Belt を文章でまとめてみた

# はじめに

AWSのElastic Beanstalkをblack Belt Online Seminerの資料等を参考に学習したので、内容をまとめます。

https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/Welcome.html

# 背景
著者は転職活動中ですが、志望する企業でDevOpsの知識が必要となるため、DVAの資格取得の学習をしています。

# AWS Elastic Beanstalkとは
定番環境の構築・アプリケーションデプロイの自動化サービス。

## 定番構成
新しい環境の作成画面から環境枠を選択できる。
– ウェブサーバー環境:ELB + Auto Scalingでスケーラブルなウェブアプリを構築。
– ワーカー環境:SQS + Auto Scalingでスケーラブルなバッ

元記事を表示

Terraformとは

本稿では、Terraformの概要とメリット、類似のツールを紹介します。

## Terraformとは
+ IaC(Infrastructure as Code) = 「インフラのコード化」
+ クラウドインフラで使用される場合が多い(オンプレも可)
+ AWS・GCP・Azureなどの様々なクラウドインフラに対応

## Terraformのメリット
+ インフラ構築のスピードの向上
+ インフラのバージョン管理が可能
+ あらゆるプラットフォームで使える
+ インフラの属人化を防ぐ

## その他のIaCツール
+ AWS CloudFormation
+ AWS専用
+ Ansible
+ ミドルウェアやアプリケーションの構成を管理

【参考】
+ https://www.lac.co.jp/lacwatch/service/20200903_002270.html
+ https://y-ohgi.com/introduction-terraform/first/about/
+ https://www.ibm.com/jp-ja/cloud/learn/te

元記事を表示

【AWS】Lambdaの各種設定項目

#はじめに
AWSのさまざまなサービスに触れています。是非[コチラ](https://qiita.com/onishi_820/items/92bc81c450f1c2021b09)から他の記事もご覧ください。
随時更新中ですのでお探しの内容に関する記事がない場合はコメントいただければ優先して記事にしようと思っています。

また、投稿日が古い記事に関しては、現在のマネコンのUIと異なる場合がございます。
内容が異なる場合はコメントいただけると幸いです。

本記事は、Lambdaの各種設定項目についてまとめた記事になります。

#Lambdaとは
AWS公式サイトでは以下のように記述されています。
>Lambda はサーバーをプロビジョニングしたり管理しなくてもコードを実行できるコンピューティングサービスです。Lambda は可用性の高いコンピューティングインフラストラクチャでコードを実行し、コンピューティングリソースの管理をすべて担当します。これにはサーバーおよびオペレーティングシステムのメンテナンス、容量のプロビジョニングおよびオートスケーリング、コードのモニタリングおよびログ記録

元記事を表示

REST APIを呼び出した際の「HTTP504」ステータスコードについて

##はじめに
Amazon API Gatewayを使用してREST APIを呼び出した際の「HTTP504」ステータスコードについて調べる機会があったので備忘として残します。

##調査
・リクエストがAPI Gateway REST APIの最大統合タイムアウトパラメータよりも長くかかる場合、API Gatewayは「HTTP 504」ステータスコードを返す。
・最大統合タイムアウト(REST APIの設定と実行時)は、すべての統合タイプで50ミリ秒〜29秒で設定可
・最大統合タイムアウト(HTTP APIの設定と実行時)は、最大30秒(デフォルト)

##トラブルシューティングの方法
・Amazon CloudWatch 実行ログでエラーの原因を特定
・統合リクエストの実行時間を減らしてタイムアウトしないようにする

##トラブルシューティング手順
1. 504 エラーを返す API の API Gateway のログ記録を設定

2. 504 エラーを手動で再現

3. CloudWatchコンソールで、エラーを受け取った統合の

元記事を表示

AWS CLIを利用してAmazon S3静的ウェブサイトのホスティング

## はじめに
GUIでの作成に慣れすぎて最近CLI叩いていない自分にユルめの喝を入れるべく、S3静的ウェブサイトのホスティングを自分の出来る限りCLIで構築していきます。
Cloudfrontを実装したり、ACMによるSSL/TLS証明、Lambda@EdgeによるBasic認証は次回におあずけして基本に立ち返り構築をしていきます。

## 構成図
![スクリーンショット 2022-02-11 13.12.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/694365/132db201-66ed-441d-02e3-186fb1b5814e.png)

## ハンズオン
### 1:公開用のS3バケットを作成
#### 1.1 実行環境確認

“`
tetutetu214@mbp ~ % aws –version
aws-cli/2.2.5 Python/3.9.10 Darwin/21.2.0 source/x86_64 prompt/off
“`

#### 1.2 バケット(aws-le

元記事を表示

AWS GreengrassにComponentをデプロイする #2 (Raspberry PiからS3にファイルを共有する)

#### 前回の記事

https://qiita.com/Buffalo46/items/5d1e27a08c4bded6e581

## まとめ
– Subscribeした信号をトリガーにAWSサービスにアクセスするコンポーネントの作成及びデプロイした。具体的には、`raspi/request`というトピックに来る信号をトリガーにして、簡単なファイルを作ってS3にアップロードする、というコンポーネント。
– S3にアクセスするところで苦戦。前回のデプロイメントのように、IAM RoleにS3の`PutObject`権限を与えても意味なし。Greengrassと関係ないところで走っているboto3のアクセス権限の問題だから。
– StreamManagerというコンポーネントを入れて解決。

## 次のステップ
– 次はpicameraで写真を撮ってS3にあげる。Raspberry PiのリソースをGreengrassから動かすテスト。

## 難しかったところ:S3へのアクセス

`botocore.exceptions.NoCredentialsError: Unable to

元記事を表示

【未経験】【エンジニア転職】Rails, React, AWS, Docker を使用した SPA サービス作成までの独学方法

# 自己紹介
おがわと申します。
現在(2022年2月)、自社開発の企業を目標に転職活動をしています。
私は小学校教員からエンジニア転職を目指して独学を継続しています。
webのことは全くわからない状態から学習を始めました。
最初は「発達障害をもつ子どもを支援するサービス」を自分で作れないだろうか、というところから学習がスタートしました。
学習をしていくうちに、「作るのが楽しい!もっとやってみたい。エンジニアになって、技術で社会に貢献したい」という思いに変化していきました。
自分でも驚いていますが、「やってみたい、チャレンジしてみたい」と思えることに出会えました。

忙しい中でも計画的に時間をかけて学習しました。これは効率性を考えるとおすすめできる学習方法ではありませんが、(継続できれば)誰でも再現可能であるともいえるかと思います。
仕事が忙しいからエンジニアに転職をすることを諦めている方の参考になればうれしいです。

# 作成したサービスについて
## [「困り感」のある子どもを支援するサービス Tech Teach!](https://www.tech-teach.net)
![名

元記事を表示

AWS S3 で公開されているページをローカルで表示する

ページを公開する方法はこちら
[AWS S3 でページを公開する](https://qiita.com/ekzemplaro/items/dc2a8403c2096c232cff)

公開されているページをダウンロードする方法

“`bash
aws s3 cp s3://test-s3 build –recursive
“`

サーバーの起動にはいくつか方法があります。

serve を使う方法

“`text
$ serve build

┌─────────────────────────────────────────────────┐
│ │
│ Serving! │
│ │
│ – Local: http://localhost:3000

元記事を表示

MLSを受ける

## 出題範囲
分野1:データエンジニアリング (20%)
分野2:探索的データ解析 (24%)
分野3:モデリング (36%)
分野4:機械学習の実装と運用 (20%)
[出題範囲](https://d1.awsstatic.com/ja_JP/training-and-certification/docs-data-analytics-specialty/AWS-Certified-Data-Analytics-Specialty_Exam-Guide.pdf)

## 試験ガイド
[参考問題](https://d1.awsstatic.com/ja_JP/training-and-certification/docs-ml/AWS-Certified-Machine-Learning-Specialty_Sample-Questions.pdf)

## 機械学習用語
– ユーザーエクスペリエンス向上
– 協調フィルタリング
– 従業員の滞在・離脱
– 分類モデル
– 混同行列を使って視覚化
– F1スコア
– モデルを選択する際に適合率と再現

元記事を表示

4xx Client Error (クライアントエラー)をCloudWatchLogsで検知してメール送信する

#初めに
CloudWatch Logsにて、特定のエラーログを取得したいケースは多いかと思います。
今回はWebサーバにて4xx台のレスポンスが返ってきた際に、CloudWatch Logsで検知してメール送信するための方法を備忘録として纏めていきたいと思います。

#前提
・事前にEC2(Amazon Linux 2)を作成済み
・EC2にnginxをインストール済み

#実装
###①CloudWatch Logsエージェントの設定
EC2にログインし、CloudWatch Logsエージェントをインストールします。

“`linux:
# yum install -y awslogs
“`

次にCloudWatch Logsエージェントが出力する先のリージョンを指定します。
/etc/awslogs/awscli.confに設定されているリージョンを、デフォルトのus-east-1からap-northeast-1に変更します。

“`linux:awscli.conf
[plugins]
cwlogs = cwlogs
[default]
region = ap-no

元記事を表示

AWS Protonを理解する① サービス概要

## 課題
IasCを実装する際、インフラとアプリでどうテンプレートを分離するか悩んだ。
re:InventでAWS Protonが発表されて、「IasCの真理はここにあったのか……!!」と喜んだのも束の間、なるほど、分からない。
という訳で、分かるまで1つずつ調べていく事にした。
「このサービスだけは絶対理解しておいた方が良い」と私のゴーストが囁くんだ……

## AWS Protonの設計思想
AWS Protonの究極の目的は、インフラエンジニアとデベロッパーの役割を明確に分ける事にあるらしい。
インフラ部分はインフラエンジニアが管理して、デベロッパーはアプリに一番近いパラメータをちょっと触るのと、Gitを通してCICDパイプラインを動かす。
こういう環境を用意するのが、AWS Protonというサービスなんだとか。

## サービス利用の流れ
AWS Proton利用の流れは、大まかに以下。
1. テンプレートの登録
2. 環境を作成し、テンプレートをデプロイ
3. CICDパイプラインを通して、アプリをデプロイ

## テンプレートとは?
テンプレートには環境

元記事を表示

プライベートAPI Gatewayでプライベートサブネット内の Fargate API をコールする

#はじめに
こんにちは、山田です。
今回はAPI Gateway、Fargateについて検証したので記載していきます。

#全体構成図
全体構成図は以下の通りです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1096361/f77d8b6e-b754-50eb-ed92-478cfcd57c45.png)

**①:パブリックサブネットに配置しているEC2に接続する。
②:VPCエンドポイントを介して、API Gatewayに接続する。
③:API GatewayからVPC linkを介してNLBに接続する。
④:Fargateにてタスクを実行する。**

#前提条件
今回は、VPCエンドポイント、APIgateway、VPC link 、NLB、Fargateの構築をメインに記載していきます。
その他のAWSリソースに関しては、構築済みとします。

#VPCエンドポイントの構築
以下にVPCエンドポイントの構築手順について記載していきます。

##
AWS管理コンソール -> VP

元記事を表示

Fargate用にRDS Ploxyを作成

# はじめに
FargateにRDS Ploxyを使用する機会があったため、手順をまとめます。
RDS Ploxyについてはこちら↓
>Amazon RDS Proxy を使用すると、アプリケーションでデータベース接続をプールおよび共有して、アプリケーションのスケーリング能力を向上させることができます。RDS Proxy は、アプリケーション接続を維持しながらスタンバイ DB インスタンスに自動的に接続することで、データベースの障害に対するアプリケーションの耐障害性を高めます。RDS プロキシを使用すると、データベースにAWS Identity and Access Management(IAM)認証を適用し、クレデンシャルをAWS Secrets Managerに安全に保存することもできます。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/rds-proxy.html

https://aws.amazon.com/jp/rds/proxy/

コネクションプーリングはこちらがわかりやすいです↓

http

元記事を表示

AWSの初期設定や用語で調べたこと CloudWatchで料金アラートの設定など

#背景
AWSの勉強のためにアカウント作成や初期設定、調べた用語などをまとめておくことにする

#AWSの基本
– 従量課金制

#AWSの用語
– リージョン:AWSの各サービスが提供されている地域のこと
– アベイラビリティゾーン:AWSは世界各国にデータセンターを持っていて、それを複数束ねたのもの。どんなリージョンにもアベイラビリティゾーンは二つ以上存在している
– VPC(Virtual Private Cloud):AWS上に仮想ネットワークを作成できるサービス
– サブネット:VPCを細かく区切ったネットワーク
– IPアドレス:ネットワーク上の機器を識別するためのインターネットの住所
– CIDR(サイダー)表記

IPアドレスのネットワーク部が先頭24ビットである場合

“`
192.228.126.0/24
“`

– サブネットマスク表記

IPアドレスの後ろに「/」を書き、ネットワークを部を表すビットと同じ部分を1、ホスト部を表すビットと同じ部分を0にする

IPアドレスのネットワーク部が先頭24ビットの場合

“`
192.228.126.0
111111

元記事を表示

FrontISTR をAWS で動かす~EC2にFrontISTRをインストール編~

# シリーズ目次

– [FrontISTR をAWS で動かす~AWSネットワーク構築編~](https://qiita.com/sasaco/items/6d8bb8b2f41be212fe77)
– [FrontISTR をAWS で動かす~AWS S3, EC2 作成編~](https://qiita.com/sasaco/items/4b47d6f38d0f8b27c537)
– FrontISTR をAWS で動かす~EC2にFrontISTRをインストール編~

# AMI をカスタムしていく

AMI をカスタムしていくぅ, 立ち上げた**EC2**インスタンスに **FrontISTR**をインストールしていく.ここからの作業は [EC2インスタンス上の作業](https://qiita.com/sasaco/items/4b47d6f38d0f8b27c537#%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%AB%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%

元記事を表示

OTHERカテゴリの最新記事