- 1. AWS Toolkitをインストールする
- 2. AWS ChaliceからLambda Powertoolsを使ってみた
- 3. AWS Certified Cloud Practitioner 合格しました
- 4. AWS CDK(Python) 環境構築メモ
- 5. AWS SAM CLI をインストールする
- 6. GitHub Checks APIをGitHub Actionsで使う!AWS EventBridgeの結果をGitHub Checksに反映させる!
- 7. MIRACLE LINUX 8.4をAWSでセットアップする
- 8. iPhoneのショートカットに関するポートフォリオを作成しました【Laravel /Vue.js/ Docker / AWS / CircleCI】
- 9. AppSync API にカスタムドメインを設定する
- 10. SAMとGoのテンプレートエンジンでSSR
- 11. PythonでのLambda環境変数の取得
- 12. AWS Certified Advanced Networking – Specialty 合格しました
- 13. AWS認定クラウドプラクティショナー受験で`失格`した話
- 14. AWS Storage – S3 vs EBS vs EFS 比較
- 15. PythonでのLambda関数共通DynamoDB操作Util
- 16. AWS Lambda クォータ
- 17. Amazon EC2へパスワード認証でSSH接続できるユーザーを追加する
- 18. AWS 認定 ソリューションアーキテクト – プロフェッショナル(SAP-C01)に合格できたので体験記を残す
- 19. amplify delete で全て無にする話
- 20. Pythonでの Lambda関数共通ユーザ(cognito)操作Util
AWS Toolkitをインストールする
WebStormを起動します。
メニューから、「Plugins」をクリックします。
![スクリーンショット 2021-12-28 10.49.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/06a05ed2-e9ae-0185-4500-a178c85700b0.png)Marketplaceから、AWS Toolkitを探し、「install」をクリックします。
![スクリーンショット 2021-12-28 10.51.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/d4a18aec-eb01-057b-258e-0a53825a0775.png)WebStormを再起動します。
AWS ChaliceからLambda Powertoolsを使ってみた
# 1.はじめに
みなさんLambda Powertoolsはご存知でしょうか?Lambda関数用のライブラリで、X-Rayによるトレース、ログ出力、CloudWatchのカスタムメトリクスの作成等々が簡単に実装できる優れモノです。
現在対応している言語はPython、Javaの2つですが、今回はPython向けのサーバレスフレームワークであるChaliceの中でLambda Powertoolsを使う方法を紹介していきたいと思います。
Chalice&Lambda Powertoolsって何やねんという方は、記事の末尾に参考のリンクを貼ってますので興味があればご覧ください。# 2.ChaliceからLambda Powertoolsを使う方法
以下、ライブラリのインストールも含め手順を書いていきたいと思います。## 2-1.ライブラリのインストール
まずは事前準備として開発環境にChalice、Lambda Powertoolsをインストールします。
シンプルにpipでインストールできます。“`
$ pip install chalice
$ pip install
AWS Certified Cloud Practitioner 合格しました
先日、AWS認定クラウドプラクティショナーの試験を受験し、合格しました!
その記録を残しておきます。AWSを業務で扱い始めて2年余りです。これまでにアソシエイトとスペシャリティを全部取得しました。残りはクラウドプラクティショナーとプロフェッショナルのみという状況でした。アソシエイトを受ける前に最初にクラウドプラクティショナーを取ればよかったのですが、取りそこねていたので、いまさら受験することにしました。
今回の受験は、前回のネットワークスペシャリティ受験の1時間後です。AWSの認定資格としては10個目、今月(2021年12月)は5個目です。今月はこれで最後です。
2021年12月の受験履歴 (リンク先は合格体験記)
– [データアナリティクス専門知識](https://qiita.com/suzuki-navi/items/936741e02a5869856ad8)
– [SysOpsアドミニストレータアソシエイト](https://qiita.com/suzuki-navi/items/ebfde17bfed3eec97261)
– [セキュリティ専門知識](https:/
AWS CDK(Python) 環境構築メモ
自分用メモです。
ご参考になれば幸いです。■ローカル環境(Windows)へのCDK環境構築手順
・git導入(サンプルコードダウンロード用)
https://git-scm.com/download/win・AWS CLI導入
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-windows.html#install-msi-on-windows・クレデンシャル登録(AWS Configure実施※対象リージョン分実施)
aws configure
aws configure –profile us-east-1・Node.js8.0以上導入
https://nodejs.org/ja/・CDK導入
コマンドプロンプトで下記コマンド実行
npm install -g aws-cdk・Python3導入
https://www.python.org/downloads/windows/・エディタ(VisualStudio Code+Python拡張)
https://code.vi
AWS SAM CLI をインストールする
# インストールする
Homebrewを使って、AWS SAM CLIをインストールします。
以下のコマンドを実行します。“`
brew tap aws/tap
brew install aws-sam-cli
“`インストールを確認します。
以下のコマンドを実行します。“`
sam –version
“`# アップグーレードする
以下のコマンドを実行します。“`
brew upgrade aws-sam-cli
“`# アンインストールする
以下のコマンドを実行します。“`
brew uninstall aws-sam-cli
“`
GitHub Checks APIをGitHub Actionsで使う!AWS EventBridgeの結果をGitHub Checksに反映させる!
この記事は[はてなエンジニア Advent Calendar 2021](https://qiita.com/advent-calendar/2021/hatena)の23日目の記事です。
昨日は @polamjag による[DevTools の Web 技術でできている部分を覗き見る](https://polamjag.hatenablog.jp/entry/2021/12/22/100000)でした。
今回は[Github Checks API](https://docs.github.com/ja/rest/guides/getting-started-with-the-checks-api)を活用して、プルリクエスト上でリリースまでに必要なテストを正常に終えているか確認できるようにするレシピを考えてみました!実際に手を動かして動かしてみたいので、モデルケースを想定し、そのケースに登場するプルリクエストで活用することを考えてみます。今回メインに説明したいのは、`GitHub Actions`周りであるのですが、`AWS EventBridge`に絡めると面白いのでその内容に
MIRACLE LINUX 8.4をAWSでセットアップする
MIRACLE LINUX 8.4が無償化されてだいぶ経ちましたが、先日AWS用のAMIイメージが出てきましたので、セットアップ方法を簡単に説明してみます。AMIの作りがちょっと作りが面白いというか、ガチの日本のSIer向けだなあと思ったりするところもあるので。
* リージョンをアジアパシフィック(東京)、ap-northeast-1 に切り替えます。
北米リージョンなどではAMIを選択できません。* マネージメントコンソールから「仮想マシンの起動」を選択
![ml-aws-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654173/02bb8bed-eec6-af8d-060c-67c68b74cd5d.png)* インスタンスウィザード ステップ 1: Amazon マシンイメージ (AMI) で MIRACLE で検索
![ml-aws-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654173/
iPhoneのショートカットに関するポートフォリオを作成しました【Laravel /Vue.js/ Docker / AWS / CircleCI】
## はじめに
### 記事の目的
ポートフォリオとして作成したWEBアプリケーションの紹介記事です。
iPhoneのショートカット機能に関するWEBアプリケーションを作成しました。
https://shortcutrecipe.com/
(↓途中からiPhoneのショートカットアプリに飛んでいます)
### 自己紹介
– WEBエンジニアへの転職活動を開始した未経験エンジニア
– 市役所の情報システム部門配属(事務職採用)
– 好きなものはiPhoneのショートカットとNotion
– 課題解決や便利なものを作ったり伝えたりする仕事がしたいため、エンジニアを目指す### 目次
[1. 作成したアプリについて【 概要と機能 】](#1-作成したアプ
AppSync API にカスタムドメインを設定する
## 概略
2021/12/06 に, AWS AppSync の API に対してカスタムドメインを設定できるようになりましたね!
→ [AWS AppSync が、AppSync GraphQL エンドポイントのカスタムドメイン名のサポートを開始](https://aws.amazon.com/jp/about-aws/whats-new/2021/12/aws-appsync-supports-custom-domain-names-appsync-graphql-endpoints/)以前まではカスタムドメインに対応していなかったため, AppSync API にカスタムドメインを付与するには, CloudFront 等を経由する必要がありました。(が, Appsync API への IP 制限(WAF 利用)や, Front アプリ側との接続がしづらかった印象です)
ということで今回は, AppSync API にカスタムドメインを付与してみます。結論はすごく簡単!という感じです。
## AWS AppSync API にカスタムドメインを設定する
進め方は, [公式
SAMとGoのテンプレートエンジンでSSR
静的なテンプレートを読み込んでSSRを行うWebアプリケーションを作成します。
## 前提知識
* AWS SAM と Golang を利用して Severless なWebアプリケーションを作成することができる。
* Golang の html/template パッケージを利用してHTML形式の文字列を標準出力することができる。(以後AWSとlangは省略して記述します)
## Lambdaで静的なファイルを扱う
様々な方法があるかもしれませんが、今回は `AWS Lambda Layer`[^1] を利用します。
この機能を利用することで、 HTMLやCSS等の静的なデータをLambdaのzipファイルに含めることができます。SAMでは、SAMのテンプレートファイル内に設定を記述することでLambda Layerを構築することができます[^2]。
## 構築
早速SAMでLambda Layerを利用したアプリケーションを構築してみましょう。
今回は以下のような単純なページを作成していきます。#前提
###環境変数の設定
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-envvars.html
環境変数は、関数の未公開バージョンで定義します。バージョンを公開するとき、他のバージョン固有の設定とともに、そのバージョンの環境変数がロックされます。
関数の環境変数を作成するには、キーと値を定義します。関数は、キーの名前を使用して、環境変数の値を取得します。
**Lambda コンソールで環境変数を設定するには**
1.Lambda コンソールで [Functions (関数)] ページを開きます。
2.関数を選択します。
3.**[Configuration]** (設定) を選択してから、**[Environment variables]** (環境変数) を選択します。
4.**[環境変数]** で、**[編集]** を選択します。
5.**[環境変数の追加]** を選択します
6.キーと値を入力します。
**Requirements**
&
AWS Certified Advanced Networking – Specialty 合格しました
先日、AWS認定ネットワーク専門知識の試験を受験し、合格しました!
その記録を残しておきます。今回の受験は、前回のセキュリティの数日後です。AWSの認定資格としては9個目、今月(2021年12月)は4個目です。
2021年12月の受験履歴 (リンク先は合格体験記)
– [データアナリティクス専門知識](https://qiita.com/suzuki-navi/items/936741e02a5869856ad8)
– [SysOpsアドミニストレータアソシエイト](https://qiita.com/suzuki-navi/items/ebfde17bfed3eec97261)
– [セキュリティ専門知識](https://qiita.com/suzuki-navi/items/867c7f48b1c39e179808)
– ネットワーク専門知識 (今回)[データベース](https://qiita.com/suzuki-navi/items/59f8a4a94ad9a22dd569)と[機械学習](https://qiita.com/suzuki-navi/items/
AWS認定クラウドプラクティショナー受験で`失格`した話
# 目次
– [始めに](#始めに)
– [AWS認定クラウドプラクティショナーとは](#aws認定クラウドプラクティショナーとは)
– [受験した理由](#受験した理由)
– [試験勉強と試験当日の注意](#試験勉強と試験当日の注意)
– [試験の申込](#試験の申込)
– [試験方式はオンラインのみ](#試験方式はオンラインのみ)
– [事前に受験環境の確認](#事前に受験環境の確認)
– [試験勉強](#試験勉強)
– [受験勉強開始前の知識レベル](#受験勉強開始前の知識レベル)
– [学習期間](#学習期間)
– [参考資料](#参考資料)
– [学習方法](#学習方法)
– [試験当日](#試験当日)
– [準備](#準備)
– [試験開始](#試験開始)
– [チェックイン](#チェックイン)
– [試験官とのやり取り](#試験官とのやり取り)
– [試験](#試験)
– [試験終了、まさかの`失格`](#試験終了まさかの失格)
– [その後](#その後)# 始めに
## AWS認定クラウドプ
AWS Storage – S3 vs EBS vs EFS 比較
# はじめに
AWS中にS3,EBSとEFS三つタイプのストーレジがよく使われています。ユーザには特に初心者の方はよくこっちのストーレジに何の違うところがありますか?いつ利用しますかってという質問があります。# ストレージタイプについて
先に普通なストレージタイプを理解しましょう。
Block StorageとObject Storage二つタイプがあります。例として、もし100MBのファイルがあれば、###### Block Storag
Block Storageは一つ一つpieceで構成して、ファイルの更新がデータが変わるpieceだけ修正すれば大丈夫です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2349950/e2dd8257-208b-73bc-445e-a0a7ec8e3a3e.png)
###### Object Storage
ファイルを更新すれば、全部(100MB)を更新する必要があります。つまり、古いファイルを削除して、新規ファイルを作り直すイメージで
PythonでのLambda関数共通DynamoDB操作Util
#実装
“`dynamodb_util.py
import boto3dynamodb = boto3.resource(‘dynamodb’, endpoint_url=”XXXXXXX”)
class DynamoDB:
“””DynamoDBの操作(CRUD)クラス
Args:
table_name: テーブル名
Attributes:
table: DynamoDBテーブルのオブジェクト
“””def __init__(self, table_name):
try:
self.table = dynamodb.Table(table_name)
except Exception:
raisedef put_item(self, item_dict):
“””アイテム追加
Args:
item_dict: 追加情報
Returns:
AWS Lambda クォータ
#コンピューティングとストレージ
Lambda では、関数の実行と保存に使用できるコンピューティングおよびストレージリソースの量に対してクォータを設定します。以下のクォータは、AWS リージョンごとに適用されており、引き上げることができます。詳細については、Service Quotas ユーザーガイドの「クォータの引き上げのリクエスト」を参照してください。リソース|デフォルトのクォータ|引き上げることができる最大
—|—|—
同時実行数|1,000|数万
アップロードされた関数 (.zip ファイルアーカイブ) とレイヤーのストレージ。各関数バージョンとレイヤーバージョンは、ストレージを消費します。コードストレージ管理のベストプラクティスについては、Lambda オペレータガイドの Lambda コードストレージのモニタリングを参照してください。|75 GB|Terabytes
コンテナイメージとして定義された関数のストレージ。これらのイメージは Amazon ECR に保存されます。|「Amazon ECR サービスクォータ」を参照してください。|
Virtual P
Amazon EC2へパスワード認証でSSH接続できるユーザーを追加する
## Goal
無料利用枠に含まれるAmazon Linux 2のAMIを使用して作成したAmazon EC2インスタンスへパスワード認証でSSH接続できるユーザーを追加する際の手順を示します。
## References
本文の手順は、次の文書を参考に作成しました。
* [“RHEL 8のCLOUD-INITの設定および管理”](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/configuring_and_managing_cloud-init_for_rhel_8/index). Red Hat, Inc. Retrieved December 27, 2021.
## Pre-Requisites
本文の手順で使用するAMIの詳細は、次の通りです。
* Amazon Linux 2 AMI (HVM) – Kernel 5.10, SSD Volume Type – ami-0218d08a1f9dac831 (64 ビット x86) / ami-09d4b
AWS 認定 ソリューションアーキテクト – プロフェッショナル(SAP-C01)に合格できたので体験記を残す
# はじめに
2019年にソリューションアーキテクトアソシエイトの認定は取得していたのですが、更なる高みを目指して受験してみることにしました。
受験すると決意したのが今年(2021年)の5月末ぐらいでしたので、7ヶ月ぐらい準備してきたことになります。
せっかくなので後進のために自分が体験してきたことを記事として残します。# 準備
まずはこの記事を参考にどうやって勉強しようか考えました。https://qiita.com/sakai-y/items/c2d353e0340510d8d794
## 基本は書籍
まずは書籍からかなぁと思ったので、とりあえずこちらの本
(というか当時はこれしかなかった気がします)を買いました。
問題量、解説ともに充実していて結構オススメです。https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%
amplify delete で全て無にする話
# 概略
PoC で構築した Amplify ベースの Web アプリをまるっと消しこむことがあったので, その話を書きます。
`amplify delete` で一気にやります。## amplify delete とは
Amplify CLI で使えるコマンドのうち, `amplify delete` というものが存在します。
手が滑って以前の PoC 案件で `amplify delete` してしまって空を仰いだことがあるのですが, このコマンド, 軽率に打ち込める割にパワーがあります。
ざっくり一言で表すと, Amplify で管理されているものを全て消すコマンドって感じです。ちなみに `amplify help` で得られる情報は以下。
“`bash
$ amplify help
… …
delete Deletes all of the resources tied to the project from the cloud.
“`クラウド上から現在のプロジェクトに関連するリソースを全て削除する, とのこと。
実際に打ち込んで
Pythonでの Lambda関数共通ユーザ(cognito)操作Util
#実装
“`user_utils.py
# -*- coding: utf-8 -*-
import secrets
import string
import boto3USERPOOL_ID = ‘USERPOOL_ID’
client = boto3.client(‘cognito-idp’)def show_user_list():
“””Cognitoおよびエンティティからユーザリストを取得する(最大60名)
Returns:
ユーザ情報(ユーザーID、ユーザー名、状態、グループ権限)
“””
def _user_list(pagination_token=None):
“”” Cognitoユーザーリストの再帰取得
Args:
pagination_token: 前回呼び出しトークンReturns:
ユーザ情報(ユーザーID、ユーザー名、状態、グループ権限)
“””
if paginati