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

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

【ML初心者が】Amazon SageMaker Studio Lab をやってみた

# はじめに

先日行われたAWS re:Invent 2021において機械学習初学者向けに機械学習をブラウザ上で無料で試せる Amazon SageMaker Studio Labなるサービスが発表されました。今回は機械学習やったことない歴=年齢の私がこちらを使って優勝していこうと思います。

[[速報]AWS、JupyterLab IDEベースの新サービス「SageMaker Studio Lab」無料提供を発表、ブラウザで機械学習を学び試せる。AWS re:Invent 2021](https://www.publickey1.jp/blog/21/awsjupyterlab_idesagemaker_studio_labaws_reinvent_2021.html)

# Amazon SageMaker Studio Lab でできること

ほぼはじめの記事をまとめただけになりますが

– 機械学習に必要な実行環境をブラウザ上で実行できる
– Git連携やターミナルも備わっている
– PyTorchやTensorFlowなど様々な機械学習ライブラリを試せる
– セッションあた

元記事を表示

AWS資格(SAP,SOA,SAA,DVA)をNotionアプリを使って効率よく勉強してみた

# はじめに
本勉強方法は、資格を獲得することが目的で、すべてを100%理解していないです。。
ただし、知見を得ることで、実務において選択肢の幅が広がったことは間違いないですし、やはり実践ではないと本当の意味でマスターしたとは言えないので、自分的には良い割り切りかなと。。

私はもともとAWSを業務で触る機会はそれなりにありましたので、AWS経験が1年以上ある方には参考になるかと思います。

# 資格取得履歴
当初は全ての資格を制覇しようという意気込みでしたが、SAPを取得したところ(すべて1回で合格)で、達成感に襲われ、それ以上の資格は目指しませんでした:sweat:。 

– 勉強期間: 1-2ヶ月程度/資格
– 勉強時間:平日の仕事が終わった後、ちょっとした待ち時間
– 勉強場所:ベトナムで有名なハイランズコーヒー☕

![スクリーンショット 2021-12-14 12.31.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2358573/19b1fa0a-d2e0-8b81-2d78-c8f

元記事を表示

【AWS Shield】Error occured when configuring application layer DDoS mitigation for resource(Unknown error. ID: )の対処法

# はじめに

本件はあくまで一例です。
正しく解決できている保証はございませんが、私は解決できたのでご紹介します。

# 結論から
リソースに紐づけられているWAFのWCU数を確認してみてください。
「[アプリケーションレイヤー DDoS の自動緩和](https://aws.amazon.com/jp/blogs/news/aws-shield-advanced-update-automatic-application-layer-ddos-mitigation/)」機能を有効化する場合、追加でWCU150のキャパシティがあるかどうかを確認してみてください。

# 解説
以下ドキュメントにて、解説します。
https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/ddos-advanced-automatic-app-layer-response.html

# DeepLで翻訳
自動ミティゲーションを有効にすると、Shield Advanced は次のことを行います。

– 必要に応じて Web ACL に Shiel

元記事を表示

LambdaでSNSからメール送信できないときの確認事項3選

最近、仕事でLambdaからSNSを使用して、Eメール送信する機能を開発する機会がありました。

Nodeを使って開発し、コード自体はググればコピペして使えるコードが盛りだくさんだったので、直ぐに終わるかと思ったのですが・・・

とにかくSNSへのメッセージ発行ができず、苦労しました。
調査した結果、メッセージ発行ができない原因が3つあったので、メモとしてまとめようと思います!

# その1、権限がない
こちらは、どのサイトでも大体書かれていました。
Lambadaの実行ロールにSNS実行権限を付ける必要があります。
設定タブのアクセス権限から実行ロールを編集可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558865/4a0383ab-0804-f2c9-defb-7fb615c604e6.png)

# その2、エンドポイントが無い
サイトで紹介されるサンプルだと、ネットワークの利用を特にしないので、忘れがちです。
実際はプライベートなVPCネットワーク内にLambdaを配

元記事を表示

KMSで生成したキーペアを利用してJWTを作成するサンプル

## 目的

JWTを利用することが増えてきましたが、都度払いだした鍵の管理が業務を圧迫するため
KMS管理のキーペアでJWTを作成する備忘録です。

## コード

KMSでは秘密鍵を取得することができないため、直接署名しています。
公開鍵は取得できるため、decodeは既存ライブラリ利用の想定です。

エンタープライズ環境では [lcobucci/jwt](https://github.com/lcobucci/jwt) のSigner実装として組み込むなどをお勧めします。

“`PHP
use Aws\Kms\KmsClient;

class JWTEncoder
{
/**
* JWT生成
*
* @param KMSClient $kms
* @param string $key
* @param array $claims
* @return string
*/
public static function encode(KMSClient $kms, string $key, arr

元記事を表示

AWS App RunnerにECRパブリックイメージをデプロイしてカスタムドメインを設定するまで

# App Runnerサービスの作成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/d1b22c91-02e8-a75a-4997-363dd5a90634.png)
ECRパブリックイメージはこちらを使います。

https://gallery.ecr.aws/aws-containers/hello-app-runner

デプロイトリガーは手動に設定。自動は月1$の[追加コスト](https://aws.amazon.com/jp/apprunner/pricing/)がかかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/343cffef-de4b-9c53-617a-222edbc35c62.png)
ポートは[hello-app-runner](https://gallery.ecr.aws/aws-containers/hello-app-r

元記事を表示

【AWS】CloudWatchのまとめ

# はじめに

こんにちは。
この記事は[GFAMアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/gfamz)の6日目の記事です。
CloudWatchについてまとめてみました。

# CloudWatchの概要

CloudWatchはAWSリソースの情報(メトリクス)を収集、監視し、アクションおよび分析を行います。

* 収集: メトリクスを収集
* 監視: 閾値を超えるかどうかを監視、超えた場合アラームを発砲する
* アクション: アラームの発砲に基づいた(事前に設定されている)アクションを行う
* 分析: 収集した情報を可視化

## メトリクス

メトリクスとは、CloudWatchで取得、監視した項目のことです。
EC2のメトリクスには以下の2通りがあります。

* 標準メトリクス:AWSが用意したメトリクス(CPU、ネットワークトラフィックなど)
* カスタムメトリクス:ユーザが独自に設定したメトリクス。(メモリ使用率、ディスク使用率など)

## CloudWatchエージェント

カスタムメトリクスを収集、

元記事を表示

AWS Copilotで検証環境を構築した話

# はじめに
こんにちは、GxPの@ttanaka-gxpです。
この記事はグロースエクスパートナーズ Advent Calendar 2021の16日目です。

今回は以前から興味のあったAWS Copilotについて、ちょうど業務の中でECS上で動作させるAPIを構築する作業があり、そちらで構築しながら試させてもらった内容を、サンプルアプリも交えつつまとめようと思います。

# AWS Copilot CLIについて
[公式](https://aws.github.io/copilot-cli/ja/docs/overview/)から抜粋
> Copilot CLI は、AWS App Runner、Amazon ECS および AWS Fargate を利用したプロダクションレディなコンテナ化されたアプリケーションのビルド、リリース、そして運用のためのツールです。 開発のスタートからステージング環境へのプッシュ、そして本番環境へのリリースまで、Copilot はアプリケーション開発ライフサイクル全体の管理を容易にします。

具体的にはソースコードとそれを動作させるためのDocke

元記事を表示

[AWS]V4署名を使ってOpenSearchにアクセスする

この記事は [株式会社サイバー・バズ Advent calendar 2021](https://qiita.com/advent-calendar/2021/cyberbuzz) 16日目の記事です。

# 概要
`ECS`や`Local`環境から`AWSV4`認証を使用して`OpenSearch`にアクセスする機会がありました。

基本的には[こちら](https://dev.classmethod.jp/articles/typescript-connect-es/)の記事を参考にさせていただいています。

# 目次
1. [AWS V4署名](# AWS V4署名)
2. [Local環境から](# Local環境から)
3. [ECS環境から](# ECS環境から)

# AWS V4署名
`AWSV4`署名とは、`AWSAPI`リクエストに認証情報を付与するものです。
AWSへのリクエストは基本的に署名が必要です。

詳しくはドキュメントをご覧ください。
https://docs.aws.amazon.com/ja_jp/general/latest/gr/signatu

元記事を表示

Registry of Open Data on AWS にある気象衛星ひまわりのデータを分析して可視化してみた

この記事は [AWS Analytics Advent Calendar 2021](https://qiita.com/advent-calendar/2021/aws-analytics) の 16日目の記事です。re:Invent 2021 で発表された新しい機能はすでに素敵なエントリがたくさんあったので、自分の興味に寄せてオープンデータの分析・可視化で記事を書いてみようと思います。実は、あまりこういうのに慣れていないので、不備がありましたら優しくご指摘いただけると助かります。

S3にあるオープンデータを分析して、可視化するまでにどんなサービスが利用できるのか、全体の流れを記事にしてみようと思います。要約するとこのような流れになっています。

1. Open Data on AWS のデータへのアクセス
1. Python を利用してデータの理解を深める
1. SageMaker Notebook でデータの探索
1. Lambda で前処理した結果を S3 に保存
1. Athenaでクエリして結果を集約
1. QuickSight に取り込んで可視化

Notebook で

元記事を表示

AWS費用監視ツール(前編:AWS マネジメントコンソール&AWS CLI)

# 1. はじめに
こんにちは、(株)日立製作所、クラウドビジネス推進センタの富田です。

「AWS費用のデイリー通知、やってますか?」

AWSにある程度精通しているエンジニアであれば「Lambdaでササっと作ってしまう」という芸当も難しくはないのですが、普段AWS マネジメントコンソール(以後「マネコン」と略す)をメインで使っている場合、Lambdaでの実装にはハードルを感じるという方もおられると思います。

– 「毎日マネコンにログインして、Cost Explorerで費用をチェックするのも面倒」
– 「通知ツール作るのって大変なのだろうか?難しくなければ自分で試してはみたいが。。。」

本記事では、AWS費用の監視・通知ツールをテーマに、ステップ・バイ・ステップで解説したいと思います。

# 2. 全体構成
記事は2部構成になっています。

– AWS費用監視ツール(前編:AWS マネジメントコンソール&AWS CLI) **← 本記事**
– AWS費用監視ツール(後編:Lambda活用)

AWS IoTに圧縮済みのデータを送信してAWS側で解凍する

PythonからAWS IoTに送るデータを圧縮して、AWS IoT Rule Actions側(+Lambda連携)で解凍する方法を書きます。

# データ送信スクリプト
以下のPythonスクリプトを使ってデータを送信します。

“`python
import sys
import json
import bz2
import boto3

# 適当なデータを準備
data = {
“int”: 1,
“float”: 1.1,
“str”: “abcdefghijklmnopqrstuvwxyz”,
“japanese”: “あいうえおかきくけこさしすせそたちつてと”,
}

# Bytes形式に変換しサイズ確認
json_data = bytes(json.dumps(data),”utf-8″)
print(f”original size -> {sys.getsizeof(json_data)} bytes”) # -> 230bytes

# bz2で圧縮しサイズ確認
json_data_bz2 = bz2.compress(js

元記事を表示

AWS CLIで Web サイトを構築、管理、運用する(16日目)

16日目!

今回は、ついに EC2 を立ち上げます。
14日目、15日目はこのためにありました・・・!

# 13日目の要約
仮想マシンを立ち上げて、動的なコンテンツを表示できるようにするよ!

# AWS CLI の準備
このあたりをみて、好きなバージョンとお使いのOSにあった環境設定をしてくださいね。
なんなら、 AWS CloudShell で実行するのも楽でよいと思います。
この記事シリーズは、AWS CloudShell で実行し、実行例を載せています。

バージョン1
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv1.html

バージョン2
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html

# 概要
最新の AMI を使って、EC2インスタンスを立ち上げます。さらに、名前解決できるようにしてCloudFrontのディストリビューションとしても登録するよ!

# さあ、やってみよう!

元記事を表示

新卒2年目がANGELDojoに参加して学んだことをお話します

#目次
[1.概要](#1-概要)
[2.はじめに](#2-はじめに)
[3.コンテンツ](#3-コンテンツ)
[4.作成したサービス](#4-作成したサービス)
[5.学んだこと](#5-学んだこと)
[6.おわりに](#6-おわりに)

#1-概要
AWS主催の内製化支援に向けたトレーニング「ANGEL Dojo」に弊社ARIが参加しましたので、
そちらの内容や学んだことを共有させて頂きます。

#2-はじめに
###ANGEL Dojoとは?
>ANGEL Dojoでは次世代を担うAPNの若手のエンジニアの方々に、擬似プロジェクトを通じてアジャイル、DevOps、モダンなアプリケーション開発などのクラウドネイティブな手法と、様々なInnovationを作ってきたAmazonの文化と考え方を体験いただくことで、お客様にクラウドの価値を100%届けるための基礎的なスキルを実践を通して身につけていただきます。参加者の皆様はここで培ったスキルと、各パートナーの皆様がお持ちのそれぞれの強みを活かすことでお客様のビジネスを成功に導き、日本のITや経済をさらに成長させる主役、すなわち「APN

元記事を表示

CloudFormationでDjango環境構築

#はじめに
以前投稿したAWSでのDjango環境構築をCloudFormationを活用して構築してみたいと思います。

https://qiita.com/zeems/items/7967f94e0049ed03eb40

#ポイント
* AWSマネジメントコンソールを使用せずに構築を実行
* CloudFormation, AWS CLIを使用して構築します。
* Systems Managerのパラメータストアを使用
* 一部パラメータをパラメータストアに格納して利用します。
* リソースの種類ごとにテンプレートを分割
* 公式ドキュメントでベストプラクティスとして記載されているリソースのライフサイクルを考慮して、テンプレートを分割します。
* クロススタック参照を使用します。
* 分割したテンプレートを使用して、ネストされたスタックを作成します。

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/best-practices.html#organi

元記事を表示

【コスト削減】検証環境をSlackから停止できるようにした話【QA止める君】

# 記事の内容
CAMPFIRE社内で使用している検証環境(社内では、QA環境と呼ばれている)をSlackから停止して、コスト削減した話

# 自己紹介
こんにちは、CAMPFIRE SREの榊原です。
本日はCAMPFIREアドベントカレンダーの一つとして、QA止める君(SREチームの方が命名してくれました笑)についてお話したいと思います。

# CAMPFIREの検証環境について
検証環境って大切ですよね。
新しい機能をリリースする際に、ローカルだけではなく、ちゃんと本番と同じ構成のインフラ上で動作させて、挙動を確認したり。
企業によっていろいろな検証環境があると思います。
例えば、

– 小規模なスタートアップでしたら、プロダクション環境とステージング環境のみがあって、ステージングで動作確認をする
– 中規模な企業でしたら、ステージング・プロダクションとは別に、検証環境用のインフラがあり、そこにリリースして、検証が終了したら、他のエンジニアに譲る(一つの検証環境をみんなで使い回す)

などなど。

## CAMPFIREの検証環境(QA環境)
CAMPFIREでは、githubの

元記事を表示

Lambdaを使用してCloudWatchアラームをLINE Notifyで通知してみる

#ご挨拶
AWS Advent Calendar 2021の16日目の記事になります!
今回はLambdaを使用してLINEにCloudWatchからのアラームを送信したのでその時の知識のまとめです。
#やること
今回のメインはLambdaになります。
Pythonを使用してLambda関数を作成しました。
SNSのサブスクリプションにLambdaを選択してそのSNSをCloudWatchアラームの通知送信先に選択することでLINEに送信できるようにしました。
言葉だけだと理解しにくいので構成図を作成しました。
###構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612471/6d19a780-2b33-d138-0033-fac1ce8ad412.png)

#Lambdaの設定やLINE Notifyの設定、コードを参考にさせていただいたサイト
[LambdaでLine Notifyを使って予定通知をやってみた](https://dev.classmethod.jp/arti

元記事を表示

re:Invent 2021 私的HPCまとめ

2019年は自分のプレゼンと仕事で忙しすぎて忘れてた、2020年はコロナで現地にいないのでまとめる気にならなかったけど。3年ぶりにre:Invent 私的HPCまとめをしてみたいと思います。

HPC Tech ShortsというYoutubeチャネルでまとめをやってくれるんだろうなー、と思って待ってたら12/15に出てきた。
https://www.youtube.com/c/HPCTechShorts

– FSx on OpenZFS : https://aws.amazon.com/about-aws/whats-new/2021/11/amazon-fsx-openzfs/
– ZFSって触ったことないのでよくわからんのですが、結構パフォーマンスでるならLustreから乗り換えるのもありかも。
– Im4gn and Is4gen powered by Graviton2 : https://aws.amazon.com/about-aws/whats-new/2021/11/amazon-ec2-im4gn-is4gen-aws-graviton2/

元記事を表示

AWSで構築した「コスト最優先WordPress」改善の歴史を振り返って

# はじめに
本記事は「[Japan APN Ambassador Advent Calendar 2021](https://qiita.com/advent-calendar/2021/japan-apn-ambassador)」の16日目の記事です。

本記事では、私が以前とあるWebサイトの全面改修に関わった時**「コストを最小化しつつ業務も自動化したい」**という、今思えば中々に難易度の高いオーダーを受けて開発した**「コスト最優先WordPress」**の改善の歴史を振り返ります。

この開発では、とあるVPSで運用されていたWebサイトをWordPress化して、AWSに移行しました。

但し、この移行のテーマは**「コスト最優先」**であり、とにかくAWS利用料が安くなるように考えなければならないものでした。
**その要望は、本当にコストを削るためなら何でもありと言わんばかりのものでした。**
移行から約8年が経過し、運用上のトラブルはありましたが、改善を繰り返し、現役で動き続けています。

本記事は、その**「コスト最優先WordPress」**がどんな形でリリースさ

元記事を表示

マイクラサーバーを作るにあたってテスター母さんがメモったLinuxの超基礎

長いことテスターやってますが、サーバーはいまだによくわかりません。
「サーバーログを検索できる程度の知識はあったほうがいいよね」ということで、LPICレベル1のテキストを読みはじめましたが、正直 ( ´_ゝ`)フーン で通り過ぎてしまう・・・
これはやはり触ってみるのが一番なのでは?と考えていたところ、ちょうど息子から「友達とマイクラやりたい。MOD入りで」と。そうだ、マイクラサーバー作ろう。

幸いちょっと検索すればいろんな人がマイクラのマルチサーバーの作り方を解説してくれていて、書いてあることをまるパクリすれば起動するのは簡単でした。でも、「この数字は何?」とか「このコマンドは何やってるの?」とか「どうしてそれが必要なの?」とかまで解説しているのは見つけられず・・・。これじゃあ、息子から突っ込まれたら答えられない!母の威厳が!
というわけで、この記事ではマルチサーバーを動かす、というよりは、その過程で出てきた**普通は基礎すぎてスルーされる**内容を、LPICの教科書片手に調べたメモとともにまとめてみました。(知識ゼロの中学生でも理解できるように)

# 前提

– AWSアカウ

元記事を表示

OTHERカテゴリの最新記事