- 1. AWS系:Qiitaのタグ統計を浄化するためのタグ詰め合わせ記事
- 2. 【試験合格記】AWS 認定 ビッグデータ – 専門知識(BDS-C00)
- 3. AWSのECRに置いたコンテナイメージをお引越ししてみた
- 4. VPC Lambda から AWS API を使う
- 5. Kubeflow 1.0 on AWS #2 Notebookの作成
- 6. Amazon Linuxでmonitを使ってカジュアルにプロセス監視する!
- 7. CloudFormationでECSタスクのスケジュールに異なる複数の実行時間を指定したい
- 8. AWS Kinesis data streams とiOSの連携に苦しんだので、記事化しておきたい
- 9. AWS Security Hub のセキュリティ標準チェックが自動で有効化される条件
- 10. 2019年度の AWS What’s New を集計してみた
- 11. 【実務未経験】AWS認定ソリューションアーキテクト – アソシエイト(新バージョンSAA-C02)合格体験記
- 12. Nuxt.jsをServerlessでデプロイするにあたってぶつかった4つの壁
- 13. AWS CLIで現在作業中のアカウント情報を確認する方法
- 14. warning: already initialized constant Rack::Utils::ParameterTypeError などのrack utils のエラーの解決例
- 15. CloudFrontのx-edge-request-idをAPI側に渡す方法
- 16. 【メモ】Amazon Linux 2 でDjangoを動かす
- 17. AWS Amplify Consoleを使ってReactアプリのCICD環境を10分で作る
- 18. Amazon SES経由のバウンスメールをWebアプリで受け取る
- 19. 【初心者向け】AWS Amplify Console + MkDocs で気軽に始める Web サイト公開
- 20. [はじめて]失敗から学んだEC2のセキュリティグループ【接続できない】
AWS系:Qiitaのタグ統計を浄化するためのタグ詰め合わせ記事
タグだけ
【試験合格記】AWS 認定 ビッグデータ – 専門知識(BDS-C00)
お疲れさまです。
表題の試験に合格したため記録として残したいと思います。# 注意点
本試験は2020年4月12日に「ビッグデータ」から「データ分析」へ生まれ変わります。
そのため、当該日を過ぎてからこの記事や他の方の過去記事を参考にされると出題範囲が大きく異なる可能性があります。# 結果
合格(※スコアレポートが戻り次第追記予定)|分野|名称|割合|
|:—————–|:——————-|:——————-|
|1|収集|17%|
|2|格納|17%|
|3|処理|17%|
|4|分析|17%|
|5|可視化|12%|
|6|データセキュリティ|20%|# 所有資格
| 資格名 |取得年月日 |
|:—————–|:——————-|
|AWS Certified Solutions Architect – Associate (SAA)|2018-06-14|
|AWS Certified SysOps Administrator – Assoc
AWSのECRに置いたコンテナイメージをお引越ししてみた
AWSのECRに置いてあるコンテナイメージをテスト環境から本番環境に移転させるという業務があり、ザッと調べてもパッとは出てこなかったので、やり方を残しておこうと思います。
本来、コンテナはdockerfileを書いてそれを管理した方が良いのですが、そんなものは残ってなかったし、ぺーぺーの自分はそんなことすら知らなかった。
#ECR上のコンテナイメージを移転する
今回は2パターンのやり方を紹介します。
1:コンテナイメージをtarファイル化し、ローカルを経由してお引越し
2:コンテナイメージを直接pullして、そのままpushしてお引越し本記事では、お引越し先のAWS環境を移転先、お引越し元のAWSアカウントを移転元と表記します。
※スクショないです、追加できたらやります。#環境
ローカルOS:windows10
ターミナルソフト:Rlogin
EC2のインスタンスタイプ:t3.medium#1:コンテナイメージをtarファイル化し、ローカルを経由してお引越し
実際の業務ではこちらを採用しました。2つ目の方が早くて簡単ですが、無作法なので却下されました。
大まか
VPC Lambda から AWS API を使う
VPC に置いた Lambda Function から AWS API を使おうとしたらタイムアウトしてしまって困った。
[公式ドキュメント](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html) を読むと、
> Connect your function to private subnets to access private resources. If your function needs internet access, use NAT. Connecting a function to a public subnet does not give it internet access or a public IP address.
>
> Several services offer VPC endpoints. You can use VPC endpoints to connect to AWS services from within a VPC without internet a
Kubeflow 1.0 on AWS #2 Notebookの作成
# はじめに
これは、Kubeflow 1.0 をAWSで構築する記事です。
動作確認が主な目的ですので、本番環境での利用は全く想定していません。# 前回まで
[Kubeflow 1.0 on AWS #1 構築](https://qiita.com/asahi0301/items/21866199e347b9fc1f72)# 今回の内容
Kubeflow上で Jupyter Notebookを作成してみます# Notebookの作成(GUI)
New Serverを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/107953/16eb1cad-f21f-76c6-58ee-76dbd5f92926.png)demo1と名前で Notebook を作成します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/107953/0c425460-0337-c812-be94-
Amazon Linuxでmonitを使ってカジュアルにプロセス監視する!
Amazon Linuxで構築したサーバでプロセス監視したいなぁと思って調べたところ、[monit](https://mmonit.com/monit/ “monit”)が簡単そうだったので導入してみた。
## 初期セットアップ
### インストール
yumでサクッとインストールできる。
“`bash
$ yum install -y monit
“`2015年11月現在では、下記のバージョンでインストールされた。
“`bash
$ monit -V
This is Monit version 5.2.5
“`### デフォルト設定:/etc/monit.conf
では初期設定を確認してみよう。
コメントがいっぱい書いてあるが、それを無視すると、初期設定で書かれてるのは二行だけ。
“`bash
$ cat /etc/monit.conf | grep -v -e ‘^\s*#’ -e ‘^\s*$’
set daemon 60
include /etc/monit.d/*
“`簡単に解説。
“`bash
set daemon 60
“`
CloudFormationでECSタスクのスケジュールに異なる複数の実行時間を指定したい
# やりたいこと
CloudFormationでECSのタスクスケジュール定義をしたい。
時・分ともに異なる複数の実行時間を指定したい。
例えば毎日7:45と13:50に実行されるように指定したい。### 1つのcron式だとうまく収まらない
`cron(45 07 * * ? *)`
これだけだと7:45だけになっちゃうし
`cron(45,50 07,13 * * ? *)`
これだと7:45,7:50,13:45,13:50に実行されちゃうしcrontabだと2行に分けて書いているけど
CloudFormationではどう書くの???
もしかしていいかんじに1行で書けたりする???
と悩んだのでメモしておきます。*※これのScheduleExpressionの指定の話です*
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html# まず結論
ワンライナーでがんばるとこじゃなかったっぽい。
無理せずcfnのTaskSch
AWS Kinesis data streams とiOSの連携に苦しんだので、記事化しておきたい
# はじめに
この記事は筆者がiOSとAWSの連携をしていたときに苦しんだため書いたものである。筆者の備忘録的な意味合いもあるため、わかりずらさがあったらすいません。– 苦しんだ理由
1. Kinesis data streams との関連記事がなんか古い(2015年とか)けどとりあえず実装してみるかという甘い考えでいた。
2. swift Jsonなどの知識不足## 実際起こった問題
AWSKinesis iOSでググると2015年の記事がいっぱい出てくる、それを実装しても曖昧な関数なので、ダメです!とかいうエラーが出てよくわかんない## 完成形のコード
– 前提条件
cocoapods,AWSCore,AWSKinesis,AWSCognitoはimportで宣言済みlet kinesisRecorder = AWSKinesisRecorder.default()
let jsonStr = “””{\”hogehoge\”: \”hogehoge\”,\”mobile_timestamp\”: \”2016-03-16 0
AWS Security Hub のセキュリティ標準チェックが自動で有効化される条件
※ 2020/3/25 時点の挙動を元に記載しているため、今後変更される可能性があります
## Security Hubを有効化する方法によって挙動が異なる
AWS CLI や AWS SDK など EnableSecurityHub API を使用して Security Hubを有効化した場合、
CIS AWS Foundations Benchmark のセキュリティ標準チェックも自動で有効化されます。
2020/2/13 から利用可能になった PCI DSS のセキュリティ標準チェックは有効化されないため
利用者が明示的に有効化する必要があります。
以下の API リファレンスにも記載があります。**AWS Security Hub > API Reference > EnableSecurityHub**
https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_EnableSecurityHub.html> When you use the EnableSecurityHub operation to
2019年度の AWS What’s New を集計してみた
# 結果
![aws_whats_new_FY2019.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559634/b590b3df-bc40-6a5d-25fc-9bc3692be937.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559634/1d10c17a-6379-4e8b-0575-a9775fc93ce7.png)# 概要
* What’s New のアーカイブから 2019/4/1~2020/3/20 のアップデートを取得(Python の Beautiful Soup を利用)
* https://aws.amazon.com/about-aws/whats-new/2019/
* https://aws.amazon.com/about-aws/whats-new/2020/
* 件名から、えいやでサービスを分類するロジックを組んで集計(機械学習とかおしゃれなこ
【実務未経験】AWS認定ソリューションアーキテクト – アソシエイト(新バージョンSAA-C02)合格体験記
# はじめに
実務未経験の研究開発エンジニアがAWS認定ソリューションアーキテクト – アソシエイトに合格したので振り返りの記事です。
土日勉強して月曜に受験したいと考えていたら、意図せず新バージョン公開当日(2020年3月23日)に受験することとなりました…
新バージョンについては、まだ対応した教材が発売されていないと思うので(確認はしておりません…)、既存の教材で勉強している方の参考になれば嬉しいです。# 受験時の知識レベル
– IT系研究開発エンジニア
– 基本情報技術者・応用情報技術者・AWS認定クラウドプラクティショナー取得済み
– AWS経験
– 冗長構成でWordPressブログを立ち上げるハンズオンを経験
– 独学でAPI Gateway・Lambda・RDSを用いたAPIを構築
– [Architecting on AWS](https://www.aws.training/SessionSearch?pageNumber=1&courseId=10002)を受講
– 実務は未経験
– ネットワーク知識は上記IPA試験の勉強のみ
Nuxt.jsをServerlessでデプロイするにあたってぶつかった4つの壁
# 概要
今回の内容は下記の技術解説記事になります。
[爆速でLambda@edgeにNuxt.jsを構築できるテンプレートを作った](https://qiita.com/Karibash/items/af8762bdd3e3f27d963d)## AWSへのデプロイを自動化
今回デプロイ作業を自動化するにあたって下記の2種類候補がありました。
1. [Serverless Framework](https://github.com/serverless/serverless)を使う方法
2. [Serverless Components](https://github.com/serverless/components)を使う方法開発初期段階では[Serverless Framework](https://github.com/serverless/serverless)を使っていたのですが、
とある理由で[Serverless Components](https://github.com/serverless/components)を使う方針に切り替えました。### な
AWS CLIで現在作業中のアカウント情報を確認する方法
AWS CLIで現在作業中のアカウント情報を確認する方法を備忘録的に書いていきます。
##JSON形式で情報取得する
`GetCallerIdentity`というものがあるらしく、これを使うことでJSON形式で情報を取得することができます。“`
$ aws sts get-caller-identity{
“Account”: “123456789012”,
“UserId”: “AIDAXXXXXXXXXXXXXXXXX”,
“Arn”: “arn:aws:iam::123456789012:user/user_name”
}
“`##特定の情報だけを取得する
特定の情報だけを取得したい場合は`query`オプションなどを使って取得することができます。(`output`オプションを使ってるのはダブルコーテーションを省くためです)“`
$ aws sts get-caller-identity –query ‘Account’ –output text
“`##ユーザー名だけを取得する
ユーザー名だけを取得したい場合は、色々な
warning: already initialized constant Rack::Utils::ParameterTypeError などのrack utils のエラーの解決例
#1.どんなエラー?
デプロイをしたときにユニコーンのバージョンがローカルとずれてしまい、ユニコーンをダウングレードしたときにでたエラーで、連動して動けなくなってしまったgemを表示したものでした
CloudFrontのx-edge-request-idをAPI側に渡す方法#概要
データを分析するにあたってエッジロケーションからのリクエスト単位で集計をしたく、CloudFrontのログに出力されているx-edge-request-idを使用するという事になったx-edge-request-idはレスポンスヘッダではx-amz-cf-idとして出力されるのでてっきりOriginにもx-amz-cf-idに同じ値が格納されていると思っていた
しかし検証した結果、OriginでCloudFrontからのリクエストを受け取った際にx-amz-cf-idはあるにはあるが
ヘッダに格納されているx-amz-cf-idの値がx-edge-request-idとは異なる値になっていたこれを解消するために調査した結果を記しておく
#結論
Lambda@EdgeをOrigin Requestに設置し、リクエストを中継する
Originに渡されるx-amz-cf-idがx-edge-request-idと同じになる#Lambda@Edgeのサンプルコード
“`event.py
import jsondef lambda_handler(event,
【メモ】Amazon Linux 2 でDjangoを動かす
## OSを最新の状態にする
“`
$ sudo yum update -y
“`## pythonを入れる
pythonに必要な物を入れる“`
$ sudo yum install git gcc zlib-devel libffi-devel bzip2-devel readline-devel openssl-devel sqlite-devel
“`pyenvを入れる
“`
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
“`
パスを通す“`
$ echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.bash_profile
$ echo ‘export PATH=”$PYENV_ROOT/bin:$PATH”‘ >> ~/.bash_profile
$ echo -e ‘if command -v pyenv 1>/dev/null 2>&1; then\n eval “$(pyenv init -)”\nfi’ >> ~/.bash_prof
AWS Amplify Consoleを使ってReactアプリのCICD環境を10分で作る
# はじめに
AWS Amplify Consoleを使うと、Reactアプリなどのフロントエンドアプリを簡単にデプロイできるCICD環境が作れます。驚くほど簡単で早いです。
「[AWS S3 + CloudFrontでReactアプリをHTTPS公開するための正しい構成](https://qiita.com/NorihitoYamamoto/items/63df7d87dfd67628d775)」や「[AWS Codepipelineを使ってReactアプリのCI環境をゼロから作る](https://qiita.com/NorihitoYamamoto/items/a463c5641bc3401a4439)」で作ってきた環境を数ステップ、10分以内で作成できます。また、リポジトリのブランチに合わせて環境を簡単に作っていくことができるのも非常に便利です。ただし、制約もあります([Amplifyの制約](#amplifyの制約))。# 作成するもの
Amplifyを使って、GitHubにpushしたコードを、自動的にCloudFront+S3環境にビルドしデプロイする環境です。Clo
Amazon SES経由のバウンスメールをWebアプリで受け取る
こんにちは、[MYLOPS](https://mylops.jp/)のエンジニアの後河内です。
当社では、WEBアプリのメールサービスに[Amazon SES](https://aws.amazon.com/jp/ses/)を利用することが多いです。
以前、こちらに、[Amazon SESとPostfixの連携でハマったポイント](https://qiita.com/ushirog/items/bd0e890e22b01c474352)といった記事も書きました。さて、今回ですが、CakePHP2で作成したWEBアプリでSES経由でメール送っていたのですが、その際にバウンスメールになったものをWEBアプリ側で受け取りその結果を管理者画面に表示できないかという相談を受け調査しましたので、その調査結果などをまとめていきたい思います。
SESからのメールのバウンスをWEBアプリで扱うにはどうしたらいいのか調べたところ、Amazon SNS([Amazon Simple Notification Service とは](https://docs.aws.amazon.com/ja_jp/s
【初心者向け】AWS Amplify Console + MkDocs で気軽に始める Web サイト公開
# はじめに
[**Amplify Console**](https://aws.amazon.com/jp/amplify/console/) は、簡単にWeb サイトを公開できるサービスです。[**MkDocs**](https://www.mkdocs.org/) はMarkdown から HTML を生成する[静的サイトジェネレーター](https://qiita.com/shinya_sato_qiita/items/03259dc82b7ded62810b)です。この記事では、Amplify Console とMkDocs を使って、Markdown の内容をインターネットに公開する方法をチュートリアル形式で紹介します。# 対象読者
以下の条件に当てはまる方を想定しています。– GitHub にコンテンツを push したら、勝手にインターネット公開までしてくれるような仕組みを知りたい。
– 独自ドメインでHTTPS 対応のWeb サイトを、インターネット公開したい。
– 所属しているチームでAWS を使っており、Web サイトもAWS でインターネット公開したい。
[はじめて]失敗から学んだEC2のセキュリティグループ【接続できない】
#概要
はじめてEC2のインスタンスをテンプレートから作成した時に、うっかり設定もれでWebサーバーに接続できなかったときの記録とその原因となったセキュリティグループの説明です。#前提条件
記事内容に関して以下の条件があります。
– ウェブサーバーはインストールされているものとします。
– 設定方法、サービスのインストール、開始などのLinuxコマンドは省略します。
– 技術的に深い内容ではありません。#間違えていた設定内容
以下の設定値でテンプレートからインスタンスの作成をすすめていました。
入門書など読むとテンプレートからインスタンスを作成すればすぐに自分が用意したウェブサーバーにアクセスできるようでしたが、私の場合は接続タイムアウトになってしまいました。以下が設定内容です。
EC2の起動テンプレートからEC2のインスタンスを作成。()内は設定内容
1.AMI の選択(Amazon Linux 2 AMI (HVM))
2.インスタンスタイプの選択(t2.micro)
3. インスタンスの設定(デフォルトの設定)
4. ストレー