- 1. AWSのCloudShellからGCPのWorkload Identity連携しようとしたけどダメだった話
- 2. 受験談 AWS Certified Data Analytics – Specialty認定
- 3. Software Design (ソフトウェアデザイン) 2022年06月号の「後悔しないAWSデータベースの選び方 RDSとDynamoDB,使い分けのポイントを徹底解説」について(前回記事の補足)
- 4. 【AWS】ネットワークACLとセキュリティグループの違いについて
- 5. AWS日記42 (AWS Certificate Manager)
- 6. AWSアソシエイト 未経験者が勉強中に間違えたものpart1
- 7. AWS Certified Security – Specialty(SCS-C01)に合格するまで
- 8. オンプレのサーバーからS3にバックアップする方法
- 9. AWS Amplify + Vue.jsでサーバレスアプリ開発 vol.3
- 10. AWS CLIの–queryについて殴り書き
- 11. amazon linuxでcomposer updateが出来ないエラーの解決法
- 12. AWSコンソールへの多要素認証方法について
- 13. AWSの料金体系について
- 14. BeanstalkでLaravelのシンボリックリンク設定を起動時に済ませたい
- 15. 利用可能なAurora MySQLのエンジンバージョンの出力方法
- 16. SSMでリモートホストにPortForwardingする
- 17. SQS、SNS、SNS+SQSからのイベントを比較してみた
- 18. Lambda boto3 の run-instances でEBSボリュームを暗号化した時の嵌り
- 19. Amazon Lambda デプロイ&アップデート用のスクリプト(PowerShell)のテンプレ作ってみた
- 20. 【AWS / Omniverse】 GPUインスタンスでOmniverse Createを動かす際GPUが認識されない
AWSのCloudShellからGCPのWorkload Identity連携しようとしたけどダメだった話
# はじめに
GCPのサービスを外部から使う際、サービスアカウントキーを使って動かしていました。
しかし先日のGCPのイベントでWorkload Identityという機能を使えば、AWSとセキュアに連携が取れると知りました。https://cloudonair.withgoogle.com/events/google-cloud-day-digital-22?talk=d1-sec-07
AWSのClooudShellから出来ないか試してみましたが、うまくいかなかったので、その旨記載しておこうと思います。
# 結論
– AWSのCloudShellからは、GCPのWorkload Identity連携はうまくいかない
– Cloud9からはできました。
– インスタンスにIAMロールを紐づける必要あり# 参考
知ったのはGCPイベントのアカツキさんのセッションでしたが、ブログのほうに詳しくありました。https://hackerslab.aktsk.jp/2021/12/09/000429
Cloud9で動かす際の参考は以下
https:
受験談 AWS Certified Data Analytics – Specialty認定
AWS Certified Data Analytics – Specialtyを受験しました。
受験される方の参考になりましたら。
# 前提
2021年
8月:SAA [(受験談)](https://qiita.com/h2m_kinoko/items/5179bcb73b6773771f79 “受験談 AWS Certified Solutions Architect – Associate 認定”)
9月:SAP
11月:SOA [(受験談)](https://qiita.com/h2m_kinoko/items/0b05378d96f4246bbdd0 “受験談 AWS Certified SysOps Administrator – Associate 認定”)
12月:SCS [(受験談)](https://qiita.com/h2m_kinoko/items/20f06a746ab15540cd37 “受験談 AWS Certified Security – Specialty 認定”)
2022年
1月:DVA[(受験談)](https://qiita.com/h2
Software Design (ソフトウェアデザイン) 2022年06月号の「後悔しないAWSデータベースの選び方 RDSとDynamoDB,使い分けのポイントを徹底解説」について(前回記事の補足)
# はじめに
[前回の記事](https://qiita.com/zyake/items/c4491b4e71313213b916)の「ACID特性、CAP定理、BASEについて」のセクションについての補足事項です。
素人が思いついたことを適当に書きなぐっていることから、多くの技術的に不正確であったり、誤解を招く記述が含まれている可能性があることにご注意ください。# BASEの出典について
探した限りではBASEの出典とされる資料は以下のもののようです。
BASEについて以下のトレードオフが存在することが記述されています。
※検索エンジンやWebキャッシュを構築した知見だと思われますが、断片的な情報しか記載されていないスライドなので詳細はわからず…
Towards robust distributed systems
https://www.researchgate.net/publication/221343719_Towards_robust_distributed_systems>But we forfeit “C” and “I” for availabilit
【AWS】ネットワークACLとセキュリティグループの違いについて
## 目的
ネットワークACLとセキュリティグループについて、どのような共通点があり、どのような点が異なるかを整理する。## 想定読者
ネットワークACLとセキュリティグループの共通点、違いを整理したい方。## 共通点
– ネットワークACLとセキュリティグループ、どちらもファイアーウォールとなる。
具体的には、通信経路のポート番号を「許可」することが可能。– 予めデフォルト用に用意されているフォーマットでは、全ての通信が許可されている。
## 異なる点
### ネットワークACL
– サブネット単位でポート番号を制御することが可能。
– 新規作成する際、デフォルト設定は、全ての通信が許可されている。
– ステートレスのため、戻りの通信で使用するポート番号を考慮する必要がある。
– 通信経路のポート番号を「拒否」することが可能。
– 最も低い番号のルールから順にルールを処理される。### セキュリティグループ
– EC2インスタンス単位で制御することが可能。
– 新規作成する際、デフォルト設定は、全ての通信が許可されていない。
– ステートフルのため、戻りの通信で使用
AWS日記42 (AWS Certificate Manager)
# はじめに
今回は [AWS Certificate Manager](https://aws.amazon.com/jp/certificate-manager/) を利用し SSL/TLS 対応のサブドメインを作成します。
ブラウザから作成したサブドメインにアクセスし、証明書を確認します。# 準備
– Route53を利用してドメインを登録します
– 参考:[AWS日記② (AWS Lambda)](https://qiita.com/tanaka_takurou/items/3f93295de6cff060ec09)
– 今回は「labo.systems」が登録済みなので、このサブドメインを作成します# サブドメイン作成
– 「証明書をリクエスト」をクリックします

・スナップショット
・アウトバウンドのデータ転送量Amazon EBSの価格を決定する要素は以下の3つ
・データ容量(ボリューム)
すべてのEBSボリュームタイプのボリュームストレージは、ストレージを解放するまでに、月毎にプロビジョニングするGBの量によって課金される・アウトバウンドのデータ転送量
アプリケーションから転送
AWS Certified Security – Specialty(SCS-C01)に合格するまで
今回はSCSを取得しました。
以下取得するまでの流れです。## 事前の知識
・インフラエンジニア歴7年くらい
・AWS経験は1年くらい
・CLP、SAA、SOA、DVA取得済## 勉強内容
**・総勉強時間:30hくらい(1ヶ月弱)**
過去試験と同じく平日は2hくらい、土曜は5hくらい。直前はさらにがっつりやりました。
GWもがっつりやれましたが、GW後はちょっとダレて少しペースが落ちました。
長期休暇後のメンタルってけっこう難しいですね。試験は勉強開始時点で合格者の情報拾って1ヶ月後で予約しました。
合格者の情報は問題集と同じくkoiwaclubで拾ってます。**・勉強内容①:問題集**
今回からは新たに要点整理シリーズです。
ボリュームは多くも少なくともなく、
掴みとしては過去
オンプレのサーバーからS3にバックアップする方法
# はじめに
以前に[オンプレのSubversionサーバーをクラウドへ移行](https://qiita.com/nkojima/items/f52e3b9e6b3ce86403a3)という記事に、S3へバックアップを保管する方法について書いたことがあります。
上記の記事は「AWS上のサーバー(EC2)からS3へのバックアップ方法」となるため、今回は改めて「オンプレのサーバーからS3へのバックアップ方法」についてまとめてみました。
# AWS上のサーバーとの違い
[オンプレのSubversionサーバーをクラウドへ移行](https://qiita.com/nkojima/items/f52e3b9e6b3ce86403a3)に書いてある内容との相違点は以下の通りです。
1. Amazon Linuxではないため、AWS CLIをインストールする必要があります。
1. S3にアクセスするためのユーザーを作り、そのユーザーのアクセスキーを使う必要があります。
* AWS上のサーバーは「ロールを付与」することでS3にアクセスできますが、オンプレ環境ではこの方法は使えません
AWS Amplify + Vue.jsでサーバレスアプリ開発 vol.3
# 概要
こちらの記事を参考に、サーバーレスでwebアプリ開発をしたメモシリーズの2つ目です。
https://qiita.com/minato-naka/items/7b445bcf0794189e65a0[vol.1](https://qiita.com/yuukieiu/items/c9681d6e0287e351f0aa)
[vol.2](https://qiita.com/yuukieiu/items/738f8b0803c673ac3e72)# Hostingでアプリ公開&自動デプロイ実装編
vol.2の終わりに書いた通り、[⑥ Hostingでアプリ公開&自動デプロイ実装編](https://qiita.com/minato-naka/items/3123950aa852ee3250fe)になります。## AmplifyのHostingで自動デプロイ設定
今回は自前のGitHubリポジトリを用意して、そこからデプロイするようにします。
ここまでリポジトリを用意しないまま進んできたので、用意してコミットしておきます。Hostingを使用するようコマンド実行し
AWS CLIの–queryについて殴り書き
## この記事
AWS CLIのqueryオプションと色々格闘した時に知ったことのメモです## 前知識
AWS CLIのqueryオプションは[JMESPath](https://jmespath.org/)を用いています
[こちらのサイト](https://jmespath.org/tutorial.html)で色々とお試しできます## 対象
“`
aws ec2 describe-instances –filters Name=tag:Owner,Values=Dohara
“`
– [describe-instancesコマンド](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)
– インスタンスは2台で、それぞれのNameタグは以下のとおりです
– dohara-dev-xxx
– dohara-dev-yyy
– 見やすさのため、必要な項目以外は省略しています“`
{
“Reservations”: [
{
“G
amazon linuxでcomposer updateが出来ないエラーの解決法
composer installは出来たのにupdateが出来なくて数日間悩んだので、備忘録的に書いていきます。
:::note info
**環境**
Windows10(Puttyコマンド使用)
PHP7.4.28
Apache2.4.53
:::
:::note info
**前提**
・Apache, PHP, composerのインストールが終わってる
:::## 問題と試したこと
~~~
composer update
~~~
と実行すると、はじめはこんな感じのエラーが。。~~~
PHP Warning: Module ‘curl’ already loaded in Unknown on line 0
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Lock file operations: 0 installs, 10 updates, 0
AWSコンソールへの多要素認証方法について
# 多要素認証とは
一般的なユーザID、パスワード以外の第三の情報と合わせて認証する仕組み。
詳しくは[こちら](https://ja.wikipedia.org/wiki/%E5%A4%9A%E8%A6%81%E7%B4%A0%E8%AA%8D%E8%A8%BC)を参照# AWSコンソールのユーザについて
AWSコンソールの管理ユーザの位置づけには以下の二つがある
・ルートユーザ:
文字通り、root権限を持った最上位のユーザアカウント・IAMユーザ
ルートユーザが作成した運用上の管理者アカウントIAMユーザ権限で基本的な作業を行い、何か問題があったり、IAMユーザの権限を操作したい場合にルートユーザを利用する環境が望ましい。
ルートユーザはAWS契約をするときのメールアドレス、パスワードでログイン可能なため、まずはIAMユーザの作成について記載。
# IAMユーザの作成
詳細な手順は[こちら](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users_create.html#id
AWSの料金体系について
AWSのcloud9を使ってクラウド技術を学習してる。
お金関係把握してないのが不安なので一応メモしとこう。ドルって怖い
1-1. 使用した分だけ料金を払う従量制料金である
1-2. 契約するサービスによって料金が変わる
↓
Amazon EC2の場合は、主に以下の要素によって料金が決まります。
①インスタンスのタイプ(t2.nanoなど)
②サーバーの台数
③使用したストレージ容量(GB)
④Amazon EC2からインターネットへ送信されたデータ転送量(GB)1-3. AWSの料金を決める3つの要素
AWSの料金は主に3つの要素によって決まります。その3つとは、①コンピューティング、②ストレージ、③データ転送(アウト)です。1-4.どのくらいお金がかかるのかを知るために
AWSの「簡易見積もりツール」の概要
Amazonでは、「簡易見積もりツール」という、AWS料金の見積もりができるツールが提供されています。簡易見積もりツールのマニュアルも準備されているため、確認しながら必要項目を入力すれば、簡単に見積もり金額を入手することができます。簡易見積もりツールの主な操
BeanstalkでLaravelのシンボリックリンク設定を起動時に済ませたい
Beanstalkでは「.ebextensions」ディレクトリ配下に予め準備しておいたファイルをもとに、起動時に自動でコマンドを打ってくれます。
“`config:set-timezone.config
# /.ebextensions/set-timezone.configcommands:
set_time_zone:
command: ln -f -s /usr/share/zoneinfo/Japan /etc/localtime
“`こんな感じ。
その勢いでLaravelのシンボリックリンク設定を自動化したかったんですが、そこで少し詰まったんで記事として書いておきます。
# うまく行かなかったケース
最初はこんな感じで記載していました。
“`config:starage-link.config
# /.ebextensions/starage-link.config
# シンボリックリンクを作成container_commands:
storage_link:
command: “php artisan storage:l
利用可能なAurora MySQLのエンジンバージョンの出力方法
## コマンド
“`sh
aws rds describe-db-engine-versions \
–engine aurora-mysql \
–query ‘DBEngineVersions[].EngineVersion’
“`
※ ‘aurora-mysql’を指定しているので、対象はMySQL5.7と8系になります。## 結果
“`json
[
“5.7.12”,
“5.7.mysql_aurora.2.03.2”,
“5.7.mysql_aurora.2.03.3”,
“5.7.mysql_aurora.2.03.4”,
“5.7.mysql_aurora.2.04.0”,
“5.7.mysql_aurora.2.04.1”,
“5.7.mysql_aurora.2.04.2”,
“5.7.mysql_aurora.2.04.3”,
“5.7.mysql_aurora.2.04.4”,
“5.7.mysql_aurora.2.04.5”,
“5.7.mysql_a
SSMでリモートホストにPortForwardingする
# はじめに
下記アップデートにて、SSMのドキュメントでPortForwardingができるようになりました。
https://aws.amazon.com/jp/about-aws/whats-new/2022/05/aws-systems-manager-support-port-forwarding-remote-hosts-using-session-manager/リンク先のドキュメントは何も書いてないに等しかったので、調査がてら試してみることにしました。
(尚、コンソールのセッションマネージャーやRunCommandからできたら楽だったのですが、現状はできない模様です)# やりたいこと
今回はローカルPCからプライベートサブネット上のDocumentDBにログインしてみます。
“`
【接続経路】
ローカルPC(WSL2)→EC2(AmazonLinux2)→DocumentDB(Port:27017)
“`
※接続先がDocumentDBなのは今案件で使っていて試しやすかっただけで他意はないです(EC2やRDSでも可能です)
※そのせいでMongo-sh
SQS、SNS、SNS+SQSからのイベントを比較してみた
## はじめに
業務でLambdaと組み合わせてSQSやSNSをよく使うのですが、イベントを正しくハンドリングする必要があります。
イベントの構造についてドキュメント等があるかもしれませんが、検証した方が早いと思い、自分で検証環境を作って確認してみました。## 概要
以下によるイベントの構造をLambdaでログ出力して検証します。
– SQS
– SNS
– SNS + SQS## 設定
### Lambda
以下のLambdaを作成し、イベントをログ出力します。
“`index.js
exports.handler = async (event) => {
console.log(`event: ${JSON.stringify(event)}`);
const response = {
statusCode: 200,
body: JSON.stringify(‘Hello from Lambda!’),
};
return response;
};
“`### IAM
LambdaがSQSの
Lambda boto3 の run-instances でEBSボリュームを暗号化した時の嵌り
Lambda 関数で boto3 を利用時、run-instances を使用して EC2 マシンを作成する際にEBSボリュームを暗号化する設定を入れると、インスタンス起動してすぐに Terminate されてしまいました。
“`
…(snip)…
response = client.run_instances(
BlockDeviceMappings=[
{
‘DeviceName’: ‘/dev/xvda’,
‘Ebs’: {
‘VolumeSize’: 20,
‘VolumeType’: ‘gp3’,
‘KmsKeyId’: ‘xxxx-xxxx-xxxx-xxxx-xxxx’,
‘Encrypted’: True
Amazon Lambda デプロイ&アップデート用のスクリプト(PowerShell)のテンプレ作ってみた
“`json:trust-policy.json
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Principal”: {
“Service”: “lambda.amazonaws.com”
},
“Action”: “sts:AssumeRole”
}
]
}“`
deploy.ps1
“`powershell:deploy.ps1
#メモリはデフォルト
#Layer不要の場合
$NAME = “LAMBDANAME”#Deploy用
Write-Output “————————————————————-”
$TIMEOUT = 60
$REGION = “us-east-1”
$ROLENAME = “ROLLNAME”
$HANDLERPATH = “main.FU
【AWS / Omniverse】 GPUインスタンスでOmniverse Createを動かす際GPUが認識されない
# TL;DR
AWSのGPUインスタンスでOmniverseを使うにはゲームドライバのインストールが必要でした。
手順はAWSにあるけど、Windows向けは英語しかないよ。# やりたかったこと
[Omniverse](https://www.nvidia.com/ja-jp/omniverse/)を触ってみたかったのですが、GPU複数枚が刺さったマシンを買うのはお財布的に厳しい……
AWSのGPUインスタンスなら初期投資がなくてもお試しできる!と目論見を立てました。# 実行環境
以下が一緒であれば再現すると思います。
– インスタンス: g4dn.xlarge
– GPU: Tesla T4
– OS: Windows Server 2022# エラー内容
Omniverse Launcher、Createのインストールは問題なく完了したので、Createを起動しようとするとスプラッシュ画面だけ出て反応しない。。。
実行ディレクトリをたどって`omni.create.bat`を直接起動すると、以下のエラーが出ました。OmniverseからGPUが認識さ