- 1. TerraformでECSライフサイクルを設定したときにハマったこと
- 2. 初めてJAWS-UGに参加して運営もやることになった話
- 3. AWS CostExplorerの直近2日間のデータは当てにしてはいけない
- 4. EC2 Instance Connectを使用して特定のEC2インスタンスに接続できるユーザーを設定する
- 5. 【AWS】【Rails】ログインリクエストをSQLiだと判定されてしまった際のメモ
- 6. 2023年にCCoEリードとしてやったこと
- 7. AWSで同じセキュリティグループ内でのトラフィックを許可する方法: TerraformとCloudFormationの比較
- 8. 【AWS】Amazon EC2 を利用した Web サーバーを構築してみた
- 9. 【AWS CDK】CDKメリット IAM Grant Methodが熱い
- 10. 【AWS CDK】エスケープハッチ IAM Policyの上書き
- 11. Aurora間のデータ連携時に発生したタイムアウトエラーを検証する
- 12. AWS DMS Serverlessのログが出力されない
- 13. 【aws cli】基本コマンドと使い方
- 14. CloudWatchのログメッセージをまとめて取得するPythonコード
- 15. [ TypeScript/JavaScript ] LambdaからSlackへカスタム通知を送る方法
- 16. 機会学習を利用したRDSレコメンデーションの追加について
- 17. AWSとGoogle Cloudの利用経験あるサービスを雑多に比較してみる
- 18. AWS Card Clashを遊んでみる
- 19. AWSの社内研修を作る(検討編)
- 20. VPCネットワーク内での350秒のタイムアウトを確認してみた
TerraformでECSライフサイクルを設定したときにハマったこと
# 初めに
現場でAWSのコンテナサービスであるECSを利用し、システムを構築した際のハマったポイントについて共有します。# そもそもECSとは
Amazon ECS(Elastic Container Service)はコンテナ化されたアプリケーションを簡単にデプロイ、管理、スケーリングできる、完全マネージド型のコンテナオーケストレーションサービスです。(AWS公式ドキュメントより)https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/Welcome.html
コンテナ化したアプリをマネージドサービスで利用したいという場合に選択されることが多く、 CI/CDパイプラインと合わせて導入されるケースも見受けられます。
ECSでは、コンテナをタスク定義という形で記述します。
![ECSサンプル.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50168/f9867560-548b-b7b3-0a67-0
初めてJAWS-UGに参加して運営もやることになった話
## はじめに
2020年に入社してすぐにコロナが流行して、オフラインイベントの開催が難しい期間が続いた。当時オンラインイベントなど開催されていたが、最近になってやっとオフラインイベントの開催が増えてきた。両方参加してみた自分がオンラインイベントとオフラインイベントの違い・JAWS-UGに参加してどうだったかまとめてみようと思う。## 参加することになった経緯
コロナが落ち着いてオフラインイベントが開催されるようになり、社内でも話題に上がったのが「JAWS-UG 東北 〜東北エンジニアの祭典〜」。なんでも東北支部が全部集まって開催するからJAWS-UGの中でも規模が大きいらしい。「そこで登壇してみない?」と上司に誘われた。正直、初めてのオフラインイベントがそんな人の多いところは緊張するけど、これも経験だと思って登壇者枠で申し込んだ。これがJAWS-UGに参加することになったきっかけ。(社内にトップエンジニアなど最前線で活躍する方がいて、自分もそうなりたいと思ったのもある。)
## JAWS-UG 東北 〜東北エンジニアの祭典〜
仕事が忙しく、その合間に発表資料の準備をする。平
AWS CostExplorerの直近2日間のデータは当てにしてはいけない
AWS CostExplorerについて、最近「え〜?!」と思ってしまったことがある。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50571/e977739a-acd6-8212-97af-bb0eb9b326af.png)
__表示日時がUTCである__ ・・・それはまあそうだと思う。違和感はない。
__当日のデータは今まさに増加中の数値__ であって結果ではない(例えばラベルが「12月11日」なら日本時間で12月11日09時から12月12日09時まえまでの時間は今まさに増加中の数値)。これも当然そうだと思う。
__データの更新頻度はそんなに高くない__。 _”Cost Explorer refreshes your cost data at least once every 24 hours.”_([引用元](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html)) そうだ
EC2 Instance Connectを使用して特定のEC2インスタンスに接続できるユーザーを設定する
https://qiita.com/ran/items/7ae62f7dba2bba49e330
EC2インスタンスを作成したりできるIAMユーザーでEC2 Instance Connectを使用したssh接続をする場合は、権限など特に気にしませんでしたが、特定のインスタンスだけに接続できるユーザーを作りたい場合もあると思います。
# IAMの設定
## ポリシーの作成
EC2 Instance Connectを使ってssh接続するための権限を設定した以下のようなポリシーを作ります。
ec2-instance-connect:OpenTunnelのResourceには、目的のEC2インスタンスに接続できるEC2 Instance ConnectエンドポイントのARNを入れ、ec2-instance-connect:privateIpAddressには、目的のEC2インスタンスのプライベートIPv4アドレスが含まれるものを入れてください。“`json
{
“Version”: “2012-10-17”,
“Statement”: [
{
【AWS】【Rails】ログインリクエストをSQLiだと判定されてしまった際のメモ
# はじめに
※当記事にはWAFの設定に関しての具体的内容は含まれていない旨ご了承ください🙏
Rails及びAWSを活用した案件開発を行っていたある日のことでした# 問題
「特定のユーザーがログインしようとした際、必ずエラー画面が表示されてしまうので調査頂きたい」といった趣旨のお問い合わせがありました。
ひとまずアプリケーションのログをAthenaで追ってみても問題事象に関連していそうなログが残っておらず、一見して原因が分からないという状況でした。# 今回の対処法: WAFの検証ルールを緩和
アプリケーションのログに何も残っていないという点から、より前段で止まっていると仮定してWAFのログを確認しました。すると以下のようなログが残っていました
~~~
AWS-AWSManagedRulesSQLiRuleSet
MANAGED_RULE_GROUP
BLOCK
[{conditiontype=SQL_INJECTION, location=BODY, matcheddata=[authenticity_token, &, user, [login_name], –dayo&
2023年にCCoEリードとしてやったこと
皆さん、こんにちは。
KDDI CCoE(*1)の柴田です。::: note info
この記事は [CCoEクリスマス!クラウド技術を活用して組織をカイゼンした事例を投稿しよう! by KINTOテクノロジーズ Advent Calendar 2023](https://qiita.com/advent-calendar/2023/kinto-technlogies) の2023年12月21日の投稿です。
:::KINTOテクノロジーズさんが手掛けるCCoEのアドベントカレンダーに参加し、
~~忙しいことを言い訳に逃げていたら~~ **何を書こうか迷っている間に1日遅れましたが、**
2023年にKDDI CCoEでやった主なことを3つ書きます!※1:CCoE = Cloud Center of Excellence の略称。
自社内のクラウド利用推進をさまざまな形で支援・牽引する専任組織を指す。※2:本記事は個人の見解であり、組織の公式見解とは一切関係がありません。
# KCLUVIT(クラウド利用状況可視化ツール)の開発
KDDIは、AWSを中心にクラウド活
AWSで同じセキュリティグループ内でのトラフィックを許可する方法: TerraformとCloudFormationの比較
# はじめに
このブログでは、Amazon Web Services(AWS)上でセキュリティグループ内でのトラフィックを許可し、特にセキュリティグループが自己参照(self-referencing)を行うための手法に焦点を当て、その実現においてTerraformとCloudFormationの利用方法を紹介します。同じセキュリティグループ内での通信を可能にすることは、アプリケーションやサービスの連携を確保し、セキュアで効果的なネットワークを構築する上で不可欠です。## Terraform コード
“`terraform: main.tf
# Variables
variable “vpcid” {
description = “VPC ID where the security group will be created”
default = “vpc-abc456def7” # Replace with your actual VPC ID
}variable “tag” {
description = “Tag for the securit
【AWS】Amazon EC2 を利用した Web サーバーを構築してみた
# はじめに
これは「imtakalab Advent Calendar 2023」の 23 日目の記事です。https://adventar.org/calendars/9285
こんにちは :tada: そこらへんにいる私立理系大学の学部 4 年生です :bomb:
# 背景
自分が所属している研究室では Web アンケート作成ツールの [Qualtrics](https://www.qualtrics.com/jp/lp/qualtrics-watch-demo/?utm_source=google&utm_medium=ppc&utm_campaign=JP-Brand-EXACT-RLSA&campaignid=1697490378&utm_content=brandpure–general&adgroupid=65745153066&utm_term=%E3%82%AF%E3%82%A2%E3%83%AB%E3%83%88%E3%83%AA%E3%82%AF%E3%82%B9%20%E4%BD%BF%E3%81%84%E6%96%B9|e&utm_keyword
【AWS CDK】CDKメリット IAM Grant Methodが熱い
## はじめに
AWS CDKにおいて個人的に「これいいよね」、「これ便利だよね」ってものをご紹介できればと思います。
「あ、これ使ってみたいかも」とか思われたらAWS CDKのご利用をご検討頂ければと思います。
今回は「IAM Grant Method」です。
※ 本ブログに記載した内容は個人の見解であり、所属する会社、組織とは全く関係ありません。## IAM Grant Methodとは
CDKで用意しているシナリオに沿って、対象のRoleに簡単にPolicyを投入出来ます。
ようは、このリソースをこんな感じで触りたいというシナリオに沿ったPolicyを自動生成し、Roleにアタッチするためのものになります。
言葉だけだと分かり辛いので、ユースケースに沿ってご紹介させて頂きます。## ユースケース
### ユースケースイメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3635217/4960f7b0-8735-9692-48f7-de7928d23f6d.png)
【AWS CDK】エスケープハッチ IAM Policyの上書き
## はじめに
AWS CDKを利用する場合、基本的にL2 or L3 Constructsを利用すると思います。
これらのConstructsは非常に便利でCDKを利用する大きな理由になると思います。
しかし、、たまに実装したい設定とConstructsで実装される環境が微妙に違うし、調整できるようなMethodも用意されていないというケースがあると思います。
その際は、一度部分的にL1に落とし込んで、プロパティを上書する手法がありそれをエスケープハッチと呼びます。ただこのエスケープハッチの対応するのはちょっとめんどくさかったりします。
なので、備忘録&個人的なチートシートの意味を込めての作ってみた系のエスケープハッチを作っていく経緯を追いながらご紹介していければと思います。※ 本ブログに記載した内容は個人の見解であり、所属する会社、組織とは全く関係ありません。
## 今回のケース
IAM Grant Methodを使うとシナリオに沿ったPolicyを自動生成し、対象のRoleにアタッチしてくれます。
この自動生成されたPolicyを上書したいというケースになります。
普通
Aurora間のデータ連携時に発生したタイムアウトエラーを検証する
## はじめに
この記事は [アイスタイル Advent Calendar 2023](https://qiita.com/advent-calendar/2023/istyle) 22日目の記事です。こんにちは。アイスタイルでショッピングを担当しているtsuboikeと申します。
12月に入っても温かいなぁと思っていたら中旬を越えてから急に冷え込んできました。
寒いと言えば北極。北極と言えばオーロラ。オーロラと言えばAWS。
(ちょっと強引なくらいが丁度いいと思っている昭和世代のためご了承ください)今回は新システムを構築した中で、既存のAuroraからのデータ連携において、連携数が一時的に多くなる時間帯においてエラーが頻発した事象についての対応を記します。
## システム構成
* 既存Auroraの更新をDMSで更新を察知し、新Auroraに連携する【システム構成図】
![qiita.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3036117/a4907842-0440
AWS DMS Serverlessのログが出力されない
## 問題
* AWS DMS Serverlessを作成し、ログ出力を有効にするだけでは、CloudWatch Logsへの書き込み権限がなく、Log Groupが作成されない模様
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2220364/45a4d14a-187b-9c79-e941-e75cf3ba1a5a.png)## 対策
* 以下のIAMロールの作成が必要となる。
* 特にアタッチする必要はなくIAMロールが存在していれば、ログ出力されるようになる。|設定項目|値|
|-|-|
|ロール名|dms-cloudwatch-logs-role|
|ポリシー名|AmazonDMSCloudWatchLogsRole|
|信頼ポリシー|AWSサービス(AWS DMS)|:::note warn
ロール名は固定値で設定する必要がある
:::
参考ページ:https://repost.aws/ja/knowledge-center/dms-cloudwatch
【aws cli】基本コマンドと使い方
## aws cliの基本コマンドと使い方
こんにちは。今回は、aws cliについて初心者エンジニアに向けて、基本コマンドと使い方について解説します。
### aws cliのインストールと環境設定
まずは、aws cliをインストールし、環境設定を行いましょう。
aws cliのインストール方法は、公式ドキュメントを参考にすると良いでしょう。以下のurlからダウンロードできます。
– [https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
インストールが完了したら、`aws configure`コマンドを実行して、アクセスキーとシークレットアクセスキーを設定します。
“`shell
$ aws configure
aws access key id [none]: your_access_key
aws secret acc
CloudWatchのログメッセージをまとめて取得するPythonコード
# できること
– StepFunctionsのMap処理のような、1日の中で複数回起動したAWSサービスのログをまとめて取得することができる。
– 今回は以下のドキュメントのMap処理を実行したときのtest_invoke_2のprintをlogger.infoに変えたものを取得する。
– https://qiita.com/komata/items/b25159ff9d9915c64c83
– 24時間以内のログのみが取得できる。# 全体ソースコード
“`python
import os
import boto3
from logging import getLoggerlogger = getLogger(__name__)
def lambda_handler(event, context):
logger.setLevel(os.getenv(“LOG_LEVEL”, “INFO”))
log_group_name = event[“LogGroupName”] # CloudWatchのロググループを指定する
[ TypeScript/JavaScript ] LambdaからSlackへカスタム通知を送る方法
# はじめに
この記事は、[ミロゴス Advent Calendar 2023](https://qiita.com/advent-calendar/2023/milogos) 22日目の投稿です。業務でLambdaからSlackへAWS Chatbotのカスタム通知を送る実装を行ったので、実際のコードとポイントを紹介していきたいと思います。
既にSlackチャンネルと紐づいたSNSトピックを作成済みの前提で、カスタム通知をLambdaから送信する方法を記述していきます。# カスタム通知とは
Chatbotのカスタム通知は通常の通知とは異なり、ユーザー側でメッセージをカスタマイズすることが可能です。今まではSlackで任意のメッセージ通知を行いたい場合、LambdaとSlackのIncomming Webhook機能を組み合わせて使うことが主流だったかと思います。
Chatbotのカスタム通知機能の登場により、Slackと紐づいたSNSトピックを準備するだけで任意のメッセージを送ることが可能になりました。# 実行環境
– **AWS CDK**
– パッケージ:
機会学習を利用したRDSレコメンデーションの追加について
# ■概要
RDSに関するちょっとした機能追加になりますが、
機械学習(ML)を用いたものを含む、いくつかのレコメンデーションが追加されたようです。Amazon RDS launches an enhanced experience for RDS Recommendations
https://aws.amazon.com/jp/about-aws/whats-new/2023/12/amazon-rds-enhanced-experience-rds-recommendations/# ■追加された機能について
上記の公式URLによると、機会学習を利用したパフォーマンス異常に関するもの、構成のベストプラクティスや閾値ベースで見たパフォーマンスに関する推奨事項などが
RDSのレコメンデーションとして表示されるようです。またその他要点は以下となります。
・重要度によって優先順位付けされた推奨事項をリストで見れる
・キーワード検索や重要度などで簡単にフィルタリングが出来る
・リストでは複数のリソースの推奨事項を同時に確認できる
・リストから推奨事項に沿った変更をそのま
AWSとGoogle Cloudの利用経験あるサービスを雑多に比較してみる
この記事は [セゾン情報システムズ Advent Calendar 2023](https://qiita.com/advent-calendar/2023/sisco) 22日目シーズン2の記事です。
## 背景
Google Cloudメインのクラウド環境から再びAWSメインの環境に戻ってきました。Google Cloudで様々なサービスを扱う経験をさせてもらいまして、せっかくなので忘れない内に各サービスの感想をAWSと比べながら語りたいと思います。流石に全てを比較しようとすると収拾がつかなくなりそうですので、印象的なコンテナサービスを中心に数を絞って記載します。
## 前提
・Google Cloudは2023年7月頃までの利用時の情報を元に記載します。AWSも少々扱う機会があったもののブランクがありました。それ故正解性に不十分な面があることをご承知おき下さい。
・機能の比較を綺麗に羅列されてる記事は多数ありますので、この記事では主観的に書くことを目的にしています。私の利用状況で偏りが出てしまう部分もあるかと思いますがご了承下さい。
・添付する画像は各クラウドの個人ア
AWS Card Clashを遊んでみる
AWS SkillBuilderを眺めていたらカードゲームが追加されていたので遊んでみた感想です。
ルールを把握するまでは戸惑いましたが慣れるとなかなか面白く、不思議な中毒性のあるゲームでした。## AWS Card Clashとは
公式の説明より抜粋
> AWS Card Clash is a 3D virtual card game that helps learners gain knowledge of AWS Cloud architectures, and provides a new and engaging way to learn about AWS services and solution design. It uses strategic turn-based gameplay help individuals at all skill levels gain a working knowledge of AWS services, and how they interface within a solution.
訳: AWS Card Clashは、
AWSの社内研修を作る(検討編)
## はじめに
社内でAWS初学者を作ることになりました。
どのように作っていくかを記事にしていきます。
## 経緯
研修費用削減とAWS教育コンテンツ拡充をすることが目的です。昨年度、私たちのチームでは「インターンシップ(ワンデー仕事体験)」プログラムの改善をテーマとしてオンプレ環境からAWS環境への移行を行いました。
(昨年度の活動内容はこちら)https://qiita.com/kei_diver/items/8c65bfce7826a4f2e2c0上記のようにAWSの社内活用を進めていく中で**外部のAWS研修に代わる社内研修プログラムを構築できないか**という話があり、まずは検討から進めていくことになりました。
## 資料作成
下記2つの内容を基に研修資料の作成を進めました。
* 新卒研修で実施しているAWS研修
* 外部研修研修内容は下記の章立てで構成しています。
(一部抜粋して資料添付しています)
* 「クラウド」概要
* クラウドとは
* クラウドのサービスモデル
![image.png](https://qiita-image-store.s3
VPCネットワーク内での350秒のタイムアウトを確認してみた
# はじめに
この記事は[Optimind Advent Calendar 2023](https://qiita.com/advent-calendar/2023/optimind)の22日目の記事となります。# 概要
最近NATゲートウェイなどを経由した(AWS Lambdaなどの)同期通信が350秒程度で通信が切断されてしまうということを知りました(詳しくは以下の記事を参考にしてください)。なので、AWS LambdaやEC2を建ててみて実際にタイムアウトするかを簡単に確認してみたいと思います。https://aws.amazon.com/jp/blogs/news/jp-implementing-long-running-tcp-connections-within-vpc-networking/
https://repost.aws/ja/knowledge-center/lambda-vpc-timeout
## 実験
まずAWS LambdaからAWS Lambdaとの同期通信を試してみます。次に、Private Subnetの中に建てたEC2からAWS La