- 1. ECSタスクでHello World
- 2. AWS Glue でCodeWhispererがサポートされたので試してみた
- 3. Lambdaで「libcrypt.so.1: cannot open shared object file: No such file or directory」を解消
- 4. ConftestをCodeBuildで実行
- 5. Descheduler for KubernetesでPod(レプリカ)の再スケジュールを促す
- 6. AWS Public IPv4 Address有償化に向けて、全AWSアカウントの公開IP一覧を出す
- 7. AWSのRHELのmanコマンドを日本語化する
- 8. Patch Manager 本番・検証環境で時間を分けて自動パッチ適用をしてみた
- 9. AWSシステム構成図を作成するときに参考になった記事まとめ
- 10. VPC InternalなAWS Transfer for FTPをTerraformで構築する
- 11. 非インフラエンジニアがAWS SAA-C03に合格した方法
- 12. AWS CLF合格したのでメモ✏️
- 13. 給与明細WEBアプリ開発インフラ編
- 14. 東京リージョンにやってきた MySQL HeatWave on AWS を試す (4) サンプルデータを使って他のクエリを流してみる編
- 15. 使ってないDockerリソースはこまめに削除しないとエラーが発生する
- 16. 【個人開発】無料でクラウド環境のセキュリティ診断サービス「Cloud Security」をリリース
- 17. AWS上でWindows Serverのあれこれ試してみる ~Active Directory環境の構築~
- 18. Next.jsを使ってAWS Cognitoユーザープールにサインアップ・サインインリクエストしてみる【その①】
- 19. [AWS Q&A 365][AppSync]AWSのよくある問題の毎日5選 #100
- 20. [AWS Q&A 365][AppSync]Daily Five Common Questions #100
ECSタスクでHello World
## 使用するコンテナ
https://hub.docker.com/_/hello-world
コンテナを実行すると、以下のメッセージが出力されます。
“`
Hello from Docker!
This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently read
AWS Glue でCodeWhispererがサポートされたので試してみた
# 背景・目的
[AWS Glue StudioでAmazon CodeWhispererをサポートされた](https://aws.amazon.com/jp/about-aws/whats-new/2023/07/aws-glue-studio-amazon-codewhisperer/)ので、試してみました。:::note info
2023/7/30現在で、バージニアリージョンのみ提供となります。
:::# まとめ
– Glue Studioのノートブックで利用が可能
– 2023/7/30現在、バージニアリージョンのみ提供# 実践
## 前提
### IAMロールの作成
1. IAM画面で、「ロールを作成」をクリックします。
1. IAMポリシーの追加画面で、①「AWSGlueServiceNotebookRole」を選択し、②「次へ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/ec8418de-1648-b678-92
Lambdaで「libcrypt.so.1: cannot open shared object file: No such file or directory」を解消
# はじめに
今回の記事は、Ruby3.2でLambdaを使用しようとしたときに、「/var/lang/bin/ruby: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory」というエラーが出たので、”**力業**”で解消したときのお話です。もしかしたらRubyでも[こちら(Pythonです)](https://github.com/keithrozario/Klayers)のように、出来上がったレイヤーを配布しているかもしれませんので、お時間ある方は探してみてください。
# なぜエラーがでたのか?
Lambdaでは最近Rubyの3.2のランタイムが提供されるようになりました。しかし、Rubyのランタイムが依存しているLinux依存のライブラリまでは網羅されていないため、見つけることができずタイトルにあるエラーが出てしまいました。
# どのように解消したのか?
別の環境でライブラリをLambdaのレイヤーとし
ConftestをCodeBuildで実行
# はじめに
CFnテンプレートをチェックできるConftestについて、以前記事にしました。https://qiita.com/a_b_/items/994f5eec5a415ed57269
これをCodeBuildの中で使ってみようと思います。CodeBuildの簡単な使い方は以下になります。
https://qiita.com/a_b_/items/80cb3fe41b4efec1a271
# やってみた
## 環境
CodeBuild周りの環境は、以前作ったCFnテンプレートをそのまま用います。
https://qiita.com/a_b_/items/80cb3fe41b4efec1a271#cfn%E3%81%A7%E4%BD%9C%E3%82%8B
## ファイル
以下の3ファイルを作成します。
– sampleCreateRole.yaml
– policy/rolePolicy.rego
– buildspec.ymlまずはREGOファイルです。
“`rego:policy/rolePolicy.rego
package main
imp
Descheduler for KubernetesでPod(レプリカ)の再スケジュールを促す
# この記事の目的
WorkerNode上で起動するPod(レプリカ)数の偏りを自動的に解消するためにDescheduler for Kubernetesを導入したお話をざっくりと書いて残しておきます。# 前提
Descheduler for Kubernetesのバージョンは0.26.1です。
次のGitHubリポジトリに記載されている手順に従ってデプロイします。
https://github.com/kubernetes-sigs/descheduler5分間隔でJob Podを作成して処理が終わったら捨てたかったので私はCronJobを選びました。
`kustomize build ‘github.com/kubernetes-sigs/descheduler/kubernetes/cronjob?ref=v0.26.1’ | kubectl apply -f -`# Deschedulerをどのような場面で効かせたかったか
– とあるWorkerNodeが障害によってダウンし、新しいWorkerNodeをクラスタに追加したとき
– シンプルに新しいWorkerNo
AWS Public IPv4 Address有償化に向けて、全AWSアカウントの公開IP一覧を出す
2024年2月より、公開用のIPv4アドレス(elastic ip含む)が1つ約500円/月の有償化が決まりました。
# すべてのPublic IP利用を抽出
`AWS Config Advanced Query`が便利です
スコープをaws_allにして、“`sql
SELECT
accountId,
configuration.association.publicIp,
configuration.interfaceType,
availabilityZone,
resourceId,
tags,
configuration
WHERE
resourceType = ‘AWS::EC2::NetworkInterface’
AND configuration.association.publicIp > ‘0.0.0.0’
ORDER BY
accountId,
configuration.interfaceType
“`# EIPだけ抽出
公開用ipはEIPだけではないものの、EIPもそれなりの量になります。
全A
AWSのRHELのmanコマンドを日本語化する
以下のページにアクセスする。
https://linuxjm.osdn.jp/download.html全体のアーカイブから最新のアーカイブファイルへのリンクを右クリックし、リンクのコピーをする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3502854/6ec27aec-c614-4488-ea63-adfcac59a27c.png)以降はAWSのRHELにSSH接続後のコマンドライン上での操作。
rootにスイッチする。
~~~shell
sudo su –
~~~curlコマンドで先ほどコピーしたリンク先からアーカイブファイルを取得。(例はコピーしたリンク先が右記だった場合の例:https://linuxjm.osdn.jp/man-pages-ja-20230715.tar.gz)
~~~shell
curl -O https://linuxjm.osdn.jp/man-pages-ja-20230715.tar.gz
~~~tarコマンドでアーカイブファイ
Patch Manager 本番・検証環境で時間を分けて自動パッチ適用をしてみた
# はじめに
AWS Systems Manager に、Patch Manager と呼ばれる自動パッチ適用を提供してくれる機能があります。AWS 上はもちろん、オンプレミス側のマシンも含めたパッチ適用の自動化と管理ができます。なお、Patch Manager は、パッチファイルそのものを提供してくれるわけは**ありません**。rpm や Windows Update で利用するパッチファイルは、OS が参照している先から利用します。通常はインターネットで公開されている Amazon Linux の Repository などから取得する考え方になります。
今回の記事は、「本番環境」と「検証環境」の 2 環境が 1 AWS アカウントにあるときに、先に「検証環境」に適用して、一定時間後に「本番環境」に適用する手順を確認します。いきなり「本番環境」に適用してしまって問題を発生させたくないので、安全をみて「検証環境」から先にパッチ適用をします。
# 本番・検証環境用の BaseLine を用意
本番環境と検証環境で、対象とするパッチ基準をそれぞれ用意したいので、Baselin
AWSシステム構成図を作成するときに参考になった記事まとめ
## はじめに
この記事では、AWSシステム構成図を作成するときに参考になった記事を紹介します。## 学びの要点
**省略するな**## 参考になった記事
(1)「AWSのアーキテクチャ図を描きたい! でもどうすれば良いの ?」
AWS公式ブログです。
公式が「図を書くことに正解はない、心理的なハードルを下げていい」と言ってくれるのは安心できます。https://aws.amazon.com/jp/builders-flash/202204/way-to-draw-architecture/?awsf.filter-name=*all
(2)「AWSのアーキテクチャ図を描くときに意識していること」
一番参考になりました。「省略しない」重要性がわかります。https://zenn.dev/k_i/articles/6d76e43aa3bd84
(3)「draw.ioでAWSのインフラ構成図を書く」
draw.ioで実際に作成するときに参考になりました。https://qiita.com/nave-m/items/68425f476b25
VPC InternalなAWS Transfer for FTPをTerraformで構築する
# はじめに
AWS Transfer Family第2弾。
以前の記事はこちら。
– [EIP+セキュリティグループでセキュアにしたAWS Transfer for SFTPをTerraformで構築する](https://qiita.com/neruneruo/items/91c4b091adc9eaa62daf)前回はSFTPのプロトコルで実装したが、要件上InternalなのでFTPでも充分な場合の実装をしてみる。
# IAM
IAMは[前回の記事](https://qiita.com/neruneruo/items/91c4b091adc9eaa62daf#iam)と同じ内容で、サービスロールとユーザ用の両方を用意する。Lambda用のパーミッションも必要になるが、それはLambdaの項でまとめて書く。“`HCL
resource “aws_iam_role” “ftp_server” {
name = local.ftp_server_role_name
assume_role_policy = data.aws_iam_po
非インフラエンジニアがAWS SAA-C03に合格した方法
皆さん初めまして。
私は、普段はSierとしてローコード開発をメインに業務しております。
ローコードではありますが、Sierとして働く中で、SaaSパッケージの基盤になるのがAWSで、度々見かけることが多くなったため、せっかくだし私もAWSを学んでみよう!
と思ったのが今回受験するに至るきっかけです。そんな私が、インフラの知識0の状態でAWS SAAを約3か月勉強して合格できたので、
**・どうやって勉強したのか?**
**・使った本、参考書は?**
**・試験勉強で意識したポイントは?**など、私の所感ですが記事を残したいと思います。
以下の記事はこんな方向けです。
・AWS使ったことないけど知りたい、知るためにいい方法を見つけたい
・AWS SAAの資格試験の参考書が多すぎて何を選べばいいかわからない
・AWS SAAで実際にどういう問題がでるのか、雰囲気をつかみたい:::note warn
合格体験記として、あくまで「試験に合格するための勉強法」として記載しています。実際のサービスの使い方などについてはすっ飛ばしているため、ご承知おきを。
:::エビデンス
AWS CLF合格したのでメモ✏️
## 資格取得のモチベーション
– プロジェクトが変わるので心機一転でスキルアップのために受験
– 性格上、資格試験は向いていないのですが一番簡単な位置付けなのでちょっと頑張ってみようと思い## 勉強したこと
– 通称、緑本
– 1年前くらいに買っていて積読していた
– 各章の章末問題に使った
– Udemy
– 評判が良いのでセールの時に購入していて放置していた
– 基本と応用に分かれていて、応用は本番より難易度が高いとのこと
– 基本は9割くらい
– 応用は7割くらいの正答率を目指しつつ間違えたところを見直した
– 公式のトレーニング
– 無料だし、公式しか勝たん。ということでやった
– ちょっと古い情報もある
– 例えば、AWS Well-Architected は、`持続可能性`が書かれていなかったりした
– 公式の模擬試験
– 無料
– ただし、20問
– 試験3日前にやって85%だったので安心して試験に向かった## 感想
– 書籍とUdemyの基本問題の出題範囲を
給与明細WEBアプリ開発インフラ編
挨拶:このWEBアプリの開発は私がエンジンニアになって初めて携わった開発です。まだまだ勉強不足なところがありますので気になったところがあればお気軽にご指摘頂けたら幸いです。
アーキテクチャ図:
![screenshot .png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3321327/2cb18989-a111-f846-1fd3-dbb73c82b6a2.png)アーキテクチャの説明:
今回はシンプルで必要最小限の構成で設計しました。ポイント
1.フロントサーバーとバックエンドサーバーをプライベートサブネットに置き
ALBを通して外部と通信できるようにしてます。
サーバーを直接インターネットに公開せず保護することができます。
パブリックサブネットにメンテナンスサーバーを一つ設置して
必要な場合はこちらのメンテナンスサーバーからアプリケーションのサーバーに接続して
サーバーの中身を操作します。2.将来アクセスの増加によりサーバーがマルチAZに構成を変更する可能性もあり
ALBを経由することで
東京リージョンにやってきた MySQL HeatWave on AWS を試す (4) サンプルデータを使って他のクエリを流してみる編
こちらの記事の続きです。
– **[東京リージョンにやってきた MySQL HeatWave on AWS を試す (3) バックアップをリストアしてサイズを変えてみる編](https://qiita.com/hmatsu47/items/4c61ce90adcdbbea74e9)**
https://qiita.com/hmatsu47/items/4c61ce90adcdbbea74e9
「on AWS」固有の内容ではないのですが、(2) でロードしたサンプルデータを使い、別のクエリを流して HeatWave の効果を確認してみます。
:::note warn
2023/7/29 時点の情報です。
今後、結果などが変わる可能性があります。
:::## 試すクエリの内容
サンプルデータには複数のテーブルがありますが、そのうち
– `part`
– `partsupp`の 2 つを使った集計クエリ(`GROUP BY`して`SUM()`)、および
– `supplier`
を加えた 3 つのテーブルの単純な結合、の 2 種類のクエリを試します。
:::note
使ってないDockerリソースはこまめに削除しないとエラーが発生する
## 事象
Amazon ECRにイメージをプッシュするために、Dockerコンテナをビルドしようとしたところ、以下のエラーが発生しました!
**ENOSPC: no space left on device**“`
docker build –build-arg AWS_ENV_PATH=<パラメータストアのパス> -t <タグ名> -f
“`## 対処法
この問題の原因はディスクスペースの不足でした!使っていないDockerリソースを削除することで、問題を解決しました!具体的には、以下のコマンドを使用しました!
“`
docker system prune -a
“`これにより、未使用のDockerイメージ、コンテナ、ボリューム、ネットワークが削除され、ディスクスペースが解放されました!今後は、使っていないDockerリソースをこまめに削除するようにします!
自らの備忘録のために投稿してますが、なにかお役に立てましたら幸いです!:clap:
また、なにか間違ってましたらご指摘いただけますと幸い
【個人開発】無料でクラウド環境のセキュリティ診断サービス「Cloud Security」をリリース
先日、「**Cloud Security**」という無料で使えるクラウド環境のセキュリティ診断サービスを公開しました。
Cloud Security
https://app.cloudsecurity.jp/本記事はそのサービスの使い方の説明です。
「クラウドセキュリティ診断ツール」を開発しました。(※無料)
ドンドン機能を追加してく予定です。
(将来的には「IASM: Internal Attack Surface Management」にする予定)
ーーー
Cloud Security https://t.co/sEPNlFgHmS pic.twitter.com/inXe1CK1g0— motikan2010 (@motikan2010) July 27, 2023
## 使い方
### アカウント作成
最初はアカウントの登録を行います。
1. サイト( https://app.cloudsecurity.jp/ )にアクセスします。
ログイン画面が表示されますので、「新規登録」画面へアクセスします。
2. アカウント情報を入力し「新規登録」ボタンを押下します。
AWS上でWindows Serverのあれこれ試してみる ~Active Directory環境の構築~# はじめに
AWS上でActive Directoryのドメインコントローラーを作成したのであれこれ備忘録として残していきます。# 目次
Active Directoryって?
AWS構成図
AWSネットワーク構築
AWSサーバーインスタンス構築
Elastic IP 設定
OSの初期設定
ADのインストール
動作確認
さいごに# Active Directoryって?
Active Directory(アクティブディレクトリ)は、Microsoftが提供するネットワークサービスおよびディレクトリサービスです。主にWindowsベースのネットワーク環境で利用されます。今回はActive DirectoryをADと略していきます。
主な機能は以下の通りです。
– ADは、ユーザーアカウント、コンピュータ、プリンタ、ファイル、グループなどのリソースをオブジェクトとして階層的なデータベースで管理。ユーザアカウントの作成、更新、削除が可能。
– ADは、ネットワーク全体を1つ以上の「ドメイン」と呼ばれる論理的な区分に分割。各ドメインは独自のセキュリティルールで管理可能。
–
Next.jsを使ってAWS Cognitoユーザープールにサインアップ・サインインリクエストしてみる【その①】
# はじめに
普段のお仕事ではフロントエンドを担当していて、主にNext.js × TypeScriptを使用しています
AWS資格の勉強をしているものの、AWSに触れる機会がなく
気になっていたAWS Cognitoを使って遊んでみました2回に分けて記事を書いていきます!
## AWS Cognitoとは?
AWSが提供する、Webアプリとモバイルアプリ用のユーザー認証サービスです
Cognitoには主に2つの機能があります– **ユーザープール**
– ユーザーのサインアップやサインインができる
– **アイデンティティプール**
– ユーザにアクセス許可を割り当てたり、外部サービスと連携してサインインできる今回はサインアップ(ユーザーの作成)が行いたいので、ユーザープールを使用します
## Cognito側の準備
早速ユーザープールを作成していきます### ①サインインエクスペリエンスを設定
どの要素でユーザーがサインインできるかを決めます
今回は**ユーザー名**、**Eメール**両方からサインイン
[AWS Q&A 365][AppSync]AWSのよくある問題の毎日5選 #100
# 1. AWS AppSyncは、顧客データのセキュリティを確保するためにどのような対策を講じていますか?
回答: AWS AppSyncは、データの静止時および転送時の暗号化、AWS Identity and Access Management (IAM) および Amazon Cognitoを利用した細かなアクセス制御、AWS Shieldを用いた一般的なWeb攻撃からの保護など、多数のセキュリティ機能を提供しています。# 2. AWS AppSyncは、顧客が自身のデータへのアクセスを制御できますか?
回答: はい、AWS AppSyncは、IAMおよびAmazon Cognitoを通じた細かなアクセス制御で、顧客が自身のデータへのアクセスを制御できます。顧客は、カスタム認証および承認メカニズムも使用できます。# 3. 顧客は自分の暗号化キーをAWS AppSyncと共に使用できますか?
回答: はい、顧客は自分の暗号化キーをAWS AppSyncと共に使用できます。AWS AppSyncは、静止時の暗号化のためにAWS Key Management Service (
[AWS Q&A 365][AppSync]Daily Five Common Questions #100
# 1. What measures does AWS AppSync have in place to ensure the security of customer data?
Answer: AWS AppSync provides multiple security features such as encryption at rest and in transit, fine-grained access control with AWS Identity and Access Management (IAM) and Amazon Cognito, and protection against common web attacks with AWS Shield.# 2. Does AWS AppSync allow customers to control access to their data?
Answer: Yes, AWS AppSync allows customers to control access to their data with fin