AWS関連のことを調べてみた2023年09月28日

AWS関連のことを調べてみた2023年09月28日

CodeCommitを使用した開発におけるGit操作(Part1)

## はじめに

AWS CodeCommitを使用した開発では、Gitコマンドによる操作を頻繁に行います。ですが、私も含めGit初学者の方は、なんとな〜くコマンドを叩いている方も多いのではないでしょうか?

そこで本記事では、開発の流れに沿ったGitコマンドの使い方を解説していきます。

今回想定している開発の流れは大まかに以下の通りで、この流れの中で登場するGitコマンドについて紹介していきたいと思います。なお、以下の流れではGitのブランチ機能を使用した運用方法であるGit-flowを活用した開発を前提としています。

“`mermaid
graph TB
Start([CodeCommitにリポジトリを作成])–>B([リポジトリのクローン])
B–>C([ブランチを切る])
C–>D([コードの編集])
D–>E([ステージング])
E–>F([コミット])
F–>G([プッシュ])
G–>H([プルリクエスト])
H–>I([マージ])
“`

※本記事の内容は、2023年9月時点のものです。AWS CLIやGitのバージ

元記事を表示

Amazon Security LakeはSIEMを変えるか?

![DJI_20221129_093011_75.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288030/bbb591f0-f552-2b92-21de-aa84458e6149.jpeg)
re:Invent 2022でのAmazon Security Lake発表時
# はじめに
2022年のAWS re:Inventにて発表され、5月にGAとなった「[Amazon Security Lake](https://aws.amazon.com/jp/about-aws/whats-new/2023/06/amazon-security-lake-general-availability/)」についての投稿です。
re:Invent発表当時からSIEM用途だよね、という程度で見ていましたが今更ながら試してみたいことが出てきたため頭の整理を兼ねて。

# 肥大化したSyslogを抱えて
私が社会人になった当時のセキュリティログは今思えば実に穏やかなもの。
Checkpoint社Firewall-1の

元記事を表示

ChatGPTに料理のレシピ・サムネイル画像を作成してもらうアプリを作ってみた

## はじめに

画像生成AIと、ChatGPTを組み合わせたアプリを作ってみたくて、
料理の画像+レシピの生成Webアプリを開発しました。

https://chatgpt-cooking-assistant.mss-rep.com

あまりデザインは凝っていません
特にレスポンシブ対応は甘いです

レスポンスは早くないですが、ご自由に遊んでください~!
(画像生成のクレジットが枯渇したら動かなくなりますが、ご容赦ください)

## 技術スタック・構成

元記事を表示

AWS LambdaからOCIリソースのAPI操作(Secrets Managerを使用)

## 概要
AWS Lambdaを使ってOCIリソースのAPI操作(Computeの開始操作)を行いました。
サーバレスにすることによってEventbridge等を使った時刻起動やイベント起動等でOCIリソース操作可能になります。
また、OCI資格情報をSecret Managerを使用することによって資格情報をコード外に保存しています。

EC2を使った操作はこちらを参照ください。
[AWS環境からOCIリソースのAPI操作(Secrets Managerを使用)](https://qiita.com/tktk2712/items/26217b46d767569212d9)

## 構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730992/cf52fbe0-f463-4b04-d47d-3c176496890c.png)

## 設定手順

* OCI資格情報をSecrets Managerへ配置
以下の手順については[AWS環境からOCIリソースのAPI操作(Secrets

元記事を表示

【AWS CF】エラー「 Unable to update task definition on services with a CODE_DEPLOY deployment controller」の原因

# 概要
AWS CloudformationでECSのblue/greenデプロイを構築中、サービスの中身を更新したら`Unable to update task definition…`というエラーになりました。原因を備忘録として残しておきます。

# エラー内容

`DesiredCount`(希望するタスク数)を変更したく、`Parameters`で定義した`TaskDeployNumWeb`の数値を`0`から`1`に変えて実行しました。
(マネコンからいじってもいいですが、保守性を高めるためにCF更新で行おうと思ったため)

しかし、Cloudformation実行後、以下のエラーになりました。

“`
Resource handler returned message: “Invalid request provided: UpdateService error: Unable to update task definition on services with a CODE_DEPLOY deployment controller. Use AWS CodeDepl

元記事を表示

AWS認定 デベロッパーアソシエイト 受験記録

# まずは結果

無事合格。
感覚としては少しギリギリかと思ったが、80%ほどの正答率だったようだ。(合格ラインは720/1000)

# なぜチャレンジしたのか
業務の中でAWSを使っているので、自己研鑽のために。
また、他のアソシエイトレベルの認定資格であるソリューションアーキテクト、SysOpsアドミニストレーターについては取得済みであるため、残りのデベロッパーにも挑戦したいという気持ちからである。
https://pages.awscloud.com/jp-traincert-certification-challenge-associate-2023-terms-and-conditions.html

# 受験前のAWSスキル
業務でAWSを利用している。期間としては1年半くらい。
ただし主に担当しているのがインフラの構築と運用であり、AWS環境での開発というのはほとんど経験がない。
また、前述したとおり同じくアソシエイトレベルのAWS資格はすでに取得済みである。

# 勉強方法について

参考書を読む → ひたすら問題集を解く。
[ポケットスタディ AWS認定 デベロッパ

元記事を表示

サーバーレス開発に関するセミナーを受講しました

# 受講するきっかけ
現在業務ではAWSインフラの構築を担当している。
基本的に構築するのはサーバー+DBという構成だが、今後クラウドネイティブな環境構築を求められるたとき、サーバーレスというのは欠かせない知識になるだろう。
その知識をつけるためにセミナーを受講する。

# API GatewayによるAPIの提供

##### 実現できること
・基幹APIへの安全なアクセス
・スモールスタート
・既存設備との疎結合な連携
・運用省力化
・APIポータル、カタログの構築
・API管理のルール整備を急ぐ

以下は構成図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1282600/76686d1a-1bfc-d456-cce2-7f722e8e9842.png)

##### サーバーレス利用で変わること
・アプリ部⾨主導でAWS のコントロールが可能
・サーバー、仮想マシンのメンテナンス(セキュリティパッチ等)の負荷軽減
・スモールスタートで必要な部分のみの調達がしやすい

#####

元記事を表示

AWS認定 SysOpsアドミニストレーター アソシエイト 受験記録

# まずは結果

無事合格。
大体80%くらいの正答率だったっぽい。

# なぜチャレンジしたのか
業務の中でAWSを使っているので、自己研鑽のために。
あとは去年ソリューションアーキテクトを取得してから期間があいたので、自己学習のモチベーションのために受験した。
https://pages.awscloud.com/jp-traincert-certification-challenge-associate-2023-terms-and-conditions.html

# 受験前のAWS関連スキル

業務でも取り扱っていることもありAWSインフラの構築はでき、サーバーやデータベースサービスは日ごろ取り扱っている。
ただそれだけだと十分ではなく、AWSには運用のサービスもたくさんある。それらの使い方もマスターしておかなければいけないだろうと考えていた。
また、実際に運用を行っている人との会話も増えてきているので、その人たちがどのようなことをやっているかについても知っておきたいという気持ち。

# 勉強方法について

基本的に参考書を読む → ひたすら問題集を解く。
参考書はずっとに

元記事を表示

Amazon CloudWatchについて語ってみた

# はじめに
 今回はAmazon Cloud Watchについて記載しますが、その前に「オブザーバビリティ」についてお話しさせてください。

# 1. オブザーバビリティとは?
 クラウドネイティブなアプリケーションを目指す場合、さまざまなマネージサービスを組み合わせて利用することになりますよね?
 各種サービスを組み合わせた分散システムとしての規模が大きくなると、障害が発生した際の原因や影響範囲の特定が難しくなり、迅速な原因特定と復旧に努めなければなりません。こんな経験ありませんか?

**「どこで何か起こっているのか、どうやって特定するのか?」:scream:**

このような問題に対処するために登場したのが、オブザーバビリティと呼ばれる概念です。
オブザーバビリティとは?
**「いつ、どこで、なにが起こっているのか、システムの状態を把握できる能力・状態」**

![2023-09-26 142809.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102468/18d49c8f-47e6-62e4

元記事を表示

Japan AWS Jr. Champion活動記録 Vol.4

## はじめに
8月は、Jr.Champions有志による自主勉強会とJr.Champions LTが開催されました。今回はその2つについて書いていきます。これからも活動に関して、定期的にアウトプットしていきます!

↓ 前回の記事はこちら ↓

https://qiita.com/am_i-12/items/e68a0d92afaa5e123c16

## Japan AWS Jr. Champion Partner Programとは
> [「Japan AWS Jr. Champion Partner Program」](https://aws.amazon.com/jp/blogs/psa/2023-aws-jr-champions/)とは、AWS Partner Network (APN) 参加企業に所属し、現在社会人歴 1 ~ 3 年目で AWS を積極的に学び、アクションを起こし、周囲に影響を与えている APN 若手エンジニアを選出しコミュニティを形成する、日本独自の表彰プログラムです。本プログラムでは、AWS に関して実践してきた技術的な挑戦や、コミュニティのリードなど

元記事を表示

DynamoDB の S3への増分エクスポートを試してみた

# 背景・目的
AWSが2023年9月26日に[Amazon DynamoDB(DDB)からAmazon S3(S3)へのインクリメンタルエクスポート機能を発表](https://aws.amazon.com/jp/about-aws/whats-new/2023/09/incremental-export-s3-amazon-dynamodb/)いたしました。この新機能により、どのようにデータ管理が変わるか、実際に手を動かしながら基本的な挙動を確認してみます。

# まとめ
– AWSの増分エクスポート機能により、挿入、更新、または削除されたデータを少量ずつエクスポートでき、数メガバイトからテラバイトのデータ範囲に対応しています。
– ポイントインタイムリカバリが有効なDDBテーブルが対象です。
– 指定した期間の増分データをS3バケットにエクスポートします。
– この機能はフルマネージドであり、DDBの容量を消費せず、定期的なデータ更新が容易になります。
– サポートされているデータ形式はDynamoDB JSONとAmazon Ionです。
– これにより、テーブル全体を毎回エ

元記事を表示

【Python】Switchbot Hub2の気温・湿度をCloudWatchに定期的に送信する【AWS Lamba】

季節の変わり目ということで、自宅の気温と湿度をCloudWatchに保存したくなりました。

そこで最小限の労力でPythonを書いて、Switchbot ハブ2の気温と湿度(とついでに照度)をCloudWatchに送信しようと思います。

さらにEventBridgeとLambdaで5分ごとに定期実行します。
![dashboard.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502255/ab3df0bc-b206-97f9-9ea0-509137916abb.png)

# GitHubリポジトリ

全てのソースコードを下記で公開しています。

https://github.com/tippy3/switchbot-hub2-custom-metrics

# #1 Switchbot API用のトークンを取得する

まずはコーディング前の準備です。

[公式サポートページ](https://support.switch-bot.com/hc/ja/articles/12822710195351

元記事を表示

初心者がChatGPT先生とWEB開発(IIS,Python,Athena,S3)その①

# 初めに

AIのお勉強のため、今までやってこなかったWEBシステム(中身スカスカの機能だけ)の開発をChatGPT先生に手ほどきしてもらって実施してみました。
せっかくなので覚えたてのAthenaも使ってみたい。
ということで以下構成を作ることが目標。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989873/9646c5a7-421f-d743-bbf2-aa0218690ed4.png)

長いのでまずはAthenaの設定とPythonサーバからAthenaを操作できるようにするところまでを①でやります。
次回②としてPythonサーバでAthenaを操作するところをアプリケーション化するのと、
IISサーバでHTMLを作成するところを実施します。

お詫び:
 タイトルでChatGPT先生を前面に出しているのに、
 S3データ格納とATHENAのデータベース・カラム作成はChatGPT先生のお力を借りずやっちゃってます。
 ご了承ください。

## ①データ格納

S3にバ

元記事を表示

GCP認定Professional Cloud Architect受験対策

# はじめに
取得してから1年経ちますが、これからProfessional Cloud Architectを受験する方のために要点をまとめました。
本記事を読んだだけで合格できる、ということを保証するものではありませんので、ご了承ください。

# もくじ
– Professional Cloud Architectについて
– 要点
– 勉強法
– まとめ

# Professional Cloud Architectについて
本資格では一般的なGoogle Cloudのアーキテクチャについて問われます。どのデータベースを使用するか、他のネットワークとどう接続するか、などの対象分野は広いですが、内容は浅い印象です。問題は50~60問の選択式であり、試験時間は2時間、受験費用は$200 (税別) です。本試験だけケーススタディ問題があり、試験に出題される可能性のあるケーススタディは試験ガイドに記載されています。
[試験ページ](https://cloud.google.com/learn/certification/cloud-architect?hl=ja)では、以下のことが評価される

元記事を表示

boto3 で S3 オブジェクトを mv, rename

別にどうということはないのだけど、あとで使いまわしそうなのでメモしておくやつ。

AWS CLI には `aws s3 mv` というコマンドがあるが、Amazon S3 そのものにはオブジェクトの Key の変更 (≒ 移動やリネーム) に相当する API が存在しないので、実際には CopyObject してから古い方を DeleteObject することになる。

Python で同様のことをしたい場合、boto3 の S3 Client には `aws s3 mv` 相当のメソッドは無いので、

“` python
def s3_move_object(s3, *, BucketFrom: str, BucketTo: str | None = None, KeyFrom: str, KeyTo: str):
if BucketTo is None:
BucketTo = BucketFrom
s3.copy_object(Bucket=BucketTo, Key=KeyTo, CopySource={“Bucket”: BucketFrom,

元記事を表示

M5StickCを使って外出先からお家のエアコンを操作(後編)

[前編](https://qiita.com/jonxjon/items/af698107047e91d6a56f)では、M5StickC・AWS IoT Core の設定をしました。
後編では、AWS Lambda・Amazon API Gateway・Slack API の部分を作っていきます。

# やりたいことのイメージ(再掲)
### イメージ図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/407204/09f587bb-a5e9-3103-bfdc-d7c728e6dc7e.png)

### 処理の流れ
1. Slack 上で Bot にメッセージを送る
1. Slack Bot が Amazon API Gateway が発行した API を叩く
1. Amazon API Gateway をトリガーにして、Lambda function が実行される
1. Lambda function が AWS IoT Core にメッセージを格納する(Publish する)
1

元記事を表示

ansibleについてのメモ

# 0. テスト環境

– テスト環境1 `Ubuntu 20.04`, `x86`

# 1. 導入
## ansibleとは何か

– IT機器の設定(構成)に関わる煩雑な作業を自動化できる
– 米Ansible社によって開発されましたが、Ansible社を買収したレッドハット社が開発・提供

## 注意点

– 対象機器が少ないシーンでは向いていない
– 間違ったときの影響範囲が大きい
– 複雑な処理に対応しにくい

## 活用事例

### A社

膨大なIT機器の棚卸しを手動で実施.(例.管理対象となるサーバーのOSや物理情報,ミドルウェアの情報等)

Ansibleの導入を進める.選定理由は導入のしやすさ.yaml形式で誰でも定義ファイルを作成できる.

棚卸しコストを50%軽減

### B社

大規模なシステムを3ヶ月という短納期で納入する必要に迫られた.手動では間に合わない.

Ansibleによる構成管理の自動化を採用.

Ansibleを導入したことでサーバー環境の設定作業が自動化され、大幅に工数を削減し作業を迅速にすすめられた上にコストも節約できた.

#

元記事を表示

API Gatewayとlambdaを使用してみる

## 目的
AWS Certified Developer – Associateの勉強をしている中で
理解が浅いサービスについて実際に使用してみます

今回はAPI GatewayとLambdaを使用して、リクエストを送れるまでをやってみます

## 手順
– Lambda関数の作成
– API Gatewayの設定

## Lambda関数の作成
**1. Lambdaのページに移動、左のメニューから関数を選択**
**2. 右上の関数の作成を選択**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1997750/f26b8a57-ac66-56fb-9ae7-e47d2e259681.png)

**3. 下の設定で作成(記載していないものはデフォルト設定です)**
関数の作成:一から作成
基本的な情報
関数名:test_lambda
ランタイム:Python

コードは作成時に用意されているサンプルをそのまま使用します

“`
import json

def lambda

元記事を表示

DynamoDBを使用してみる

## 目的
AWS Certified Developer – Associateの勉強をしている中で
理解が浅いサービスについて実際に使用してみます

DynamoDBの作成とデータ取得までをやってみます

## 手順
– DynamoDBの作成
– データ取得

## DynamoDBの作成
**1. DynamoDBのページに移動、左のメニューからテーブルを選択**
**2. テーブルの作成を選択**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1997750/4231f44f-2a66-b383-af43-e3e1ca7a36a1.png)

**3. テーブルを作成**
今回はパーティションキーのみのテーブルを作成します
テーブル名:test_book
パーティションキー:id
その他はデフォルト

### ざっくり用語解説
– パーティションキー
データが格納されるパーティションを決定するのために使用
– ソートキー
ソートのために使用
– プライマリキ

元記事を表示

AMIから起動したEC2のデフォルトユーザーでパスワード認証によるssh接続をする

# やりたいこと
パスワード認証を有効化し、デフォルトユーザー(RHEL8で実施するためec2-user)を使用して
パスワードによるssh接続をしたい。

EC2はAutoScalingで制御するため、AMIから起動する。

# デフォルト設定だとどうなるか
パスワード認証を有効化し、デフォルトユーザーのパスワードを変更した後にAMIを取得しても、
AMIから起動したEC2はパスワード認証が無効化され、デフォルトユーザーのパスワードはリセットされる。

# 対応策
**1. /etc/ssh/sshd_configでパスワード認証をno → yesにする。**
~~~
PasswordAuthentication yes
~~~
上記がパスワード認証を有効化する設定

**2. /etc/cloud/cloud.cfgでssh_pwauth:0(no) → 1(yes)にする。**
~~~
ssh_pwauth: 1
~~~
上記がEC2起動時にパスワード認証を自動的に有効化or無効化にする設定

**3. /etc/cloud/cloud.cfgでlock__passwd: tru

元記事を表示

OTHERカテゴリの最新記事