- 0.1. StackSetsでコンソールからパラメータを指定した時のあれこれ
- 0.2. VMware Cloud on AWS アップデートまとめ (2022年4月 ストレージサービス編)
- 0.3. AWSアソシエイト流し見part2
- 0.4. AWS日記38 (AWS CodeBuild)
- 0.5. AWS/Rails デプロイ後の『502』エラー奮闘記
- 0.6. AWS公式の「Infrastructure as Code 談議 2022」がすごく勉強になったのでまとめてみた
- 0.7. EC2内にexpressで立ち上げたサーバーへALPを介して接続する
- 0.8. React歴4ヶ月でアプリをリリースした
- 0.9. Route53の位置情報ルーティングポリシーと地理的近接性ルーティングポリシーの違い
- 0.10. AWS認定 ソリューションアーキテクト プロフェッショナル(SAP) 合格記
- 0.11. Serverless アーキテクチャでWeb API を構築するハンズオンをRubyで実装してみた
- 0.12. AWS これは知っておきたいシリーズ 第0回
- 1. はじめに
- 2. オンプレとクラウドって何?
- 3. オンプレとクラウドの違い
- 3.1. AWS Cognito + Amplify + Not Hosted UI の実装例と注意点
- 3.2. AWS公式資料で挑むSCS認定(52(最終回))-こんな時どうする(全分野その29)
- 3.3. AWS Database Migration Service (DMS) 概要
- 3.4. AWS Lambda HTTP APIでPOSTデータを取得・デコードする関数(関数URL対応)
- 3.5. AWS QuickSightの計算フィールドの使い方 ~集計関数編~
- 3.6. ECSタスクでファイル連携ジョブ(SFTP)を実行
- 3.7. 入社3年目、業務以外の知識がない自分がGWを捧げてサービス・アプリケーションを勉強してみた!〜2日目AWS:IAMユーザ作成・後編〜
- 3.8. AWS CLI で AWS SSO にログインする
StackSetsでコンソールからパラメータを指定した時のあれこれ
# はじめに
前回、StackSetsをGUIで作成しました。その際はパラメータの指定はしませんでした。https://qiita.com/a_b_/items/1858055ba447c4966b58
構成は同じだけどパラメータはアカウントごとに別にしたい、という際も、コンソール画面から可能でした。
用途としては、”本番環境と開発環境で、同じインスタンスだけど、スペックは別にしたい”等が考えられます。ですが、パラメータを指定して作成する際に、若干戸惑った点ありましたので記事にしました。
# 概要
– スタックセット自体に保持されるパラメータがある模様
– スタックインスタンスには、それとは別のパラメータを指定可能
– パラメータの変更は、それぞれ別々に可能
– 既に作成されたスタックインスタンスのパラメータはスタックセットが編集されても元のパラメータのまま変更されない
– 親のパラメータ変更、CFnテンプレートが変更されても、子のパラメータはそのまま
– **スタックセットのコンソール画面からでは、スタックインスタンスごとに設定したパラメータがわからない**#
VMware Cloud on AWS アップデートまとめ (2022年4月 ストレージサービス編)
VMware Cloud on AWSの直近アップデートについて調べることがあったのでメモ。
今回はストレージの観点でまとめます。# 1. これまでのVMware Cloud on AWS のストレージ活用パターンについて
VMware Cloud on AWSでは、ストレージ領域としてはAmazon EC2ベアメタルの内部ストレージがvSANとして利用できるのはすでにご存知かと思います。内部ストレージだけでストレージ容量が足りなくなった場合は、ホストを追加する、あるいはネイティブAWSサービスにオフロードしていく、というのがVMware Cloud on AWSのストレージ活用のよくあるパターンでした。

>AWS Blackbelt Online Seminar [「VMware Cloud on AWS」](https://aws.
AWSアソシエイト流し見part2
●インシデントや問い合わせ発生時にAWSサポートから15分未満の応答に応えられるAWSサポートプラン
エンタープライズ●Pre-warming申請内容
5分間で50%以上のトラフィック増加があると、ELBのスケールが間に合わない可能性があるためHTTP503レスポンスを返す期間があり得ます。それに対応するために事前に必要なのが緩和申請(Pre-warming申請)
また、事前に段階的にELBに負荷をかけておくことで調整することも可能
・NLBの特徴として、大規模アクセスが予測される際にCLBやALBで必要だったPre-warming申請が不要
【Pre-warming申請内容】
■ELB名・リージョン、またはFQDN
■予測されるピーク時のリクエスト数(requests/秒)
■予想されるピーク時の1リクエストあたりのリクエストサイズ+レスポンスサイズ(bytes)、または想定スループット(bit/秒)
■Pre-warmingが必要となる期間(開始時刻・終了時刻)
■HTTPSの利用有無、利用する場合にはHTTPとHTTPSの割合(%)
■利用するAZ(アベイラビリティ・ゾーン)
AWS日記38 (AWS CodeBuild)
# はじめに
今回は [AWS CodeBuild](https://aws.amazon.com/jp/codebuild/) を試します。
GitHubのリポジトリからソースコードを取得し、ビルドし、出力されたアーティファクトファイルをS3に配置します。
[コンソールを使用した AWS CodeBuild の開始方法](https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/getting-started.html)を参考します。# 準備
– GitHubのリポジトリを作成
– buildspec.ymlを作成
– 出力先のS3バケットを作成### buildspec.ymlを作成
– ランタイムやビルドコマンドを記述します
– 作成したファイルをリポジトリのルートに保存します
– 参考
– [ステップ 2: buildspec ファイルを作成する](https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/getting-st
AWS/Rails デプロイ後の『502』エラー奮闘記
## 概要
先日、[「AWS – Capistranoを使ってデプロイした際のエラー奮闘記」](https://qiita.com/iloveomelette/items/3c0f2dd3faa2fcefc948)を書きました。
今回は、そのデプロイ後に起きた「**502**」エラーの対処法を述べていきます。**デプロイには成功したのに、アプリが表示されない**、といった方の参考になれば幸いです。
前提として、デプロイにはCapistranoを利用しています。
構成は以下の通りです。– macOS Monterey 12.3.1 (M1)
– Ruby 3.1.1
– Rails 6.1.5
– nginx
– puma
– MariaDB 10.6.7
– EC2(Amazon Linux 2 AMI / t2.micro)
– RDSこんな感じです。
## 「502」エラーとは
そもそも「502」エラーとは何なのでしょうか。
>502エラーとは、Webサーバで起きるエラーの種類の一つで、目的地のWebサーバが機能していないことを、経路途上にある中継サーバ(プロ
AWS公式の「Infrastructure as Code 談議 2022」がすごく勉強になったのでまとめてみた
この前AWS公式のYouTubeチャンネルにて、面白そうなライブ配信がありました
【#AWSDevLiveShow】Infrastructure as Codeの基礎と実装方法を学ぼう? https://t.co/83DtWpRgwj
プログラミング・開発の課題に特化したライブショー!そもそもIaCとは何か、IaCをプロジェクトに適用する際に必要なこと、適用後の苦労話等、ライブ配信でざっくばらんにお話しします。(4/26(火) 17~) pic.twitter.com/Uyex1WF3oU
— AWS/アマゾン ウェブ サービス/クラウド (@awscloud_jp) April 19, 2022
AWSの動画コンテンツといえば、BlackBeltのようなサービス紹介の動画が真っ先に思い浮かぶ方も多いと思います。
自分もその一人ですが、この動画はプロダクトではなく「Infrastructure as Code(IaC)という概念」にフォーカスしたコンテンツです。Twitterで学びメモを書きましたが、ちゃんと記事として学びをまとめておこうと思います。
また、動画の内容に関連した補足事項を記事の後半にまとめておきました。AWS Japan公式のIaC談義を今更ながら視聴
学びをメモしていく
見終わったら@nikuyoshi さんのモーメント見に行くぞ#AWSDevLiveShow https://t.co/mkuW8ppHeI— はたはた (@hatake_book) April 29, 2022
↓動画本編はこちら↓
↓資料はこちら↓
https://
EC2内にexpressで立ち上げたサーバーへALPを介して接続する
## ec2内にローカルサーバーを立ち上げる
まずはnode.jsとnpmをインストールします。
[公式の手順](https://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html)を参照してさくっと完了。
一応コマンドで確認しておきます。
“`
node -v
npm -v
“`適当なディレクトリを作成し、expressをインストール。サーバ用jsファイルも作成します。
“`
mkdir sample
npm i express
vi index.js
“`“` server.js
const express = require(‘express’);
const app = express();app.get(‘/’, (req, res) => {
res.send(‘Hello’);
});app.listen(3000, () => console.log(“Server started
React歴4ヶ月でアプリをリリースした
## はじめに
所属する会社が提供しているサービスでReactを使っており、私はカスタマーサクセスなのでガチエンジニアではないけどもトラブルシューティングや仕様の理解でソースを読むべき機会は多々ありました。ベンチャー企業でもあり、エンジニアのリソースが限られていることから、より業務範囲を広げるため、また、エンジニアとのよりスムーズなコミュニケーションのために言語理解を深める必要がありました。
バックエンドの実装やAIモデルの構築等はそれなりに経験があるものの、フロントエンドはほぼ未経験(とはいえ、宣言的なプログラム言語でいうとFlutterは少しだけ書けるので、全くの素人よりは多少のアドバンテージがあるかもしれません)であっため、必要に迫られて2022年の後半からReactを勉強し始めました。その過程で自分のサービス作れそうだな! 作りたいな! という気持ちになり、サービスを作りながら本ページを記載しています。
バックエンドまで作り込みたかったのですが、平日は本業が忙しく、ほぼ週末の限られた時間で開発しているため、一旦はAWS Amplifyで手抜きしました(といってもAmpli
Route53の位置情報ルーティングポリシーと地理的近接性ルーティングポリシーの違い
# はじめに
AWSソリューションアーキテクト(AWS-SAA-C02)の勉強をしていると、
AWSのDNSサービス「Route53」のルーティングポリシーにおける
位置情報ルーティングポリシーと地理的近接性ルーティングポリシーが
いつもごっちゃになっていましたので、ここで自分のために整理しておこうと。。# まずルーティングポリシーとは?
公式ドキュメントより、
**Route53がDNSクエリに応答する方法を決定するレコードの設定**のことです。通常のDNSは、1つの要求に対して1つのIPアドレスが存在しており、単に対応するIPアドレスを応答として返します。
しかし、AWSでインフラを構築している場合、通常、複数のAZや世界中のリージョンにリソースを配置する機能などを使用して冗長化しているため、単に1対1の応答設定では、要件を満たせません。(たぶん)この機能では、「Route53」>「ホストゾーン設定」にて作成した各レコードに関して、それぞれどんな要求に対してどのリソースへルーティングするのかを、要件に合わせて適切なルーティングポリシーに設定することができます。
前置
AWS認定 ソリューションアーキテクト プロフェッショナル(SAP) 合格記
2022年4月9日にAWS認定ソリューションアーキテクト プロフェッショナル(SAP)を受験し無事合格することができました。
近年、AWS認定試験を受験する人が増えています。
その中でも、SAAの次に目指す認定資格としてSAPを目指されている人は多いかと思います。なので今回は、僕が実際にSAP試験に合格するまでの勉強時間や具体的な方法を記事にしました。
この記事が少しでも、これから合格を目指す方のお役に立てたら嬉しいです。
## AWS認定 ソリューションアーキテクト プロフェッショナルの概要
#### 試験概要
出題数:75問
試験時間:180分
合格ライン:750点(1000点満点)
受験料:33000円(税込)
#### 試験内容
Serverless アーキテクチャでWeb API を構築するハンズオンをRubyで実装してみた
# 概要
AWSが提供している、[翻訳Web APIのハンズオン](https://pages.awscloud.com/event_JAPAN_Hands-on-for-Beginners-Serverless-2019_Contents.html)をRubyに変えて作ってみました。
※ハンズオン内ではpythonを利用されています。# 前置き
ほとんどハンズオンの流れと同じため、AWS周りの流れは省略しています。# 1. Lambda 単体で使ってみる
LambdaからTranslateを呼び出して「おはよう」を「Good morning」へ変換しました。
[Module: Aws::Translate](https://docs.aws.amazon.com/sdk-for-ruby/v2/api/Aws/Translate.html)“`
require ‘json’
require ‘aws-sdk’def lambda_handler(event:, context:)
translate = Aws::Translate::Cli
AWS これは知っておきたいシリーズ 第0回
はじめに
4月となり、新社会人の方々が入社しました。
自社にも新卒の人たちが入社し、新たにAWSを勉強する人もいます。
そういった方々が参考に出来るようにAWSの基礎的な部分を初心にかえる意味で残します!※シリーズ化予定なので、お時間ある時にご覧ください!
—
オンプレとクラウドって何?
**オンプレミス**は、自社資産で構築・運用するIT環境のことを表す。
システム構築に必要な物理サーバー、通信回線などの資産を自社で用意して運用する環境のことを示す。
一方、**クラウド**とはインターネット経由で提供されるサービスを利用することで、資産を自社内に保有せず、運用をするIT環境のことを示す。—
オンプレとクラウドの違い
初期導入コスト&導入までの期間
• クラウドの場合はオンプレのように、従来のサーバーを自社内に置くことなく、クラウド環境上で仮想サーバーを構築し、ネットワーク経由で仮想サーバー上の各種サービスを利用することが可能(アカウント登録後すぐに利用できる)
• 低コストでスタート可能、
AWS Cognito + Amplify + Not Hosted UI の実装例と注意点
# はじめに
半年くらい前、業務でCognitoを使って認証機能を実装した時に、ネット上の記事が古いライブラリを使っていて参考にできなかったり、Cognito自体に不具合があったりハマりポイントが多すぎて酷い目にあった。
この記事には実装の振り返りと~~恨み~~と備忘録を兼ねてCognitoとは、周辺ライブラリについて、直面した不具合など自分が把握している限りの情報を記載する。# Cognitoとは
「認証にはCognitoをNot Hosted UIで使ってください」と言われたが正直聞いたこともなかったのでそこから調べることにした。調べたことを要約すると以下になる。– サインアップ、サインイン、アカウント管理を一手に引き受けてくれるAWSが提供するサービスの一つである。
– 単純にユーザー名とパスワードを入力してサインアップ/インする以外に、GoogleやAppleなどの外部サービスのアカウントを使ったサインインもお手軽に実装することができる.
– Hosted UI(Cognitoが用意した認証画面、認証処理も全部やってくれる)とNot Hosted UI(画面は自前で認証
AWS公式資料で挑むSCS認定(52(最終回))-こんな時どうする(全分野その29)
##### [前回] [AWS公式資料で挑むSCS認定(51)-こんな時どうする(全分野その28)](https://qiita.com/mingchun_zhao/items/c28100f7e29b8227f69c)
## はじめに
本日のSCS認定試験、おかげさまで無事合格できました。
ゴールは「AWSの魔法使いになること」で、資格獲得ではない、
と自分に言い聞かせながらも、
試験終了時表示された`合格おめでとう`には感慨深いものがありました。## 試験について、3点情報共有です
– 公式資料の基本知識をしっかり理解できていれば合格ラインに到達可能
– アクセス許可ポリシーの問題が厄介でした(が、これも公式資料の範疇)
例えば、本連載で過去取り上げた内容
– [AWS Lambda関数のデータをAmazon CloudWatch Logsにロギングさせたい](https://qiita.com/mingchun_zhao/items/d4e6cf1651d52523fe65#%E5%88%86%E9%87%8E2-%E3%83%AD%E3%82%B0%E3
AWS Database Migration Service (DMS) 概要
* AWSのDB移行サービスであるAWS Data Migration Serviceについて個人用にメモする。
## 概要
* DB移行に利用するAWSサービス
### 特徴
* セットアップ・利用が容易
* 異種データベース間の連携に対応
* テーブル定義を補助するツールの提供
* 継続的なレプリケーション## ユースケース
* 同種/異種のデータベース間での移行
* クロスリージョンリードレプリカの作成
* メジャー/マイナーバージョンアップグレード
* S3へのデータアーカイブ
* NoSQL→SQL、SQL→NoSQLへの移行## アーキテクチャ
* 論理レプリケーション

* 移行元DBで作成されたトランザクションログファイルからDMLを作成し、移行先DBに適用する。
* MySQLの場合
AWS Lambda HTTP APIでPOSTデータを取得・デコードする関数(関数URL対応)
## HTTP APIや関数URLでもPOSTデータを受け取りたい
手軽に実装できてお財布にも優しいHTTP APIですが、POSTデータを受け取るのに一手間必要です。
リクエストbodyはbase64エンコードされた状態で取得できるため、 デコード & jsonパースしてあげる関数を使えばOKです。## コード
### Node.js
“`getBodyOnLambda.js
function getBodyOnLambda(event_body) {
let body_string_utf8 = Buffer.from(event_body, ‘base64’).toString(‘utf-8’);
//日本語が含まれる場合はdecodeURIする
//decodeURIComponentでは無くdecodeURIなのは、POSTされたデータの中に&が含まれているとJSON変換時にうまくいかないため
body_string_utf8 = decodeURI(body_string_utf8);
//パラメーター形式文字列のJSONへの変
AWS QuickSightの計算フィールドの使い方 ~集計関数編~
## はじめに
本記事は、AWS QuickSightの計算フィールドで使用できる関数の内、集計関数の代表的な関数とその使用方法を紹介します。公式リファレンス記載の例を具体的にQuickSight上で再現しながら補足していきます。
## 計算フィールドとは
計算フィールドは、データセットもしくは分析の編集において、1つまたは複数の関数と既存のカラム値を用いて計算を実行、結果を出力するカラムで、
Excelの関数を入力するように設定することができます。https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/working-with-calculated-fields.html
## 平均値
### avg関数
avg関数はグループ化した条件別に指定したカラムの平均値を算出する関数です。
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/avg-function.html
#### サンプルデータセット
以下のサンプルのデータセットを用いてグループ
ECSタスクでファイル連携ジョブ(SFTP)を実行
# 概要
AWS環境にて定期実行ジョブを実装するにあたり、運用ソフトウェアを導入できないケースを想定し、AWSサービスだけでジョブを実装するにはどうすれば良いか考えてみました。
パッと思いつく限りで、実装方法は以下があると考えています。案1.EventBridgeのスケジュール実行にてLambdaを定期実行
案2.EC2インスタンスにてCronにより自動実行
案3.ECSタスクの「タスクのスケジューリング」にて自動実行本記事では案3の実装方法を記載します。案3は他案と比較し以下の特徴があると思います。
・ECSタスクのデータプレーンとしてFargateを選択すればEC2インスタンスを利用しないため、
インスタンスのメンテナンスが不要
・ECSタスクで稼働させるコンテナは利用者側で自由に選択可能なため
Lambdaのようにランタイムによる制約※はないこと
・コンテナのメンテナンスは必要であるため、コンテナに関する知見は必要
※:正確にはカスタムランタイムなどで指定が可能ですが、
標準で実装されている機能での比較簡易的なバッチ処理をbashな
入社3年目、業務以外の知識がない自分がGWを捧げてサービス・アプリケーションを勉強してみた!〜2日目AWS:IAMユーザ作成・後編〜
# はじめに
前記事(https://qiita.com/hugo-crt/items/40c4bcb883c74085e539)
の続きです。今回は実際の作業者ユーザである、IAMユーザを作成します。
一度作り方を覚えてしまえば、最低限責任範囲の切り分けができて
基本的なセキュリティ対策を講じていますといえますね。どうやら巷ではIAMって最初の方に勉強するけど、細部をチューニングしていくにつれ沼にハマっていく、
実はかなり高度なサービスであると聞いたことがありますが、これはまた別のお話。
我々初学者は基本的なところから知っていけばいいんです。# IAM:IAMグループの作成
グループ作成の方法を学びます。
なぜユーザ作成ではなくグループなのかというと、
端的に権限やポリシーの設定が楽になるからです。
下の画像を見てください。
この画像では管理者(Admins)・開発者(Developers)・テスター(Test)の3グループに分かれています。
役割によって必要な設定をグループに与えてしまえば、その役割に沿って必要な制限事項が勝手に付与されるのです。
大規模なプロジェクト
AWS CLI で AWS SSO にログインする
# 初めに
この記事では以下を参考にして AWS CLI を用いて AWS SSO にログインする手順を書きます。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-sso.html
# 手順
EC2 インスタンスを起動し、`aws configure sso` を実行します。インスタンスに AWS SSO のロールをアタッチする必要はありません。URL については、以下の画像にある URL を入力します。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws configure sso
SSO start URL [None]: https://Identity_store_ID.awsapps.com/start
SSO