AWS関連のことを調べてみた

AWS関連のことを調べてみた

AWS DBS-C01 Database Specialty 合格奮闘記

# 調子に乗ってもう一個認定試験受ける
https://qiita.com/kazumatsukazu/items/b016a48843d4e4c38f0f

無事にSolution Architect取れたのでこれで仕事探してもいいかなと思ったのですが、せっかく長年SQLで頑張ってるので、Database周りの資格も欲しくなっちゃいました。
なのでこちら受けます
# DBS-C01 Database Specialty

https://aws.amazon.com/jp/certification/certified-database-specialty/?ch=sec&sec=rmg&d=1

Analyticsと迷ったのですが、どうやら廃止されて新しい資格できるみたいですね

https://aws.amazon.com/jp/certification/certified-data-engineer-associate/

こういう場合って、現在Analyticsの資格を持っている人は再認定など、資格を延長することはできないのでしょうか?
あとで調べてみたいと思います。

#

元記事を表示

API Gatewayの耐障害性を考える

# はじめに
この記事はDevOps on AWS大全の一部です。
DevOps on AWS大全の一覧は[こちら](https://qiita.com/tech4anyone/items/b06f88035d27c6ef13b2)。

この記事ではAPI Gatewayを耐障害性の観点から超詳細解説しています。

具体的には以下流れで説明します。

– API Gatewayとは
– API Gatewayを更新するときのダウンタイム
– API Gatewayのスケーラビリティ

AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。

# この記事を読んでほしい人
– API Gatewayを採用するときのベストプラクティスを説明できるようになりたい人
– API Gatewayの耐障害性に不安を感じている人
– AWS Certified DevOps Engineer Professionalを目指している人

# API Gatewayとは
AWS API Gatewayは、簡単

元記事を表示

【aws system manager】クラウドウォッチログとアラート設定

## クラウドウォッチログの概要と活用シナリオ
awsについて初心者エンジニアに向けて、awsのシステムマネージャー(aws systems manager、以下ssm)を使ったクラウドウォッチログとアラート設定について解説します。

### クラウドウォッチログとは
クラウドウォッチログは、awsのリソースの情報やアプリケーションのログを収集するためのサービスです。これにより、アプリケーションの問題や障害の追跡、運用監視などを効果的に行うことができます。

### クラウドウォッチログの活用シナリオ
クラウドウォッチログは、以下のような活用シナリオで利用されます。

1. ログのトラブルシューティング: システムやアプリケーションの問題を特定し、ログを調査して原因を追跡するために使用されます。
2. パフォーマンスの監視: amazon ec2などのリソースのパフォーマンスを監視し、リソースの利用状況や負荷を把握するために使用されます。
3. セキュリティの監視: セキュリティに関連するイベントやログを監視し、セキュリティ侵害の検知や対策を行うために使用されます。

以上のような活用

元記事を表示

【aws system manager】構成管理とドリフト検出

## aws system manager】構成管理とドリフト検出

こんにちは。今回は、awsについて初心者エンジニアに向けて、aws system managerを使用した構成管理とドリフト検出について解説します。

## 構成管理の重要性とベストプラクティス

構成管理とは、システムやアプリケーションの設定やリソースの管理を一元化し、管理者が状態の追跡や変更の履歴を把握できるようにすることです。aws system managerは、構成管理のためのサービスであり、ドリフト検出も含まれています。

構成管理の重要性は、以下のような理由から言えます。
1. 変更の追跡: システムやアプリケーションの構成が変更された場合、それが問題の原因である可能性があります。構成管理を行うことで、変更の追跡が容易になります。
2. リソースの可視性: システムの構成が把握できれば、リソースの可視性が高まり、適切な管理が可能になります。
3. セキュリティ: 構成管理を行うことで、セキュリティ上の問題を特定し、修正することができます。

構成管理のベストプラクティスには、以下のようなものがあります。

元記事を表示

k8sをオンプレで構築する場合

# 概要
## k8sを一つの`EC2`(オンプレ)に構築する場合(会社の開発環境構築など)
– 例) Aさんは`dev1.xxx`、Bさんは`dev2.xxx`を利用してください

### 簡単手順
1. `golang`、`Docker`と[`k8s`](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)をダウンロードし、手順に沿ってインストールすること
– [`cri-dockerd`](https://github.com/Mirantis/cri-dockerd)をインストールすること
– ダウンロード直後にノードが`NotReady`とk8sの状況で`DNS`が動作されてないので[`Calico`](https://docs.tigera.io/calico/latest/getting-started/kubernetes/quickstart)をインストールすること
– `kubeadm`を初期化する段階で`–cri-soc

元記事を表示

CDKで既存のS3バケットを管理する

## 概要
最近AWS CDKで環境構築する機会がありました。
その際に既存のS3バケットをCDKの管理下におく方法を調査したので共有させていただきます。
なお、今回は`cdk import`を使用して既存リソースをインポートしていきます。

## 準備
まず、CDKのプロジェクトを作成します。
“`bash
mkdir cdk-import-bucket && cd cdk-import-bucket

cdk init sample-app -l typescript
“`
`lib/cdk-import-bucket-stack.ts`を確認すると、`SNS`や`SQS`のリソースを作成する記述があるので削除しておきます。
“`typescript
import { Stack, StackProps } from ‘aws-cdk-lib’;
import { Construct } from ‘constructs’;

export class CdkImportBucketStack extends Stack {
constructor(scope: Cons

元記事を表示

バケットポリシーに本気なS3標準テンプレートのご紹介

# はじめに
AWSのS3は、オブジェクトストレージサービスとして広く利用されていますが、設定ミスや誤操作によって情報漏洩のリスクにさらされることがあります。この記事では、S3の情報漏洩を防ぐために、リソースベースポリシーを使ったS3標準テンプレートをご紹介します。

[Security-JAWS【第31回】勉強会](https://s-jaws.doorkeeper.jp/events/165371)で発表したセッション、「S3の情報漏洩からデータを守るには?CloudFormationで作るS3標準テンプレートのご紹介」の内容を記事化したものです。

セッション資料はこちら

# リソースベースポリシーとは
IAMポリシーとして設定できる対象のひとつです。

– アイデンティティベースポリシー
IAMユーザー

元記事を表示

CodeWhispererのCLI補完

zshの自動補完で先月[新たな発見](https://qiita.com/itsuki3/items/8fa6c666e068bb3b1cd7)をしたばかりだが、re:Inventが近づく中、AWS CodeWhispererで似たような && オシャレな機能が追加されたので試してみた。

https://aws.amazon.com/jp/about-aws/whats-new/2023/11/amazon-codewhisperer-command-line-preview/

## Step by Step
#### 1. まずはインストール
自分の環境はmacなので以下から

https://desktop-release.codewhisperer.us-east-1.amazonaws.com/latest/CodeWhisperer.dmg

#### 2. アプリケーションフォルダにコピー

#### 3. システム設定で **「プライバシーとセキュリティ→アクセシビリティ→CodeWhisperer」** を有効化

#### 4. ターミナルを再起動
※自分の場合は

元記事を表示

StepFunctions Map実行時の権限設定について

# はじめに

StepFunctionsのMapフローを使って、csvやS3オブジェクトを並列でいてレートすることができます。その際のStepFunctionsの権限設定がやや独特に感じたのでメモしておきます。

# 結論

Mapフローを使う場合は、ステートマシンのロールに`states:StartExecution`の権限を付ける必要がある。

# 経緯

まず、下記のようなステートマシンを用意します。
S3バケット内にあるcsvファイルをMapでイテレートします。

今回はcsvに対する処理は関係ないので、Mapの中身はPassとします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2703223/a8428cb7-c58c-af96-afec-288dac30a961.png)

CSVの中身は↓を用意しました。
“`
id,name
1,Alice
2,Bob
3,Charlie
4,David
5,Eva
6,Fiona
7,George
8,Hannah
9,Ian

元記事を表示

AWS責任共有モデル

# 背景
こちら[^2]を受講したところ、なんだっけこれ?といったものが案外散見された。その中のひとつが責任共有モデルだったので、本記事で整理する。

# 責任共有モデル[^1]
コース[^2]では以下の図を暗記しましょうと言っていた。EC2などのIaaSのサービスを考えれば当然なことを言っているような気もする。

![スクリーンショット 2023-11-20 191855.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3137982/15f3e6b9-92c2-c8db-6b65-c008f673b85f.png)

AWS利用者(我々AWSユーザーが以下について責任を持たなければいけない)
– データ
– 当然S3やDBに入れるデータはAWSが感知するわけもないのでこちらで責任を持つ
– プラットフォーム、アプリケーション、IDとアクセス管理
– プラットフォーム:
– アプリケーション: こちらで作るものなのだか

元記事を表示

【開発環境向け】NATインスタンスを利用して費用を削減する

## 1.はじめに
以下記事に感化され、

[開発環境のNAT GatewayをNAT InstanceにしてAWS利用費を削減した話](https://dev.classmethod.jp/articles/cost-cut-by-nat-instance/)

確かに、開発環境や学習用環境はNAT GatewayをNAT Instanceに代えたらAWS利用費を削減できそう!
と思い手順を検証してみました。

某C社様のブログにはいつもお世話になっております。

あと、公式ドキュメントの手順で簡単にできるだろうと思っていたら
案外、躓くポイントがありました。

NATインスタンスとは?

* NATインスタンスの基本
AWS公式ドキュメント:[NAT インスタンス](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_NAT_Instance.html)
* NAT インスタンスにはインターネットアクセスが必要
* パブリックサブネットに存在し、パブリック IP アドレスまたは El

元記事を表示

AWS ソリューションアーキテクトアソシエイト(SAA-C03)合格体験記(更新)(2023/11)

## はじめに
2023/10の[DVA](https://qiita.com/Shibuya_K/items/3c0a0a8d450853791168)に続き、SAAを受験しました。
3年前に取得しているので今回は更新になります。
ちなみに前回は何の手応えのないまま受験してギリギリ合格(756点)でした。。
(辛かった記憶しか残ってない)

## まずは結果から
838点で合格しました!
今回は問題集を2種類使ったこともあり、当日の試験では(私にしては珍しく)手応えを感じました。

## 試験の傾向
与えられた条件(可用性や俊敏性やコストなど)でどのサービスを組み合わせて構築するか?的な問いが多かったです。
各サービスやタイプの特徴を理解して、使い分けできるような理解が必要と思います。

例えば、ストレージの種類(EBS,EFS,S3)、オンプレとの連携方法、Storage Gatewayのタイプ、Kinesis、SNS,SQS、CloudFront,GlobalAccelerator・・・などなど

## 学習方法
### WEB問題集
– CloudLicense

https

元記事を表示

S/4 HANA 2023インストールしてみた(S/4 HANA編)

前回はHANA DATABASEのインストールを実施しました。
https://qiita.com/goyamamo/items/4d298497d5f67935c326
引き続きS/4 HANAのインストールを実施していきます。

### OS設定
下記に従い推奨のOS設定をします。
SAP Note
①2772999 – Red Hat Enterprise Linux 8.x: インストールと構成
https://launchpad.support.sap.com/#/notes/2772999
AWSドキュメント
②Configure Operating System – RHEL for SAP 7.x, 8.x, and 9.x
https://docs.aws.amazon.com/ja_jp/sap/latest/sap-hana/operating-system-and-storage-configuration.html#configure-operating-system-rhel-for-sap-7.x

### ソフトウェアダウンロード
メンテナンスプラン

元記事を表示

amazon comprehendをPHPで動かす

## はじめに
個人開発しているwebアプリで機械学習による自然言語処理を使った機能を実装するため、phpから[amazon comprehend](https://docs.aws.amazon.com/ja_jp/comprehend/)を使えるようにしましたが、なかなか苦戦したのでやり方を残しておきます。

## 対象者
– amazon comprehendを外部からweb apiのように使いたい人

## 結論
phpから感情分析が行えるようになりました
“`php:example.php
‘ap-northeast-1’,
‘version’ => ‘latest’
]);

$result = $client->detectSentiment([
‘LanguageCode’ => ‘ja’, // REQU

元記事を表示

AWS Lambdaの耐障害性を考える

# はじめに
この記事はDevOps on AWS大全の一部です。
DevOps on AWS大全の一覧は[こちら](https://qiita.com/tech4anyone/items/b06f88035d27c6ef13b2)。

この記事ではAWS Lambdaを耐障害性の観点から超詳細解説しています。

具体的には以下流れで説明します。

– AWS Lambdaをリリースするときのダウンタイム
– AWS Lambdaのスケーラビリティ
– AWS Lambdaの永続ストレージ

AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。

# この記事を読んでほしい人
– AWS Lambdaを採用するときのベストプラクティスを説明できるようになりたい人
– AWS Lambdaの耐障害性に不安を感じている人
– AWS Certified DevOps Engineer Professionalを目指している人

# AWS Lambdaをリリースするときのダウンタイム
AWS La

元記事を表示

【AWS】EC2にログインしてからの環境構築(SpringBoot + MySQL)

どうも、puchankoです。
AWSの学習をしようと思い、まずは基本的な構成でVPC内にEC2とRDSを置いて、自分で作ったSpringBootアプリケーションを動かしてみようとすると、なかなか上手くいかず、予想外のところでつまずいたポイントが色々あったので備忘録として残す。

# 記事の構成
| 項番 | ページ内リンク |
|:—-:|:————-|
| 0 | [はじめに](#0-はじめに) |
| 1 | [最初の設定](#1-最初の設定) |
| 2 | [メモリ領域の割り当て](#2-メモリ領域の割り当て) |
| 3 | [Javaのインストール](#3-Javaのインストール) |
| 4 | [Apacheのインストール](#4-Apacheのインストール) |
| 5 | [Tomcatのインストール](#5-Tomcatのインストール) |
| 6 | [MySQLのインストール](#6-MySQLのインストール) |
| 7 | [Javaプログラムを実行する](#7-Javaプログラムを実行する) |
| 8 | [参考記事](#8-参考

元記事を表示

【供養】Datadog AWS Integration × Terraform で sts:AssumeRole の罠に詰まった

罠ではなく、ただの視野狭窄
謎に詰まったので供養として

# 前提
Terraform 1.5.4
aws provider 5.2
data dog provider 3.32

# 結論だけ
datadogのAWS`arn:aws:iam::464622532012:root`は日本では利用不可
`arn:aws:iam::417141415827:root`を指定すること

# なにがおこったか

公式のブログのようにTerraformを構成した

providerは日本なのでそのあたりだけいれて、後は環境変数に入れています

“`terraform:provider.tf

terraform {
required_version = “1.5.4”
required_providers {
aws = {
source = “hashicorp/aws”
version = “5.20.0”
}
datadog = {
source = “DataDog/datadog”
}
}
}

pr

元記事を表示

Node18でLambdaからDynamoDBにデータを登録する関数を作ろうとしたら思ったより深い罠にかかった話。

## 前置き
業務で、「LambdaでJsonのデータをもとにDynamoDBにデータを投入する関数を作る」というタスクをいただきました。過去のQiita記事やインターネットの記事を参考にしましたが、どれもうまくいかず…
詳しく調べてみるとNode18ではインターネットに転がっている従来のソースではうまく動作しないことが多いようです。
そこで、本記事では私と同じ問題で躓いている方をお助けできるよう、また、自分の備忘録として、記事として残そうと思います。

## 結論
結論だけ見たい方、時間がない方向け。
シンプルなサンプルソースとサンプルJSONが以下となります。

#### サンプルソース
“`mjs:index.mjs

import { DynamoDBClient } from “@aws-sdk/client-dynamodb”
import { DynamoDBDocumentClient, PutCommand } from “@aws-sdk/client-dynamodb”;

export const handler = async (event) => {

元記事を表示

【AWS】CloudWatchLogsサブスクリプションフィルタ+Lambdaによるログデータの確認

# 目次

1. [はじめに](#はじめに)
1. [CloudWatchLogsサブスクリプションフィルタとは](#Chapter1)
1. [Lambdaでパラメータを受け取る](#Lambdaでパラメータを受け取る)
1. [改善してほしいところ](#改善してほしい点)



# はじめに
WindowsServer内でバッチファイルを実行し、その処理結果(ログ)に基づいて成功・失敗通知を行いたかったのですが、Lambda呼び出しのとこでいきなり躓いたので備忘録としてまとめました。

(EventBridge+Lambdaの構成と同じようにLambdaハンドラーのEventから取り出せばいいだろうと思っていたらちょっと違った…)


# CloudWatchLogsサブスクリプションフィルタとは
CloudWatchLogsに指定した文字列が記録されたら特定のアクションを実行させるようなトリガーを設定できる機能で

元記事を表示

AWS SSO × CodeCommit の認証設定

# はじめに
AWS の CodeCommit を使用してソース管理をしていますが、CodeCommitとGitの設定情報に関して基礎から理解できていなかったため、改めて調べたことを備忘録として残します。恐らく初学者向けです。

# 概要

– git config
– AWS CLI に関するファイル
– ~/.aws/config
– ~/.aws/credentials
– プロファイルの設定
– git config の認証情報に AWSのプロファイルを設定
– 元々やりたかったこと
– 実際に起きていたこと
– 補足

# git config

git config は Gitの設定を行うためのコマンドになり、ここで設定した内容は `.gitconfig` ファイルに保存されます。

例えば、`git config user.email`と実行し、メールアドレス`user@mail.com`を入力すると、

“`.gitconfig
[user]
email = user@mail.com
“`
というように設定されます。

また、設定さ

元記事を表示

OTHERカテゴリの最新記事