- 1. ゲーム感覚でプログラミング学べるサービス集
- 2. AWS IAMの概要メモ
- 3. Terraform でEKS のGitOps パイプラインを構築する
- 4. S3 CLI コマンドメモ
- 5. 【初心者】AWS Wavelengthを使ってみる #7 (Wavelength Zone間のSRT通信)
- 6. AWS Lambdaの非同期呼び出し機能やデッドレターキューとか良く分からなかったので検証してみた
- 7. Node.js での認証情報の設定
- 8. AWSソリューションアーキテクトアソシエイト(SAA)合格体験記 1ヶ月で合格
- 9. AWS 認定 デベロッパー – アソシエイト(DVA-C01)取得の過程
- 10. AWSのCLF保持者がMicrosoft Azure AZ-900を取得するときの勉強方法
- 11. YouTubeで納品する動画版Skebみたいなサービスをリリースして半年だけどユーザーがいない話
- 12. 雑に構築したDynamoDBでスロットリングが発生して困っている人のためのエントリ
- 13. AWS Cloud9でGitのエディターを永続的にnanoからvimに変更する
- 14. webサイトを公開してみよう!
- 15. Amazon EC2 の cloud-init の初期構成とカスタマイズを調査しました
- 16. SecurityHub検出結果CSV出力用コマンド
- 17. Steampipe で実現する select * from cloud; の世界
- 18. AWS IoT MQTT接続のprefix設定
- 19. ポート解放の仕方。(Cloud9 でdjango使用。)
- 20. AWS CodeシリーズをAWS Step Functionsで実行し継続的デプロイする
ゲーム感覚でプログラミング学べるサービス集
## はじめに
今回はゲーム感覚でプログラミングを学べるサービスを紹介します。
ゲームを通して学んだ知識をアウトプットできるサービス集を厳選したので、ぜひ学んだ知識を「**使える技術**」として自分のものにしていただければと思います
## この記事の主な対象者
– プログラミング初心者~中級者
– 基礎文法は学んだけどアウトプットができていない人
– フロントエンジニアを目指してる人
– 楽しみながらプログラミングを学びたい人## [ぷよぷよプログラミング](https://puyo.sega.jp/program_2020/)
まずはじめに紹介するのはSNSでもぷよぷよを開発しながらプログラミングを学ぶことができる「[ぷよぷよプログラミング](https://puyo.sega.jp/program_2020/)」です。
![スクリーンショット 2022-06-30 9.16.32.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/9e0e5f70-bea3-d5fa-52
AWS IAMの概要メモ
# この記事について
この記事は、AWSの重要サービスの1つであり、認定試験の勉強で理解に苦労した分野でもある`IAM`について、自分なりに整理した内容をまとめたメモです。# AWS IAMとは
IAMとは、`Identity and Access Management`の略称であり、「アイアム」と読みます。
公式の[ユーザーガイド](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/introduction.html)では、以下のように説明されています。> AWS Identity and Access Management (IAM) は、AWS リソースへのアクセスを安全に管理するためのウェブサービスです。IAM により、誰を認証 (サインイン) し、誰にリソースの使用を承認する (アクセス権限を持たせる) かを制御します。
これだけでもIAMがどのようなサービスなのか、何となく理解はできますが、もう少し具体例を挙げてみたいと思います。
## 認証と認可
### 認証
認証とは、本人しか知り得ない情報や本人特
Terraform でEKS のGitOps パイプラインを構築する
# はじめに
本記事では、Terraform で[EKS](https://aws.amazon.com/jp/eks/)のGitOps パイプラインのデモ環境を構築する手順とデモした内容について、記載しています。GitOps について学習する時の参考になれば幸いです。
### GitOps とは
https://www.weave.works/technologies/gitops/
引用:
>GitOpsは、次の2つに要約できます。
>1. Kubernetesおよびその他のクラウドネイティブテクノロジーのオペレーティングモデル。コンテナ化されたクラスターとアプリケーションのGitのデプロイ、管理、モニタリングを統合する一連のベストプラクティスを提供します。
>2. アプリケーションを管理するための開発者エクスペリエンスへの道。ここでは、エンドツーエンドのCICDパイプラインとGitワークフローが操作と開発の両方に適用されます。# Terraform で構築する全体構成図
**GitOps パイプライン**
![EKS_GitOps_Demo.png](https:
S3 CLI コマンドメモ
# 背景
業務で S3 のコマンド (ローカルは MinIO) を扱うようになったので、便利そうなコマンドをメモしておく。
# コマンド一覧
– `$ aws configure –profile minio`
– プロファイルを設定する
– `$ aws configure list –profile minio`
– プロファイルの中身を確認する
– `$ aws –profile minio –endpoint-url http://127.0.0.1:19000/ s3 ls`
– バケット一覧を出力する
– `$ aws –profile minio –endpoint-url http://127.0.0.1:19000/ s3 ls s3://`
– バケット内のディレクトリ一覧を出力する
– `$ aws –profile minio –endpoint-url http://127.0.0.1:19000/ s3 sync source s3:///
【初心者】AWS Wavelengthを使ってみる #7 (Wavelength Zone間のSRT通信)
# 1. 目的
– これまで、AWS Wavelengthの検証を行ってきたが、単一のWavelength Zone(以下、WL Zone)のみを使用する構成がメインだった。
– 2022/6時点で、米国であれば10以上、日本にも2個(東京、大阪)のWL Zoneがあるため、複数のWL Zoneを使用するようなユースケースを想定した検証を実施する。# 2. やったこと
## 想定するユースケース例
– 想定構成
– 東京のライブ会場から映像をWL Zone(Tokyo)に送信。
– WL Zone(Tokyo)内の映像中継サーバで、映像をAWSの内部NWを経由してWL Zone(Osaka)へ送信。
– 東京のエンドユーザは、WL Zone(Tokyo)の映像中継サーバにアクセスして映像を受信。
– 大阪のエンドユーザは、WL Zone(Osaka)の映像中継サーバにアクセスして映像を受信。
– メリット
– エンドユーザが最寄りのWL Zoneのサーバにアクセスすることによる低遅延での映像配信。
– 全ての通信経路がキャリア網および
AWS Lambdaの非同期呼び出し機能やデッドレターキューとか良く分からなかったので検証してみた
## 目次
– [目次](#目次)
– [はじめに](#はじめに)
– [AWS Lambdaの非同期呼び出し機能とは](#aws-lambdaの非同期呼び出し機能とは)
– [検証準備](#検証準備)
– [SQS](#sqs)
– [Lambda](#lambda)
– [EventBridge](#eventbridge)
– [検証内容](#検証内容)
– [ログ](#ログ)
– [SQS](#sqs)
– [まとめ](#まとめ)## はじめに
AWS Lambdaで非同期呼び出し機能がありますが、動作がイマイチ良く分からなかったので実際に検証してみました。## AWS Lambdaの非同期呼び出し機能とは
Lambdaが非同期呼び出しされた際にエラーとなった場合に、リトライ処理をしたりデッドレターキューにキューを入れることができる機能です。リトライに関しては以下に記載のあるように、1回目のリトライは1分後、2回目のリトライは2分後に行われます。
> Lambda manages the function’s asynchronous even
Node.js での認証情報の設定
## はじめに
プログラミング時に認証情報の提供方法によってセキュリティ、保守作業に影響しますので、
どの方式を採用するかを考慮する必要があります。## AWSのNode.js での認証情報の設定
### AWS 推奨の順序で認証情報を提供する方法
– Amazon EC2 の AWS Identity and Access Management (IAM) ロールからロード
– 共有認証情報ファイル (~/.aws/credentials) から読み込む
– 環境変数から読み込む
– ディスク上の JSON ファイルから読み込む
– JavaScript SDK によって提供されるその他の認証情報プロバイダークラス### SDK で利用できる認証情報ソースが複数ある場合、デフォルトの選択優先順位
– サービスクライアントコンストラクタで明示的に設定されている認証情報
– 環境変数
– 共有認証情報ファイル
– ECS 認証情報プロバイダーからロードされた認証情報 (該当する場合)
– 共有 AWS 設定ファイルまたは共有認証情報ファイルで指定された認証情報プロセスを使用して取
AWSソリューションアーキテクトアソシエイト(SAA)合格体験記 1ヶ月で合格
## はじめに
ご覧いただきありがとうございます。
筆者のえきそんぱいと申します。2022年6月にAWSソリューションアーキテクトアソシエイトに合格しました。
その体験記を記載します。これから受験する方の参考になればと思います。## 筆者の前提知識
– AWSに関する業務経験はなし
– AWSクラウドプラクティショナーを保有(過去に取得してほぼ忘れている状態)
– オンプレのインフラ運用開発業務経験あり## 学習の進め方
udemyの講座のみを利用して約1ヶ月ほど学習しました。3ステップで記載します。### 1.試験を申し込む
資格試験の第一歩です。試験申し込みを行い勉強するしかない状況に追い込みました。### 2.AWSのハンズオンをやる
実施期間:約2週間
udemyのこの講座を利用しハンズオン通じて学習しました。
[【2022年版】これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座](https://www.udemy.com/share/101WKk/)__ただし、全ての講義は全部はやってません。__
IAM、V
AWS 認定 デベロッパー – アソシエイト(DVA-C01)取得の過程
# 筆者のAWS経験について
AWS歴については3年程度です。
AWSアカウントのコスト調査や、VPCのセキュリティチェックなど
実践レベルは割と限定的です(DVAでよく出題されるCloudFormation
Codeシリーズ、Cognito、DynamoDBに関してはプライベートアカウントなどを用いるなどしてイメージ固め、対策を行っていました。)# 学習期間(アバウト気味)
不合格もあり結果的には2-3か月に集中して合格までこぎつけた
感じでしょうか。
具体的に掘り下げると、合格するまでの2か月で平日は毎日、業務後に1.5h程度はカフェ(金額をかけることでダラダラさせない)や図書館で対策に取り組んでました。# (今だから言える不合格に対しての反省点も含めた)学習方法
[公式模試(リンク内参照)](https://dev.classmethod.jp/articles/new-aws-official-practice-questions/)
2022年6月現在、3000円程度かかっていた公式模試は無料で受けられるようになっており、感覚を確かめる意味ではぜひ活用していただきた
AWSのCLF保持者がMicrosoft Azure AZ-900を取得するときの勉強方法
# はじめに
AWSの資格はいくつか取得しているので他のクラウドベンダーの資格も興味が出てきてMicrosoft AzureのAZ-900(Azure Fundamentals)を取得したのでその際の勉強方法のメモです。# 概要
Azure(AZ-900)はAzure の初心者の方を対象としてAzureの基本的な部分を理解していること、そしてネットワーキング、ストレージ、コンピューティング、アプリケーション サポート、アプリケーション開発の概念を含む一般的なテクノロジの概念に精通していることが条件です。https://docs.microsoft.com/ja-jp/learn/certifications/azure-fundamentals/
AWS CLF(クラウドプラクティショナー)はAWS プラットフォームの基本的な知識を持っていて、ITについても基本的な知識を持っておりAWSを約6か月間触れている方が対象です。
だいたいレベル感として同じかなと思います。# 勉強方法
## AWSからAzureの勉強をする人へMicrosoft側でAWSとAzureのサービ
YouTubeで納品する動画版Skebみたいなサービスをリリースして半年だけどユーザーがいない話
一人でWebサービスを作って、リリースして8ヶ月経ったけどユーザーがいないサービスがどうしてこうなったか。それをどう思っているのか。って話です。
## つくるまで
1年前くらいにVTuberにハマって動画を見ているうちに、
VTuberにこのゲームをやってほしいとかこの歌を歌ってほしいと思うようになり、
YouTubeの動画でやってほしいことを配信者にリクエスト出来るサービスがあればいいと思いすぐにサービスを作り始めました。
(このフッ軽さが仇になった・・・)# なにをつくったか
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727171/615b36e8-0250-30bd-0d47-c7aa7074e633.png “Top画像”)
[SuperReq(スパリク)](https://www.superreq.jp/ “SuperReq”)Skebなどのイラストコミッションサービスを参考にして、
1. 配信者: 動画内でやってほしいことを募集を作成
2. 視聴者: 報酬金額
雑に構築したDynamoDBでスロットリングが発生して困っている人のためのエントリ
# はじめに
この記事はこんな人のために向けて書かれています
・最近DynamoDBを構築したが正直コイツのことをあまり良く知らない
(e.g.Amplify Studioが勝手にやってくれた)
・DynamoDBからの読み込みが異様に遅いときがあるらしく、ユーザーからおこられた
・スロットリングの発生状況について、そもそも確認方法を知らない
・テーブル構築後、大したユーザーもいないので、設定をデフォルトのままにしている
・そもそもインデックスにキャパシティユニットがあるというのがわからん。日本語で頼む。# 要点
## DynamoDBのお金回りについてまず知っておくべきこと
・RDSと違いプロビジョニング自体にはお金が掛からないが、読み書きの動作に対して課金される
・課金モードは、オンデマンド(従量課金)とプロビジョンド(定額課金)を選べる。
・**プロビジョンドで事前に設定したスループットを超えると、読み書きできない、が発生する**普段RDBMSしか使ってなかったりするとこの点を知らなかったりすると思います。**僕も知りませんでした。** 実際そんなもんです。先に言ってよ
AWS Cloud9でGitのエディターを永続的にnanoからvimに変更する
### 概要
– Cloud9でTerminalからgitでコンフリクト修正やrebaseする際に起動するエディタをnanoからvimに変更する方法です。
– Cloud9の場合、`git config`によるnanoエディタの指定が.bashrcに記載されています。
– そのため、普通にgitコマンドでエディタ設定を変更(git config ~)してもログインの度に元に戻ってしまうため、.bashrc側を修正する必要があります。### 設定方法
– .bashrcの20行目あたりの以下部分を修正
“`bash:.bashrc
$ vim ~/.bashrc~中略~
# modifications needed only in interactive mode
if [ “$PS1” != “” ]; then
# Set default editor for git
#git config –global core.editor nano ## <--- Comment out git c
webサイトを公開してみよう!
HTML/CSS、javascriptの旅を終えて、満足感もさることながら、自分のサイトを公開したい気持ちが湧いてきます。
#### サイトを公開するにはどうすれば良いの?
ここでは2通りほど、紹介いたします。。、
1.GitHub Pagesというサービスを利用する
2.レンタルサーバーを借りてファイルをアップロードするそれぞれの特徴を軽く紹介するで!
>Git Hub Pages・webサイトを無料で公開できる!
・git hubのアカウントがあればいつでも利用できる!・phpやRuby、pythonなどのサーバーサイド言語を扱った(ショッピングサイロ)などは公開できない。
要約すると、簡単に手軽にサイトを公開したい時に使える便利なツールです。
> レンタルサーバー
・webサイトの種類に関わらず公開できる
・複雑な仕組みを理解しながら利用できる・ややハードが高い
・費用がかかる転職や副業、フリーランスのポートフォリオ用に作成するときに利用をお勧め!
レンタルサーバーを使っている方が、より知識を持っているとアピールできます!#### 公
Amazon EC2 の cloud-init の初期構成とカスタマイズを調査しました
Amazon EC2 の cloud-init の初期構成とカスタマイズについて調査しました。
cloud-init については、cloud-init のリファレンスガイドを参照してください。
https://cloudinit.readthedocs.io/en/latest/index.html
cloud-init の実践的な概要については、RedHat のページを参照してください。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/configuring_and_managing_cloud-init_for_rhel_8/index
調査をおこなった環境は、次の通りです。
| Parameter | Value |
|:———-|:—————————————————-|
| OS
SecurityHub検出結果CSV出力用コマンド
* 初回検出日が30日以内、かつ重要度がCRITICALまたはHIGHでACTIVEなのSecurityHub検出結果を検索し、CSV出力するワンライナー
“`shell
DATE=$(date –date=”-30 days” +%Y-%m-%d);aws securityhub get-findings –filters ‘{“SeverityLabel”:[{“Value”: “CRITICAL”,”Comparison”:”EQUALS”},{“Value”:”HIGH”,”Comparison”:”EQUALS”}],”RecordState”: [{“Value”: “ACTIVE”,”Comparison”:”EQUALS”}]}’ –query “Findings[?FirstObservedAt>=\`$DATE\`]” | jq -r ‘.[] | [.ProductName, .Region, .GeneratorId, .AwsAccountId, .Compliance.Status, .Severity.Label, .Resources[0].R
Steampipe で実現する select * from cloud; の世界
## Steampipe とは
標準 SQL を使用して、対応するクラウドサービス (AWS, Azure Google Cloud, and more!) にクエリを実行できるオープンソース の CLI ツールです。マルチクラウドのガバナンスプラットフォームを提供する Turbot (Turbot HQ, Inc.) が中心となって開発しています。https://steampipe.io/
類似するサービスに [IaSQL](https://iasql.com/) などがあります。IaSQL は SQL でインフラ構成を管理する、つまりリソースの作成や維持も目的としています。
対して Steampipe は API やサービスからデータを調査、評価し、洞察を得るという参照に特化しています。また単に CLI ツールであるため、ローカルや AWS CloudShell などの環境にインストールし、認証情報を与えるだけで利用できます。ユーザー自身で別途データベースを用意する必要もありません。
実際にはローカルに Steampipe が管理する PostgreSQL が作成されます
AWS IoT MQTT接続のprefix設定
# はじめに
同一AWS アカウントでIoT MQTTコネクションの管理を分けたいことがあるのですが、あまり情報が無かったので記事にします。
IoT Ruleでサービス毎にコネクションのサブスクライブすることをゴールとします。# MQTTコネクション
AWSからAndroid SDKが出ているのでそちらを使用しています。
Androidで接続する場合、MQTT接続する際に[AWSIotMqttManager](https://aws-amplify.github.io/aws-sdk-android/docs/reference/com/amazonaws/mobileconnectors/iot/AWSIotMqttManager.html)を定義します。“`kotlin
public AWSIotMqttManager(String mqttClientId, Region region, String accountEndpointPrefix)
“`regionとaccountEndpointPrefixは固定なので、こちらで好きな値を入れることはできません。
ポート解放の仕方。(Cloud9 でdjango使用。)
現在の状況。。。
![スクリーンショット 2022-06-29 9.21.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1314502/70e2cffd-0f5f-4207-0758-bb42f8226388.png)
djangoをインストールして、アプリサーバーを起動し、動作確認をしようとしていたところ。こうしても、まだ動作を確認できないらしい。
#### ポートを解放しよう!
セキュリテイグループを設定してポートを解放!
> 1.とりあえず、実行中のインスタンスの一覧までいく。名前がcloud9から始まるインスタンスを選択して、開始していない場合は開始する。
> 2.(例)「http://」文字列「:8000」
詳細を見ると、「パブリック IPv4 DNS」に表示されている、文字列。
この文字列の前後に「http://」「:8000」をつけてください。
(例)「http://」文字列「:8000」> 3セキュリテイグループの設定
詳細に書かれているセキュリテイのタブを
AWS CodeシリーズをAWS Step Functionsで実行し継続的デプロイする
# 概要
* AWSでCI/CDを構築しようとなった時に様々な選択肢があると思います。
* AWSに限らずで言えば最近だとGitHub Actionsやcircleciなんかがよく技術選定する際に出てきますかね。
* 今回は**AWSでCI/CDを構築する時のパターンとして、Codeシリーズを使用した内容となるのですが、CodePipelineを使って作るパイプラインとCodeシリーズの1つCodeBuildをAWS Step Functionsを使用し逐次実行するパイプラインを比較するという内容**です。
* なぜ、CodePipelineを使用せずAWS Step Functionsなのか。何が嬉しいのかついて説明できれば幸いです。## AWS Codeシリーズ
* ではさっそく内容に入っていくのですが、まずはCodeシリーズとは。について説明していきます。
* Codeシリーズというのは、AWSの下記のサービスをまとめた総称のことを指します。
* [AWS CodeCommit](https://aws.amazon.com/jp/codecommit/)
*