- 1. ドメイン駆動設計をキングクリムゾンで実装する
- 2. AWS認定Alexaスキルビルダー専門知識(AXS)を、ツンデレメイドスキルを作りながら取得したやったことまとめ
- 3. 【AWS】アカウント削除
- 4. MSP32にFreeRTOSを入れてAWSにつないでみました
- 5. GoでEC2describeinstanceをする
- 6. 【AWS】MFA多要素認証 – セキュリティの追加
- 7. AWS Client VPN の構築・設定(AWS公式VPNアプリ利用)
- 8. Terraform で構築した AWS AppSync で GraphQL を触る
- 9. TerraformでAmazon API Gatewayを構築する(ゲートウェイのレスポンス&ステージ詳細編)
- 10. 【AWS】IAM設定 – ユーザーやグループを管理と作成
- 11. SageMakerで利用できるDeepChemのためDockerfile
- 12. samで構築したBFFのCORSエラーが解消できなくて困った話
- 13. FireLensを使ってFargateコンテナのファイルログを転送してみた
- 14. EC2、SSHポート番号を変更するための手順。
- 15. serverlessを使ってLambdaにmultipart/form-dataでバイナリデータをアップロードする
- 16. 【AWS】ログイン – ルートユーザーサインイン
- 17. 【AWS・Python】SlackのEventAPIを利用してファイルの送受信してみる
- 18. 【AWS】アカウント申請 – 無料ベーシックプラン
- 19. 【AWS】開始前知っておくべきポイント – 無料利用枠
- 20. チャットアプリ制作
ドメイン駆動設計をキングクリムゾンで実装する
今回の記事では、ドメイン駆動設計を簡単に設計する方法について解説します。
ドメイン駆動設計が簡単に導入できない理由として、チーム間で共通したドメインの認識を持つためのドメインモデルの設計に苦労しているからだと思います。
今回はドメインモデルなしで簡単にドメイン駆動設計を行える方法を紹介します。#ドメイン駆動設計は要素還元主義
**還元主義とは、欠陥のある方法論、どんな複雑な現象でも単純な要素に還元し、そこから元の現象を復元できれば、その現象が理解されたと考える。**
ドメイン駆動設計は、全てのビジネスロジックをドメイン層の各要素に分解し、そこからビジネスロジックを組み立てれば全てのビジネスロジックを実現できると考えます。
しかし、ビジネスロジックが変更されたり、ドメイン層のモデルが誤っている場合、ビジネスロジックの組み立てに失敗します。
アジャイル手法などを用いて認識のずれを素早く修正するという方法もありますが、ドメイン駆動設計が**要素還元主義**という誤った思考方法で行われている以上、問題の根本的な解決にはなりません。#西洋式の因果律型モデル
西洋式の基本的な思考パターンと
AWS認定Alexaスキルビルダー専門知識(AXS)を、ツンデレメイドスキルを作りながら取得したやったことまとめ
# はじめに
AWS認定Alexaスキルビルダー専門知識(AXS)について、受験者数の絶対数が少ないのか試験対策に関する参考記事の投稿が少なく情報収集に苦労しました。今回実際に EchoShow8で動作するAlexaスキルを作りつつ、取得できた試験準備のコツなどについてまとめてみました。Alexaスキルビルダー専門知識に関わるAWS関連サービスのイメージを掴んでいただければ幸いです。
# 本記事の主な対象者
– AWS認定の他の試験区分は取得済みで、Alexaスキルビルダー専門知識の受験を検討している方
– 取得に向けて有効な学習方法などの情報収集したい方# 筆者のAWS認定履歴
|AWS認定 |取得日 |
|—|—|—|
|ソリューションアーキテクト – アソシエイト |2018-05-13|
|デベロッパー – アソシエイト |2018-06-03|
|SysOpsアドミニストレーター – アソシエイト | 2018-06-10|
|ソリューションアーキテクト – プロフェッショナル |2018-07-29|
|DevOpsエンジニア – プロフ
【AWS】アカウント削除
# アカウント使用の流れ
0. [開始前知っておくべきポイント](https://qiita.com/hello112334/items/d9beef22cc5d66fbf578)
1. [アカウント申請](https://qiita.com/hello112334/items/39548933eeec92af8486)
2. [ログイン](https://qiita.com/hello112334/items/235993219d1f16ac7434)
3. [IAM設定](https://qiita.com/hello112334/items/052f1232f6f54a2531c1)
4. [MFA多要素認証](https://qiita.com/hello112334/items/2180a1f59c4d4d69d4a4)
5. **アカウント削除**# 参考資料
請求については「Youtube」の「Amazon Web Services」を参照
手順については「Youtube」の「
MSP32にFreeRTOSを入れてAWSにつないでみました
# はじめに
IoT機器を触ってみようと思い、ESP32-DevKitCを入手して少しずつ試してます。ボードは秋月電子通商にて以下を入手。
[ESP32-DevKitC-32D](http://akizukidenshi.com/catalog/goods/search.aspx?search=x&keyword=M-13628)ESP32の入門的な部分はこちらの本で勉強させていただきました。
[IoT開発スタートブック](https://www.amazon.co.jp/dp/4297107368/ref=cm_sw_em_r_mt_dp_U_mtJgFb8470VZ6)今回はESP32にFreeRTOSを入れてAWSへ接続してみたので、その記録です。
AWSから提供されている手順に沿って進めます。
[Espressif ESP32-DevKitC と ESP-WROVER-KIT の開始方法](https://docs.aws.amazon.com/ja_jp/freertos/latest/userguide/getting_started_espressif.ht
GoでEC2describeinstanceをする
– リージョンを指定しないとだめだった(awsのdefaultのcredentialにセットされていても)
– DescribeInstancesは`err`にあたる部分のエラーハンドリング用の引数を指定しないと怒られた(そういうものなんですか)
– `./describe.go:32:33: multiple-value svc.DescribeInstances() in single-value context`“`golang
package main
import (
“fmt”“github.com/aws/aws-sdk-go/aws”
“github.com/aws/aws-sdk-go/aws/awserr”
“github.com/aws/aws-sdk-go/aws/session”
“github.com/aws/aws-sdk-go/service/ec2”
)func main() {
svc := ec2.New(
session.New(),
&aws.Config{
Region: aws.Stri
【AWS】MFA多要素認証 – セキュリティの追加
# アカウント使用の流れ
0. [開始前知っておくべきポイント](https://qiita.com/hello112334/items/d9beef22cc5d66fbf578)
1. [アカウント申請](https://qiita.com/hello112334/items/39548933eeec92af8486)
2. [ログイン](https://qiita.com/hello112334/items/235993219d1f16ac7434)
3. [IAM設定](https://qiita.com/hello112334/items/052f1232f6f54a2531c1)
4. **MFA多要素認証**
5. [アカウント削除](https://qiita.com/hello112334/items/a7943f064221b4bf0870)# 参考資料
AWS公式のビデオがないため、ビデオでの操作手順については、「Youtube」の「Android and Tech Solutions」を参照
https://www.youtube.com/watch?v=F
AWS Client VPN の構築・設定(AWS公式VPNアプリ利用)
# AWS Client VPNの構築・設定
今回はテレワークの促進で注目のAWSサービスの1つのであるAWS Clinet VPNをお試し構築してみます。
この手の記事は大量にありますが意外と記事の手順通りにやっても上手くいかないものです…(´・ω・`)
そこで初心者向けに自分が躓いたところを何が必要で、実際にどう設定したか、備忘録もかねて記事にしました。皆さんのお役に立てれば幸いです。# AWS Client VPNとは
>AWS VPN は、AWS サイト間 VPN と AWS Client VPN で構成されています。これらを組み合わせることで、ネットワークトラフィックを保護する、高可用性かつ柔軟なマネージドクラウド VPN ソリューションを提供します。
>AWS サイト間 VPN は、ネットワークと Amazon Virtual Private Cloud または AWS Transit Gateway の間に暗号化されたトンネルを作成します。リモートアクセスを管理するために、AWS Client VPN は無料 VPN ソフトウェアクライアントを使用して、ユーザ
Terraform で構築した AWS AppSync で GraphQL を触る
# 概要
– Serverless 界隈でよく使われる GraphQL を触ってみた
– Backend を用意するのが面倒なので AWS AppSync を採用
– 簡単に構築できるように Terraform で書いた# サンプルコード
以下リポジトリを clone するとすぐに terraform で環境構築できます。
https://github.com/tsubasaogawa/terraform-appsync-graphql-testTerraform v0.12.24 で動作確認
# おさらい
## GraphQL
– API によく使われる言語
– REST API と比べ
– リクエストの回数を減らしやすい (一度に複数の機能を呼び出せる)
– レスポンスされる項目を自由に指定できる
– スキーマ第一主義
– フロントエンドとバックエンドの認識齟齬を防ぐ## AppSync
– GraphQL の API サーバーをマネージドで提供してくれるサービス
– REST における API Gateway の GraphQL 版のような
TerraformでAmazon API Gatewayを構築する(ゲートウェイのレスポンス&ステージ詳細編)
# はじめに
[以前の記事](https://qiita.com/neruneruo/items/94a0e637ea1c6c95d9e4)で、TerraformでAPI Gatewayを構築することを書いてみたが、基本的な部分過ぎて実用的ではなかったので今回はゲートウェイのレスポンスと、ステージの詳細設定をするためのIaCをまとめる。例によって、Terraformの公式ドキュメントは書き味が薄くて困るので、内容の薄い部分について、AWSの開発者ガイドやCLIのリファレンス等を組み合わせながらまとめる。
文中の画面キャプチャや画面文言は2020年7月25日時点のものなので、今後文言が変わったり、項目の増減があるかもしれないことをご了承いただきたい。
# 前提条件
– [以前のTerraform+Amazon API Gatewayの記事](https://qiita.com/neruneruo/items/94a0e637ea1c6c95d9e4)の中身がなんとなく理解できる
– Terraformについてはある程度書き方を理解していて、自力でリファレンスを見ながら書くことがで
【AWS】IAM設定 – ユーザーやグループを管理と作成
# アカウント使用の流れ
0. [開始前知っておくべきポイント](https://qiita.com/hello112334/items/d9beef22cc5d66fbf578)
1. [アカウント申請](https://qiita.com/hello112334/items/39548933eeec92af8486)
2. [ログイン](https://qiita.com/hello112334/items/235993219d1f16ac7434)
3. **IAM設定**
4. [MFA多要素認証](https://qiita.com/hello112334/items/2180a1f59c4d4d69d4a4)
5. [アカウント削除](https://qiita.com/hello112334/items/a7943f064221b4bf0870)# 参考資料
操作の詳細は、「Youtube」の「Amazon Web Services Japan 公式」を参照
# IAM設定
普
SageMakerで利用できるDeepChemのためDockerfile
# SageMakerで利用できるDeepChemのためDockerfile
## TL;DR
![](https://www.inoue-kobo.com/aws/sagemaker-with-deepchem/images/thumbnail.png)
SageMakerでトレーニングのために使用できる[DeepChem](https://www.deepchem.io/)用のDockerfileです。
バージョン依存にするため、取り急ぎ以下のバージョン専用です。* deepchem-2.3.0
* python-3.6
* tensorflow-1.14.0Dockerfileにより独自コンテナでSageMaker上でトレーニングする方法は[SageMakerで独自コンテナでトレーニングする方法](https://www.inoue-kobo.com/aws/sagemaker-with-mycontainer/index.html)を参照してください。
## Dockerfile
“`Dockerfile
FROM nvidia/cuda:10.0-cudn
samで構築したBFFのCORSエラーが解消できなくて困った話
## はじめに
こんにちはみなさん、AWS sam使っているでしょうか。
API gateway + Lambdaを利用したアプリケーションの構築や更新頻度の多いアプリケーションではよく利用されるsamですが、今回iOS系でCORSエラーが解消できなくて3、4ヶ月ほど困っていたので備忘録がてら書き残しておこうと思います。
※弊社コンプライアンス的なところが怖いので必要ない部分は特に記載してないです。## TL;DR
– Api gatewayのCORSの設定は明示的に記載する
### 構成図
プラットフォームはiOS/Androidで以下のような構成図をとっています。
API GatewayとLambdaはAWS samで構築されており、CI/CDパイプラインを通してsam templateからデプロイを行います。![Untitled Diagram-Page-3 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/382072/0fae9790-6b3a-719e-d596-304f
FireLensを使ってFargateコンテナのファイルログを転送してみた
# はじめに
通常は[Twelve-Factor App](https://12factor.net/ja/)に「ログをイベントストリームとして扱う」とあるように、コンテナアプリケーションのログは標準出力を集約先とするのが設計原則です。しかし、もともと仮想マシンで動かしていたサーバをコンテナ化しようとする時など、**「まずはアプリケーションコンテナを極力改修せず(ログ出力先を、ファイルから標準出力に変更)になんとかならないか。。。」**
というニーズもあるかと思います。ここでは、ファイル出力されたアプリケーションコンテナのログをFireLens(Fluentbit)を使ってCloudWatchへ転送する方法を紹介します。尚、FireLensを使わずとも、サイドカー(Fluentd)を自前で準備する方法として[「Fargateで起動するコンテナのログをFluentd経由でS3に保存してみた」](https://dev.classmethod.jp/articles/fargate-fluentd-s3/#toc-6)というのもあり、ご一緒に確認されると良いかと思います。
# 検証
EC2、SSHポート番号を変更するための手順。
## はじめに
EC2インスタンスにSSHで接続する際ですが、ポート番号をデフォルトの22番ではなく、その他の番号にすることで、少しでもハッキングの危険から逃れたりと、セキュリティ向上に寄与出来るのではないかと思われます。
ということで、今回は題名の通り、SSHポート番号を変更する手順について書きます。## 手順
– 一時的にセキュリティーグループのインバウンドで22番を認めます。– 公開鍵を使用して、EC2インスタンスにssh接続をします。
– EC2インスタンス内で`sshd_configファイル`の記述を変更します。具体的には下記コマンドを打ってください。
– `cd /etc/ssh`
– `sudo vi sshd_config` (viエディターでファイルを開いています。)
– #port22 のコメントアウトを外す
– `port2222`に書き換える。(今回は例でポート番号を2222にしていますが、ここを自分の変更したいポート番号に設定してください。)
– `sudo service sshd restart`– セキュリティグ
serverlessを使ってLambdaにmultipart/form-dataでバイナリデータをアップロードする
serverlessを使ってLambdaをデプロイする際、Lambda統合の時にバイナリデータをどうやって送るのか地味にハマったのでメモとして残しておきます。
(たぶんうちの若い子達がココ見るはず..)serverless便利ですね。コマンド一発でデプロイから各種AWSリソースをいい感じにセットアップしてくれます。いらなくなったら同じくコマンド一発でまるっと削除してくれます。これを使わない手はないですね。
## TL;DR
– serverless.ymlのcustomキー配下にapiBinaryでバイナリメディアタイプを指定する
– serverless.ymlのpluginsキー配下にserverless-apigw-binaryを追加する
– Lambdaに送られてくるリクエストはbase64エンコードされたmultipart/form-dataなのでデコードしてaws-lambda-multipart-parserでマルチパートデータをバイナリにする“`serverless.yml
custom:
…省略
apigwBinary:
types:
【AWS】ログイン – ルートユーザーサインイン
# アカウント使用の流れ
0. [開始前知っておくべきポイント](https://qiita.com/hello112334/items/d9beef22cc5d66fbf578#%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E4%BD%BF%E7%94%A8%E3%81%AE%E6%B5%81%E3%82%8C)
1. [アカウント申請](https://qiita.com/hello112334/items/39548933eeec92af8486)
2. **ログイン**
3. [IAM設定](https://qiita.com/hello112334/items/052f1232f6f54a2531c1)
4. [MFA多要素認証](https://qiita.com/hello112334/items/2180a1f59c4d4d69d4a4)
5. [アカウント削除](https://qiita.com/hello112334/items/a7943f064221b4bf0870)## ログイン
AWS公式サイトURL
h
【AWS・Python】SlackのEventAPIを利用してファイルの送受信してみる
# 1. はじめに
本記事では、Slackへのファイルアップロードをトリガーとして、
ファイルの受け取りと何かしらの処理をしてSlackへ送り返す処理についてまとめます。環境はAWSのLambdaとPythonを利用します。
# 2. 実装
## 2.1 できるもの
以下のように、ファイルをアップロードすると、
アップロードしたユーザにメンションして、何かしらの処理を加えたファイルを返します。![スクリーンショット 2020-07-25 17.11.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260295/6d47fcc4-10e1-bc52-b2a1-fec8c34df593.png)
## 2.2 処理のイメージ図
Slack → AWS → Slackへのデータの流れです。
![_qiita_slack_event_api.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260295/1
【AWS】アカウント申請 – 無料ベーシックプラン
# アカウント使用の流れ
0. [開始前知っておくべきポイント](https://qiita.com/hello112334/items/d9beef22cc5d66fbf578#%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E4%BD%BF%E7%94%A8%E3%81%AE%E6%B5%81%E3%82%8C)
1. **アカウント申請**
2. [ログイン](https://qiita.com/hello112334/items/235993219d1f16ac7434)
3. [IAM設定](https://qiita.com/hello112334/items/052f1232f6f54a2531c1)
4. [MFA多要素認証](https://qiita.com/hello112334/items/2180a1f59c4d4d69d4a4)
5. [アカウント削除](https://qiita.com/hello112334/items/a7943f064221b4bf0870)## 参照資料
操作の詳細は、「Youtu
【AWS】開始前知っておくべきポイント – 無料利用枠
# アカウント使用の流れ
0. **開始前知っておくべきポイント**
1. [アカウント申請](https://qiita.com/hello112334/items/39548933eeec92af8486)
2. [ログイン](https://qiita.com/hello112334/items/235993219d1f16ac7434)
3. [IAM設定](https://qiita.com/hello112334/items/052f1232f6f54a2531c1)
4. [MFA多要素認証](https://qiita.com/hello112334/items/2180a1f59c4d4d69d4a4)
5. [アカウント削除](https://qiita.com/hello112334/items/a7943f064221b4bf0870)# 参考資料
「Youtube」の「Amazon Web Services Japan 公式」を参照# 開始前知っておくべきポイント
チャットアプリ制作
個人の学習の知見を広げるため、チャットアプリを制作しました。
## アプリの概要
・ユーザーの登録ができる
・ユーザーがグループを作成できる
・グループを指定して、メッセージを送ることができる## 使用技術
・Ruby
・Ruby on Rails
・JavaScript
・MySQL
・AWS
・nginx
・unicorn
・Capistrano## 本番環境のリンク
[18.178.232.222
](http://…)## githubのリンク
https://github.com/mitsugu3/ChatSpace
## 感想
アプリ制作の流れを掴むことができた。
AWSで、本番環境にあげるのが
シークレットキーなどの知識が必要だったので難しく感じたが、
検索記事を参考に自走することができた。