- 1. 3大クラウドサーヴィスについて簡単に解説(学習まとめ)
- 2. CloudTrailのログをAthenaで分析するための方法
- 3. Docker Compose と Amazon ECS を利用したソフトウェアデリバリの自動化 のエラー解決
- 4. AWS DataSyncとAzure File Sync 比較 ~前提条件定義編~
- 5. Lambda ローカルでサンプルアプリを動かす
- 6. RDS for Oracle のハンズオン (Immersion Day) をやってみて気づきを整理してみた
- 7. Dialogflow(GCP) + Lambda + Line Messaging API でLine Bot作ってみた
- 8. Googleトレンドで2022年のAWSを振り返る
- 9. AWSアカウントへのクレジット適用方法
- 10. Visual Studio のテンプレートを使ってAWSにWebAPIを作成する
- 11. 自己流AWSセキュリティインシデント発生時のMITRE ATT&CKの活用
- 12. 【Route53】「ゾーンシフト」を活用してAZ障害からトラフィックを素早く回避させよう【ARC】
- 13. AWS CodeCommit の HTTPS Git 認証情報を生成
- 14. AWS IAMアカウントの作成とaws configureの設定
- 15. Amazon GuardDuty RDS Protectionについて調べてみた
- 16. DynamoDB: 属性が動的なアイテムでの、既存アイテムの更新方法の検討
- 17. TerraformでAWSのIAMまわりをデプロイする
- 18. AWS Application Composer を試す
- 19. 【AWS Lambda】Python外部ライブラリのimportにおけるUnable to import module ‘lambda_function’エラーの対処方法
- 20. Amazon Redshiftのカーソル制限/トランザクション/データ型など気になった点
3大クラウドサーヴィスについて簡単に解説(学習まとめ)
今回は、(今更ですが、)巷で話題の「3大クラウドサーヴィス」について解説いたします。
非常に雑で、簡易な説明で申し訳ないのですが・・・(汗)。
時間の無い方や簡単に下調べを済ませたい方にどうぞ・・・(言い訳)。
それでは、よろしくお願いいたします~~。①「AWS」。Amazonが提供している。Amazonが自社で構築したシステムを一般向けに開放したもの。
同社はECサイトの構築や運用などのノウハウがあるので、同社と業態の近い企業にとっては好都合?。
コンピューティング、ストレージ、ネットワーク、データベースなどの各機能を柔軟にチョイスできる。
ちなみに、3大クラウドサーヴィスの中では最も歴史が長く人気が高いので技術資料・ノウハウが豊富。②「GCP」。Googleが提供している。Googleのカレンダーやスプレッドシートの機能を連携できる。
同社の強みであるページ検索や地図検索も利用できるのでスクレイピングなどで威力を発揮しそう。
ちなみに、クラウドサーヴィスとしては後発なので技術資料や活用ノウハウが少ないのが残念・難点。③「Azure」。Microsoftが提供している。E
CloudTrailのログをAthenaで分析するための方法
## はじめに
S3バケットに保管されているCloudTrailのログをAthenaからクエリを実行して参照する方法を後述
![スクリーンショット 2023-01-05 11.16.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/263017/18850e62-99a5-4c8f-833e-51bf1d4827a4.png)## 実装方法
* 証跡からログを保管しているS3バケットを確認
![スクリーンショット 2023-01-04 22.48.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/263017/a99e56b5-9e7c-2d65-94ed-6d6c88e486b9.png)* イベント履歴から、「Athena テーブルを作成」をクリック
![スクリーンショット 2023-01-04 22.43.18.png](https://qiita-image-store.s3.ap-northeas
Docker Compose と Amazon ECS を利用したソフトウェアデリバリの自動化 のエラー解決
# エラー内容
[Docker Compose と Amazon ECS を利用したソフトウェアデリバリの自動化](https://aws.amazon.com/jp/blogs/news/automated-software-delivery-using-docker-compose-and-amazon-ecs/)を手順通り実行していくと、CodePipelineの `ExecuteChangeSet` でエラーとなる。![98.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/e8fe0a9a-1edf-440a-71f1-2f753c5cc7c1.png)
![99.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/78e08f31-e942-b161-fe3e-27535aff5083.png)“`cmd:状態の理由
Resource handler returned messag
AWS DataSyncとAzure File Sync 比較 ~前提条件定義編~
あけましておめでとうございます。
本年もよろしくお願いします。
新年一本目の記事です。AWS DataSync(以下、DataSync)と Azure File Sync(以下、File Sync)シリーズの2本目の記事です。
1本目は記事はこちら
[AWS DataSyncとAzure File Sync 比較 ~共通点と相違点~](https://qiita.com/hidekko/items/9610ef551999f6ea1f37)前回の記事ではDataSyncとFile Syncの共通点と相違点についてまとめました。
結果、**DataSyncはクラウド(AWS)へのデータ移行専用ツール、File Syncはクラウド(Azure)へのデータ移行のみならず、Azureとオンプレミス両方を使ったハイブリッド環境での利用も想定したサービスである**、と結論付けました。
分かりやすいかと思いAWS、Azure、それぞれのサービスのイメージカラーで文字を色付けしてみました
Lambda ローカルでサンプルアプリを動かす
前回の記事でLambdaのローカル開発環境を構築したので、今回はAWSチュートリアルのサンプルをビルドして動かしてみる。
AWSのチュートリアルは下記を参考にする。
https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-getting-started-hello-world.html
前回執筆した記事は下記の通り。
https://qiita.com/nobumichi/items/e876a448b7be21e7e51a
# 作業環境
– Windows11 Pro 22H2
– Windows Terminal
– PowerShell 7.3.1
– Python 3.9.13
– aws-cli 2.9.11
– sam-cli 1.67.0
– git 2.39.0.windows.2# サンプルアプリ用の作業ディレクトリを作成する
任意の作業ディレクトリを作成する。私は`Documents`配下に`lambda`ディレク
RDS for Oracle のハンズオン (Immersion Day) をやってみて気づきを整理してみた
# はじめに
RDS for Oracle の細かい部分がよくわかってなかったこともあり、英語のハンズオンをやってみました。基礎から応用編まで詳細な使い方が紹介されているので、興味がある方はやってみても良いと思います。
https://catalog.us-east-1.prod.workshops.aws/workshops/61aa971f-90c8-4e97-b108-60683e3f9c36/en-US
上記のハンズオンをやってみて、個人的に気になった部分を備忘録的に紹介します。
# Creating an RDS Oracle Instance
https://catalog.us-east-1.prod.workshops.aws/workshops/61aa971f-90c8-4e97-b108-60683e3f9c36/en-US/2-foundation/lab1
RDS で Oracle Database を構成する章
Create Database
![image-20230103142047952.png](https://qiit
Dialogflow(GCP) + Lambda + Line Messaging API でLine Bot作ってみた
### 背景
母のお仕事の手助けとして、簡単なファスティング計算サイトを学生時代作っていたのですが、Herokuの無料公開プランが終了し閲覧不可になっていました。
これを機に、母に一番馴染みがあるLineで同じようなことをできないかと思い作ってみました。#### Dialogflow
GCPのチャットボットが簡単に作成できるサービス。
AWSでいうAmazon Lexのようなもの。
https://wk-partners.co.jp/homepage/blog/webservices/dialogflow/今回のようなLine等サービスとの連携や、Webhook設定も比較的簡単に行えました。
また、料金もテキスト認識であれば**無料**!!(1分あたり180リクエストまで)
Amazon Lexはお金かかっちゃうので、無料というところに惹かれました。#### Line Messaging API
LineBotを作成し、応答メッセージの送受信を行うことができる。
応答のパターンもユーザーの反応や流
Googleトレンドで2022年のAWSを振り返る
あけましておめでとうございます。本年もよろしくお願いいたします。
新年一発目は、Googleトレンドで2022年のAWSを振り返ってみます。
[AWS – 調べる – Google トレンド](https://trends.google.co.jp/trends/explore?date=2022-01-01%202022-12-31&geo=JP&q=AWS)
## 2022年 人気度の動向
年間通じてそれほど上下はない印象です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/d7fcb52e-48b8-86c3-cf0b-614335ff9e6d.png)
グラフがたまに下がっているところはゴールデンウィークやお盆、シルバーウィークなどです。なので皆さんお仕事中に検索してるんだと思います。
## 2022年 関連トピック(注目)
関連トピックとは
> 該当のキーワードを検索するユーザーは、これらのトピックも検索しています。次の指標ごとに表示できます。
AWSアカウントへのクレジット適用方法
# はじめに
ここではAWSアカウントにクレジットを適用する方法を記載する# 前提
これからの作業はAWS Budgetsを利用可能なことが前提となります
また適用可能な有効なクレジットが存在することが前提となります# 手順
## 1. AWS Budgetsのコンソールに移動し、左ペインの「クレジット」を選択する
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198480/e902ea51-c91c-adb2-3ca9-b93d36f3ace7.png)
## 2. クレジットの画面に遷移するので、「クレジットを適用」をクリックする
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198480/cf1b52dd-e9ee-762d-d9d5-2fdfbee085fd.png)
## 3. プロモーションコードと画面に表示されるセキュリティコードを入力し、「クレジットを適用」をクリック
Visual Studio のテンプレートを使ってAWSにWebAPIを作成する
# はじめに
AWS上にWebAPIを作成するときは、VisualStudioのテンプレートを使ってAWSにデプロイすると手早く環境を構築することができます。そのやり方について色々教える機会が増えてきたのでアウトプットしました。
# 前提条件
– Visual Studio 2022 をインストール済み。
– AWS Toolkit for Visual Studio 2022 をインストール、Credentialsを設定済み。# 作成手順
## プロジェクトの作成
Visual Studio 2022を起動し、「新しいプロジェクトの作成」をクリックします。
新しいプロジェクトの作成画面で、右上のテンプレートの検索から「C#」「AWS」を条件として選択します。
すると以下のように4つ程候補が表示されるので、今回は「AWS Serverless Application with Tests (.NET Core -C#)」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co
自己流AWSセキュリティインシデント発生時のMITRE ATT&CKの活用
# はじめに
2023年、最初のブログはAWSセキュリティについて書きます。MITRE ATT&CK(マイターアタック)という素晴らしいフレームワークには、非常に多くのナレッジが蓄積・公開されています。
パブリッククラウドサービスについても、各種クラウドごとにも纏められています。さまざまな活用方法があるとは思いますが、自分なりの使い方の一つを共有しておきたいと思います。
今回、紹介するのは、インシデント発生後の再発防止についてです。
# 手順の概要
インシデント発生後、再発防止策の検討の際には、攻撃内容をもとにセキュリティホールを埋める対応を行いますが、多くの場合、担当者の知識ベースで考察します。経験のあるエンジニアの場合、当初漏れてしまっていた対策も、この再発防止策を検討する際に気付けることが多いのですが、ここでMITRE ATT&CKと照らし合わせることで、攻撃者視点でのプロセスごとでの手順と対策を体系的に確認ができます。
また、他の対策に気付ける可能性もあります。MITRE ATT&CKでは、攻撃者が行うプロセスを14ステップのTactic(s)と呼びます。
【Route53】「ゾーンシフト」を活用してAZ障害からトラフィックを素早く回避させよう【ARC】
# はじめに
re:Invent2022にて、Route53のApplication Recovery Controller(ARC)の新機能として「ゾーンシフト(zonal shift)」が発表されました(プレビュー)。AZ障害発生時に、ELBへのトラフィックを問題のあるAZからルーティングを回避させることが出来る優れものです。https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-route-53-application-recovery-controller-zonal-shift/
# Route53 Application Recovery Controllerとは
– Route53のARCは以下の3つの機能を提供
– 準備状況チェック
– リソースの準備状況を監視します
– ルーティング制御
– **マルチリージョン**アプリケーションのフェイルオーバーのためにトラフィックを再ルーティング
– ゾーンシフト
– **マルチAZ**
AWS CodeCommit の HTTPS Git 認証情報を生成
# 事前知識
https://qiita.com/ryome/items/efd37c3a49b54859ba68
https://qiita.com/ryome/items/ff2804be600cd5dcd61a
# AWS IAMアカウントの作成
1. IAMコンソールを開く。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/0452b1ab-89c9-1fe9-80b3-ac9896c60514.png)
2. ユーザーの詳細を開く。
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/ef8d1a25-08d4-2387-a8aa-bd6828c1235f.png)
3. 認証情報の `認証情報を生成` を押下する。
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44986
AWS IAMアカウントの作成とaws configureの設定
# 事前知識
https://qiita.com/ryome/items/efd37c3a49b54859ba68
# AWS IAMアカウントの作成
1. IAMコンソールを開く。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/5c21b837-848f-4a7c-192f-f1013e3a8c88.png)
2. `ユーザ追加` を押下する。
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/e08e94e8-185b-ccc3-ad10-439033ae28ef.png)
3. `ユーザー名` を入力し、`アクセスキー・プログラムによるアクセス` にチェックを付ける。
4. `アクセス権限` を押下する。
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/c8214
Amazon GuardDuty RDS Protectionについて調べてみた
# はじめに
re:Invent 2022のリリースの中でGuardDutyの新機能としてRDS Protectionが発表されました(プレビュー)。GuardDutyはEC2やS3、VPCフローログ、DNSログ、CloudTrail管理ログなどを継続的にモニタリングする事で悪意あるアクティビティを調査してくれる脅威検知サービスです。https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-guardduty-rds-protection-preview/
今回のリリースではそのモニタリング対象としてRDSが追加されたという内容になります。まだプレビューでGAはされていませんが、具体的に何をしてくれるものなのかを再確認する意味も含めて調べてみようと思い、その記録として書いていきます。
# RDS Protectionがしてくれること
– AuroraDBインスタンスへの**ログインアクティビティの監視**
– 疑わしいアクティビティの検出(不正アクセスなど)
– 侵害された可能性のあるDBインスタンスに関するレポー
DynamoDB: 属性が動的なアイテムでの、既存アイテムの更新方法の検討
# 背景
DynamoDB のデータ更新時に、データのマージをしたかったので、方法を調査してみた# 結論
とりあえず、以下2つの案が出来たけど・・なんだかなぁ‥という状況。
なんかもっと良い方法がありそうなんだが・・1. [Update したい 属性に応じて、更新式を構成する](#updatecommandinput-をproperty-により-onoff-切り替える)
– 更新式の構成自体が面倒
1. [現状item を Get で取得して、マージ後に、Put で上書き](#getcommand-で既存データ取得してmerge-してから-put)
– Get でデータ取得が先に必要で、その分の処理が無駄・・。# 試行
## PutCommand では、上書きされるので、使えない
Document にあるように・・”completely replace” されます。試しにやってみたけど、完全に新しくなりました。
> Creates a new item, or replaces an old item with a new item. **If an
TerraformでAWSのIAMまわりをデプロイする
Terraformシリーズ第3弾ということで実際にどうコーディングしていくか、というのを書いていきたいと思います。まずは**IAM**から。そんなもん「Terraform Registry」見ればいいやんというツッコミが入らないよう、実際に環境を作っていて気になったポイントとかを交えつつ書いていきます:sparkles:
※過去の記事はこちら
第一弾:[TerraformでAWSリソースをデプロイしてみる](https://qiita.com/hiyanger/items/ca337f70ad4801072850)
第二弾:[TerraformでAWS環境をデプロイする前に認識しておくべきこと(tfstate.tf / providor.tf / output.tf / ディレクトリ構造)](https://qiita.com/hiyanger/items/9efdc570e6cfed5aab13)## IAMポリシー
“`
resource “aws_iam_policy” “ポリシー名” {
name = “ポリシー名”
path = “
AWS Application Composer を試す
# 初めに
AWS Application Composerとは、AWSのアーキテクチャをグラフィカルに構築できるサービスです。(2022/12 時点でプレビュー)
主にサーバレスアーキテクチャを視覚的に構築できます。詳しくは以下を参照。
https://aws.amazon.com/jp/application-composer/
# 試してみる
S3にオブジェクトがputされたことを検知し、Lambdaを実行する仕組みを作ってみます。
![application_composer.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/675893/2cabc8ca-64ff-b883-019a-394a23c19f2f.png)([S3のイベント通知設定][link-1]でLambdaを宛先にすることでLambdaを実行することもできるのですが、EventBridgeを挟んでいます。)
## プロジェクトの作成
マネコンから「AWS Application Composer」へアクセスし、
【AWS Lambda】Python外部ライブラリのimportにおけるUnable to import module ‘lambda_function’エラーの対処方法
# 概要
外部ライブラリを`import`したときに以下のエラーが発生した場合に**Layerを追加**して対応する
“`json:Response
{
“errorMessage”: “Unable to import module ‘lambda_function’: No module named ‘ライブラリ名'”,
“errorType”: “Runtime.ImportModuleError”,
“requestId”: “リクエストID”,
“stackTrace”: []
}
“`# 対応手順
### エラーが発生する例
今回は例として、`requests`ライブラリを`import`する以下のスクリプトをLambdaで実行するとエラーが発生する
“`python:lambda_function.py
import requestsdef lambda_handler(event, context):
res = requests.get(‘https://example.com’)
body = ‘s
Amazon Redshiftのカーソル制限/トランザクション/データ型など気になった点
# はじめに
Amazon Redshiftについて、自分が気になった部分を書き出してみました。# カーソルの制限
DECLAREの説明にあるとおり、カーソルに制限があります。https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/declare.html
> * 1 つのセッションで、同時に開くことができるカーソルは 1 つのみです。
1セッション1カーソルです。
ODBCを使って複数カーソルを使って処理しているアプリケーションは、接続先がRedshiftの場合だけカーソル操作を直列になるようにする必要があるようです。> * すべてのカーソルの累積結果セットの最大サイズは、クラスターノードタイプに基づいて制限されます。より大きな結果セットが必要な場合は、XL または 8XL ノード構成にサイズ変更できます。
> 詳細については、「カーソルの制約」を参照してください。1セッション1カーソルなので、「すべてのカーソル」というのは「すべての**セッション**のカーソル」ですね。
# トランザクション分離
「SERI