- 1. 運用が楽なQuickSightダッシュボードを作る_2(説明文挿入)
- 2. Terraform AWS Provider v4.0.0 への変更を自動生成する
- 3. AWS 初心者向けハンズオンやってみた#1
- 4. CDKってなに?AWSの公式動画見たからまとめた。
- 5. クラウドプラクティショナーに合格するまでの話と感想
- 6. AWS Cognito の JSON Web キーセット を取得
- 7. AWS クラウドプラティクショナー 流し見用 part6
- 8. AWS公式資料で挑むSCS認定(1)-計画を立てる
- 9. CloudFront用のManaged prefix listを試してみました
- 10. CDK Pipelines管理下のStackをローカルから直接デプロイする
- 11. AWS Certified Machine Learning – Specialtyに合格したので勉強方法を書いておく(11冠達成)
- 12. Amazon LightsailでRailsアプリをデプロイしたい(PostgreSQL)
- 13. AWSエンジニアのためのAzure Administrator対策
- 14. Python3: Cognito から Access Token を取得
- 15. API Gateway + Lambda(Python) の REST API でステータスコード管理をする
- 16. AWS CDK コーディングに詰まった時に試していること
- 17. Node.js: Cognito から Access Token を取得
- 18. AWS CodeBuilde で Cypress を実行する
- 19. AWS Secrets Manager ってなに?
- 20. ECSとStep Functionsで並列分散バッチ処理を行う 【CDK(TypeScript)版】
運用が楽なQuickSightダッシュボードを作る_2(説明文挿入)
# はじめに
ダッシュボードの中に「その数値や、グラフになった理由」や「前回との変更点」など、可視化されたデータだけではわからない内容を、説明文として付け加えたい、という要望があると思います。
せっかく可視化したデータがあっても、見てほしい人が「グラフの読み方がわからない」や「何が言いたいのかわからない」などで見てもらえなくなってしまい、使われなくなることがあると聞きます。今回は、以下の記事で作成したQuickSightのダッシュボードを用いて、日本語の説明文を挿入する方法を紹介します。
https://qiita.com/a_b_/items/b9a14658edce4c2ecad8
# やること
– インサイトというパーツを使用
– その中に説明文が書けます。
– “ダッシュボード”に反映
– “分析”のビジュアルを更新したら、”ダッシュボード”に反映する必要があります。# よくありそうな課題
– グラフだけじゃわからない内容がある
– 前回との差分
– データの傾向が大きく変わった理由の洞察
– それらを説明する文章を入れ込みたい
Terraform AWS Provider v4.0.0 への変更を自動生成する
Terraform AWS Provider v4.0.0 では主にS3まわりのリソース定義に大きなBreaking Changeが入り、バージョンをアップデートする前に tf ファイルを書き換えていく必要があります。
書き換え方法は以下にまとまっています。
[Terraform AWS Provider Version 4 Upgrade Guide](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/version-4-upgrade)
とは言っても、S3の定義はたくさんあるだろうし、手動で書き換えていくのはたいへんです。
自動で生成できないかと [hclwrite](https://pkg.go.dev/github.com/hashicorp/hcl/v2/hclwrite) を使ってツールを実装し始めていたのですが、このライブラリの使用例をGitHubで検索したところ、既に同じことをやっているツールが存在したのでご紹介します。
## tfmigrate
Reposito
AWS 初心者向けハンズオンやってみた#1
## はじめに
AWS Certified SysOps Administrator – Associateのハンズオンを乗り切るために、勉強したことをなんとなくまとめていきます。行うこと
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/
Security #1 アカウント作成後すぐやるセキュリティ対策本人情報
IT現場雑用員(SEで採用されながら一生Excel触ってる人)
半年前にAWS SAA取得済み## 02 AWSのセキュリティ
AWSでは責任共有モデルを採用しているため、AWS側で責任を持つ範囲とユーザー側で責任を持つ範囲の線引きを明確に行い、やるべきことに注力することができます。
AWS側でのセキュリティが具体的にどのようになっているかは、AWS クラウドコンプライアンスを確認することで調べることができます。下記サイトに責任共有モデルの図もあったので、資格試験の勉強をしている人は1度見た方がいいと思います。また、動画内で紹介していたホワイトペーパーや国ごとのデー
CDKってなに?AWSの公式動画見たからまとめた。
##・CDKってなに?
CDKについては、ざっくりコードでインフラ構築できる、くらいに認識していたが、業務で触れることになったので一通り勉強したので備忘録としてまとめます。
AWSの公式がyoutubeに講演の動画をあげてくれてたのでそれをみてのまとめになります。
指摘などは大歓迎です。##・CDKとは
自分の慣れ親しんだコード(TypescriptやJava,Pythonなど)でインフラコードを記載できます。
今までは、jsonやyamlなどでインフラエンジニアが主に触るという認識でしたが、CDKによってフロントエンジニアやサーバーサイドエンジニアにも距離の近いものになった。##・CDK発祥の経緯
CDKもJSONのインフラコードも目的は一緒でシステムの環境を構築すること。
その手段としては、以下のものがある。
###コンソール:
手動で簡単というメリットはありますが、デメリットとして繰り返し使えない、手動なのでミスが起きやすい、時間がかかる。###cloudFormation:
jsonやyamlで環境を構築
クラウドプラクティショナーに合格するまでの話と感想
# クラウドプラクティショナーに合格するまでの話と感想
先日、クラウドプラクティショナーに合格したので、それまでの道のりを残したいと思います。
まず、AWSを初めて触ったのは、2021年10月です。
参加したインターンシップでAWSが使われていたので、それをきっかけに触り始めました。
AWSを触っていると、どんどん興味が出てきたので、とりあえずAWS全体について知るために、クラウドプラクティショナーを取ろうと決めました。## 利用した教材
利用した教材は、2つです。
– [この問題だけで合格可能!AWS 認定クラウドプラクティショナー 模擬試験問題集](https://www.udemy.com/course/aws-4260/)
– [AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A
AWS Cognito の JSON Web キーセット を取得
次のページを参考にしました。
[JSON web トークンの検証](https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html)“`bash
REGION=”ap-northeast-1″
USER_POOL_ID=”ap-northeast-1_123abcdef”ISSUER=https://cognito-idp.${REGION}.amazonaws.com/${USER_POOL_ID}
JWKS_URL=${ISSUER}/.well-known/jwks.jsonwget ${JWKS_URL}
“`実行すると、
jwks.json がダウンロードされます。
AWS クラウドプラティクショナー 流し見用 part6
●オンプレミスでホストされる仮想サーバーに相当するAWSサービス
EC2(Elastic Compute Cloud)
AWSクラウドでサイズが変更できるコンピューティング/仮想サーバーを提供するサービス
オンプレミス環境にあるサーバーと同じ性能を持ったサーバーをインターネット上で瞬時に作成する事ができる●AWSのEC2インスタンスのCPU使用率を監視するために利用するべきサービス
CloudWatch
AWSリソースとAWSで実行するアプリケーションのモニタリングサービス
EC2インスタンスのモニタリングをダッシュボードに表示させることで、CPU使用率を監視する事ができる●EC2インスタンスへの外部PCからのアクセスを制御したいときに利用する機能
セキュリティグループ
セキュリティグループはEC2インスタンスやDBインスタンスなどのインスタンスの通信トラフィックを制御するファイアウォール、HTTPやSSHなどのプロトコルを指定して通信を許可する設定を行う事ができる●オンデマンドインスタンス
一週間という期限だけで利用する場合はオンデマンドインスタンスを利用する
オンデマン
AWS公式資料で挑むSCS認定(1)-計画を立てる
## はじめに
自分にとって初めてのAWS認定となる、SCS(AWS Certified Security – Specialty)の試験準備を本日から開始します。
AWS公式資料をしっかり勉強し、認定試験に挑もうと思います。
「えー、問題集たくさん解かなくていい?」と、ご指摘の声が聞こえてきます。
今回は、学生時代から教わった「教科書の基本が最重要」を信じて挑戦してみます。## ブログ記事は認定受かってから書いても。。。
受験宣言し、準備過程を公開・共有する理由は、
– 退路を断つ、途中で投げ出さないように
– プレッシャーが一番のモチベーション
– どなたか間違いを突っ込んでくださるのではと期待
– 切磋琢磨しながらゴールに向かう仲間が現れたら幸甚## SCS資格とは
[AWS認定ページ](https://aws.amazon.com/jp/certification/certified-security-specialty/)から抜粋しますと:
「この資格は、組織がクラウドイニシアチブを実装するための重要なスキルを持つ人材を特定して育成するのに役立ちます。AWS
CloudFront用のManaged prefix listを試してみました
#はじめに
CloudFront用のManaged prefix listが利用できるようになったということで、試してみました。
※中国、ジャカルタ、大阪リージョンではまだ利用はできないようです。[Amazon VPCでAmazon CloudFront向けのAWS Managed prefix listが利用可能に](https://aws.amazon.com/jp/about-aws/whats-new/2022/02/amazon-cloudfront-managed-prefix-list/)
#検証構成
#検証準備
* Test用Webサーバ#1、#2をAmazon Linux2でデプロイ
* Test用Webサーバ#1、#2にApacheをインストール
* Test表示用のページとしてそれぞれのサーバに以下ファイルを作成
CDK Pipelines管理下のStackをローカルから直接デプロイする
## はじめに
CDK Pipelinesで管理されたStackを、Pipelineを介さずにローカル環境などから直にデプロイしたいことがある。
本記事ではこの方法を紹介する。## 方法
次のように `cdk deploy` コマンドを実行すれば良い。“`sh
npx cdk deploy/ /
“`例えば以下のコードを考える。
“`ts
import * as cdk from ‘@aws-cdk/core’;
import * as pipelines from ‘aws-cdk-lib/aws-pipelines’;
const app = new cdk.App();// CDK Pipelinesを定義するStack
const pipelineStack = new cdk.Stack(app, ‘PipelineStack’);
const pipeline = new pipelines.CodePipeline(pipelineStack, ‘Pipeline’,
AWS Certified Machine Learning – Specialtyに合格したので勉強方法を書いておく(11冠達成)
AWS Certified Machine Learning – Specialtyに合格したので、勉強方法を備忘として書いておきます。参考になれば幸いです。
職業:現在インフラエンジニア6年目でAWSをメインに設計構築をするようになって、2年くらい。
最近はもっぱらオンプレミスからAWSへの移行などのコンサルをやることが多いです。
AWSをやる前は、VMwareやWindows、Linuxなどいろいろやってましたが、
今では、AWSが得意!と言えるくらいになってます。他のAWS関連の資格:
ソリューションアーキテクトアソシエイト(SAA)(2018年取得)
SysOpsアドミニストレータアソシエイト(SOA)(2019年取得)
ソリューションアーキテクトプロフェッショナル(SAP)(2020年取得)
セキュリティ – 専門知識(SCS)(2021年取得)
デベロッパーアソシエイト(DVA)(2021年取得)
クラウドプラクティショナー(CLF)(2021年取得)
DevOpsプロフェッショナル (DOP)(2021年取得)
データベース – 専門知識 (DBS)
Amazon LightsailでRailsアプリをデプロイしたい(PostgreSQL)
## やりたいこと
エンジニア階級「癸(みずのと)」なりに、フランス語のアプリをガチで個人開発しています。:flag_fr:
今回は、いよいよ本番リリース。
Amazon Lightsailで個人開発のRailsアプリをデプロイしたいです。Lightsailと言えど、サーバーのインスタンスとして使われているのはAWS EC2。基本的には下のリンクの記事を見れば、ある程度pikaわかるのですが(ほんとありがたい)、一部DBの設定などが違ったので自分がうまくいった手順を日記としてメモしておきたいと思います。
**全然体系立ってないですがご容赦ください!**
部分的に誰かの為にもなれば幸いです。https://pikawaka.com/rails/ec2_deploy
実際にデプロイしたサイトはこちら。
https://minnfra.com
フランス語勉強している方はぜひ使ってみてください。
## 実装!
### 1. インスタンスの作成
に合格しました。
以前Azure Fundamentals試験(AZ-900)に合格した際は下記の記事を投稿しましたが、本稿はその続編です。https://qiita.com/yuki_ink/items/417a52b8f42fca258171
#主に活用した教材
###[合格対策Microsoft認定試験AZ-104:Microsoft Azure Administratorテキスト&演習問題](https://www.amazon.co.jp/%E5%90%88%E6%A0%BC%E5%AF%BE%E7%AD%96Microsoft%E8%AA%8D%E5%AE%9A%E8%A9%A6%E9%A8%93AZ-104-Microsoft-Azure-Administrator%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-%E6%BC%94%E7%BF%92%E5%95%8F%E9%A1%8C/dp/48659430
Python3: Cognito から Access Token を取得
AWS の Cognito から JWT Access Token を取得する方法です。
AuthFlow は ADMIN_USER_PASSWORD_AUTH です。
次のページを参考にしました。
[PythonでAWS Cognito認証](https://qiita.com/jp_ibis/items/4fffb3c924504f0ce6fb)“`py:get_token.py
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
# get_token.py
#
# Feb/19/2022
#
# ——————————————————————
import sys
import os
import boto3
from dotenv import load_dotenv
# ——————————————————————
def cognito_auth(p
API Gateway + Lambda(Python) の REST API でステータスコード管理をする
# 背景
API Gateway + Lambda(Python) の REST API があったのですが、えいやで作ったのでエラーハンドリングを全然していませんでした。
全てステータスコード200で返してパラメータでエラーかどうかを設定する方法のが簡単そうでしたが、やっぱり個人的に気持ち悪さを感じるのできっちりステータスコードを使い分けようと思いました。
AWS初心者の私には結構複雑だったのでメモっておきます。
自分的ベストプラクティスのつもりですが、一般的なベストプラクティスがあればぜひコメントください。# 結論
先にざっくりと結論から。### API Gateway の設定
– [メソッドレスポンスにステータスコードを追加する](#メソッドレスポンスにステータスコードを追加する)
– [総合レスポンスにステータスコードに対応するマッピングを追加する](#総合レスポンスにステータスコードに対応するマッピングを追加する)### Lambda でやること
– [マッピングに該当する”errorMessage”を返却する](#マッピングに該当するerrormessageを返却
AWS CDK コーディングに詰まった時に試していること
皆さんAWS CDK使ってますか?自分はCloudFormationを使ったことがないので、実感したことはないのですがyamlファイルを細かくいじったりデプロイ時の作業を想像すると断然CDK派だな〜と思ってますw
ところでこのCDK、CloudFormationより歴史が浅いことが関係しているのかなかなか情報が得にくいと感じています。例えばqiitaの検索数でもそれは明らかです(大体1/6くらいしか出てこない)。
そこでこの記事ではCDKで詰まった時に私がどういうことを試しながらコーディングを行っているかの一例を示したいと思います!
# レッツトライ
というわけで、詰まったら基本的に下記の優先度で情報収集しながらコードを書いています。
とりあえず何もできなかったところから始めて、今まで数スタック分のIaCをしてきましたが、最終的に解決できなかったことはないです。“`
(0. そもそもどんなインフラを作ろうとしているのか整理する)
1. AWS CDKのドキュメントを読む
2. ググって似たようなことをやってる日本語のページを探して読む
3. 日本語のページで情報が探せなか
Node.js: Cognito から Access Token を取得
AWS の Cognito から JWT Access Token を取得する方法です。
ライブラリーのインストール
“`bash
sudo npm install amazon-cognito-identity-js
“`“`js:get_token.js
// —————————————————————
//
// get_token.js
//
// Feb/19/2022
// —————————————————————
‘use strict’console.error(“*** start ***”)
var cognito = require(‘amazon-cognito-identity-js’)
const dotenv = require(‘dotenv’)
dotenv.config()
const user_pool_id = `${process.env.US
AWS CodeBuilde で Cypress を実行する
# やりたいこと
– AWS CodeBuild のビルドプロジェクトで Cypress E2E テストを実施したい
– ビルドプロジェクトの呼び出し元は Jenkins から行いたい
– 既存の CI/CD に追加する形で実現したかった既存の CI/CD 資産に追加する形で E2E テストを実現する方法を調査&お試し。
# 前提
– github 上に Cypress E2E プロジェクトを用意している# 設定
## AWS IAM
– Jenkins から CodeBuild を実行するためのユーザを作成する
– アタッチするポリシーは「AWSCodeBuildDeveloperAccess」
– ※もっと権限を絞った適切なポリシーがあるかも
– 作成した際の「アクセスキー ID」「シークレットキー」を Jenkins ジョブの AWS Configuration に設定する## AWS CodeBuild
– Cypress を実行する CodeBuild ビルドプロジェクトを作成する
– プロジェクトの設定
AWS Secrets Manager ってなに?
## 勉強前イメージ
パスワードを持ってくれるサービス?
雰囲気知ってるけどちゃんと知らんかも## 調査
### AWS Secrets Manager とは
様々なAWSのサービス、環境、アプリケーションに接続するためのパスワードなどの機密情報を管理するためのマネージドサービスです。
AWS CLIやAPI、SDKを使ってアクセスが可能です。どういうときに使われるかと言うと、
DBへアクセスしデータを取ってくるあプリケーションを作る際、アプリケーションにDBへの接続するための情報(パスワード)などを記載する必要があります。
このアプリケーションをバージョン管理ツールなどで管理している場合
パスワード情報が見れる状態になってしまい、セキュリティ的にも良い状態ではないです。
また、機密情報のローテーションが難しいため漏洩した際のセキュリティリスクが増えてしまいます。### AWS Secrets Manager の特徴
– アプリケーションで接続の際に機密情報を取得
アプリケーションで機密情報を持つのではなく、都度取得します。
履歴を保つ場合もあり、複数保持すること
ECSとStep Functionsで並列分散バッチ処理を行う 【CDK(TypeScript)版】
## はじめに
以下の記事で試したEventBridge、StepFunctions、ECS(Fargate)で構成されるバッチ処理と同等のものを、CDK(TypeScript)で記述・構築してみました。
https://qiita.com/ynstkt/items/c39abca73a02efaded1f
なお、アプリのDockerイメージをビルドしてECR登録する部分については、CI/CDパイプラインとして別途構築することになる想定のため、本記事の対象外とし、ECRのリポジトリ作成とDockerイメージ登録は既に済んでいる前提で記載しています。
## 準備
ちなみにCDK実行環境としてはdockerコンテナを使用しており、詳細は割愛しますが、node.jsの公式ベースイメージにTypeScriptとAWS CLIだけ追加インストールしたものになってます。
CDKプロジェクトを作成します。
“`bash
$ node –version
v16.13.2$ tsc –version
4.5.5$ cdk –version
2.9.0 (build a69